SQL*Net more data to dblink event for hours or days

Hello Everyone,
in our production database when we commit a transaction we call a remote procedure over dblink.
usually the call succeeds ,but every now and then a couple of sessions hang up,
when I use the session browser of Toad I notice that these sessions are waiting with the event SQL*Net more data to dblink
below are some queries and their results:
select sid,event,wait_class,wait_time,seconds_in_wait,state from gv$session_wait where sid=225
rslt:
225 SQL*Net more data to dblink Network -1 18279 WAITED SHORT TIME
select * from gv$session_wait_history where sid=225
rslt:
INST_ID     SID     SEQ#     EVENT#     EVENT     P1TEXT     P1     P2TEXT     P2     P3TEXT     P3     WAIT_TIME     WAIT_TIME_MICRO     TIME_SINCE_LAST_WAIT_MICRO
2     225     1     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8144          0     0     8     41
2     225     2     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8143          0     0     13     39
2     225     3     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8149          0     0     7     37
2     225     4     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8145          0     0     8     40
2     225     5     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8145          0     1     11394     37
2     225     6     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8143          0     0     7     37
2     225     7     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8145          0     0     7     36
2     225     8     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8138          0     0     8     37
2     225     9     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8149          0     0     8     38
2     225     10     344     SQL*Net more data to dblink     driver id     1413697536     #bytes     8149          0     1     11476     37I'm not sure but from the above results ,is it safe to conclude that I get stuck because I am caught in infinite loop trying to write to dblink?
additional notes:
<li>some times when I look at the current statement I find that the statement is a query or insert into a local table.
<li>there were some network outages.
<li>when viewing the database log files I found:Error 3135 trapped in 2PC on transaction 7.6.306086. Cleaning up.
Error stack returned to user:
ORA-03135: connection lost contact
ORA-02063: preceding line from MPF//where MPF is the name of dblinkeven though we use the DBLink to execute the procedure only without any changes on the remote DB, and we don't use 2PC.
<li> the local DB is a RAC
select * from dba_blockers
rslt:
no rows
select * from dba_waiters
rslt:
no rows
select * from gv$lock where sid=225
rslt:
INST_ID     ADDR     KADDR     SID     TYPE     ID1     ID2     LMODE     REQUEST     CTIME     BLOCK
2     0000000199D54F60     0000000199D54FB8     225     AE     100     0     4     0     20152     2
2     000000018EA18108     000000018EA18180     225     TX     1114138     251539     6     0     19654     2
select * from gv$session where sid=225
rslt:
INST_ID     SADDR     SID     SERIAL#     AUDSID     PADDR     USER#     USERNAME     COMMAND     OWNERID     TADDR     LOCKWAIT     STATUS     SERVER     SCHEMA#     SCHEMANAME     OSUSER     PROCESS     MACHINE     PORT     TERMINAL     PROGRAM     TYPE     SQL_ADDRESS     SQL_HASH_VALUE     SQL_ID     SQL_CHILD_NUMBER     SQL_EXEC_START     SQL_EXEC_ID     PREV_SQL_ADDR     PREV_HASH_VALUE     PREV_SQL_ID     PREV_CHILD_NUMBER     PREV_EXEC_START     PREV_EXEC_ID     PLSQL_ENTRY_OBJECT_ID     PLSQL_ENTRY_SUBPROGRAM_ID     PLSQL_OBJECT_ID     PLSQL_SUBPROGRAM_ID     MODULE     MODULE_HASH     ACTION     ACTION_HASH     CLIENT_INFO     FIXED_TABLE_SEQUENCE     ROW_WAIT_OBJ#     ROW_WAIT_FILE#     ROW_WAIT_BLOCK#     ROW_WAIT_ROW#     TOP_LEVEL_CALL#     LOGON_TIME     LAST_CALL_ET     PDML_ENABLED     FAILOVER_TYPE     FAILOVER_METHOD     FAILED_OVER     RESOURCE_CONSUMER_GROUP     PDML_STATUS     PDDL_STATUS     PQ_STATUS     CURRENT_QUEUE_DURATION     CLIENT_IDENTIFIER     BLOCKING_SESSION_STATUS     BLOCKING_INSTANCE     BLOCKING_SESSION     FINAL_BLOCKING_SESSION_STATUS     FINAL_BLOCKING_INSTANCE     FINAL_BLOCKING_SESSION     SEQ#     EVENT#     EVENT     P1TEXT     P1     P1RAW     P2TEXT     P2     P2RAW     P3TEXT     P3     P3RAW     WAIT_CLASS_ID     WAIT_CLASS#     WAIT_CLASS     WAIT_TIME     SECONDS_IN_WAIT     STATE     WAIT_TIME_MICRO     TIME_REMAINING_MICRO     TIME_SINCE_LAST_WAIT_MICRO     SERVICE_NAME     SQL_TRACE     SQL_TRACE_WAITS     SQL_TRACE_BINDS     SQL_TRACE_PLAN_STATS     SESSION_EDITION_ID     CREATOR_ADDR     CREATOR_SERIAL#     ECID
2     00000001993E4F58     225     445     1353611     0000000198E2FA10     198     <schema>     47     2147483644     000000018EA18108          ACTIVE     DEDICATED     198     <schema>     oracle     1234     <cluster name>     49993     unknown     JDBC Thin Client     USER     00000001968A1250     3198676106     72y8ztfzagv4a     2     02/04/2013 11:18:22 ص     33554852     00000001968A18E0     3992616824     03mm4u3qznzvs     0     02/04/2013 11:18:22 ص     33554730     158207     1     158207     1     JDBC Thin Client     2546894660          0          12206     122409     8     49354     0     94     02/04/2013 10:53:20 ص     19559     NO     NONE     NONE     NO          DISABLED     ENABLED     ENABLED     0          NOT IN WAIT               NOT IN WAIT               42844     344     SQL*Net more data to dblink     driver id     1413697536     0000000054435000     #bytes     8144     0000000000001FD0          0     00     2000153315     7     Network     -1     19553     WAITED SHORT TIME     8          19553325216     SYS$USERS     DISABLED     FALSE     FALSE     FIRST EXEC     100     0000000198E2FA10     2     004qLk^iPyp0bqw5wFDCiW0002fR000B^f

Hi ,
we managed to reproduce the case in test environment, below are the steps:
1)have 2 databases on different machines, will call the first one local, the other one remote.
2)in the local database create:
a - DBLink to remote database.
b - read data from remote database(we simply used select count(*) from dummy_table )
c - insert data into a table on the local database
d - terminate the connection between the 2 databases (disconnect either machine from the network)
e - commit on local database.
what we noticed was the following:
1)when the local database is disconnected from the network(the machine is not connected to any network at the moment): almost immediately throws an error, and issuing the following:
select * from dba_2pc_pending;we found some data .
2) when the remote database was disconnected(the local database is still connected to the network):
after 7-8 seconds an error is thrown, and issuing the following:
select * from dba_2pc_pending;did not return any data.
since this is pretty similar to our case ,we concluded that it's a network issue.
is this the correct behavior ?
as a temporary solution till the network issue is fixed ,we did the following:
1) changed the call of the remote procedure to calling a local procedure that calls the remote procedure.
2) added pragma autonomous_transaction to the local procedure.
3) at the end of the local procedure rollback the autonomous transaction.
it seems that since the global transaction does not use the DBLink database does not issue a 2PC commit.
this works in my cases since the DBLink is only issed to read data.

Similar Messages

  • Getting SQL*Net more data from client waits when running a query through web based interface

    Hi, you all,
    We are having this weird behavior when running query through web based interface, we get a lot of "SQL*Net more data from client" waits, the OEM indicates that the current wait event is SQL*Net more data from client
    It's just a very simple query wich invokes a db link.
    When I execute the same query on any PL/SQL tool like toad or sql developer it works fine, but that query inside an application executed through a web based interface, it hangs for ever.
    Where can I start looking for the problem.
    We are working on a 3 Node RAC 11gr2, both databases are on the same RAC.
    Thanks.

    Hi ,
    we managed to reproduce the case in test environment, below are the steps:
    1)have 2 databases on different machines, will call the first one local, the other one remote.
    2)in the local database create:
    a - DBLink to remote database.
    b - read data from remote database(we simply used select count(*) from dummy_table )
    c - insert data into a table on the local database
    d - terminate the connection between the 2 databases (disconnect either machine from the network)
    e - commit on local database.
    what we noticed was the following:
    1)when the local database is disconnected from the network(the machine is not connected to any network at the moment): almost immediately throws an error, and issuing the following:
    select * from dba_2pc_pending;we found some data .
    2) when the remote database was disconnected(the local database is still connected to the network):
    after 7-8 seconds an error is thrown, and issuing the following:
    select * from dba_2pc_pending;did not return any data.
    since this is pretty similar to our case ,we concluded that it's a network issue.
    is this the correct behavior ?
    as a temporary solution till the network issue is fixed ,we did the following:
    1) changed the call of the remote procedure to calling a local procedure that calls the remote procedure.
    2) added pragma autonomous_transaction to the local procedure.
    3) at the end of the local procedure rollback the autonomous transaction.
    it seems that since the global transaction does not use the DBLink database does not issue a 2PC commit.
    this works in my cases since the DBLink is only issed to read data.

  • How do I set a recurring event for the last day of the month on iphone 4s calendar?

    I want to set a recurring event for the last day of every month - regardless of the date/number of days in the month. I'd prefer not to have to use an app to do this.

    Hi,
    You can do this using the custom repeat in iCal. You'll need two events to cover the second and fourth Mondays.
    Create the event on the second Monday of the month. In Repeat select Custom... > Frequency: Monthly > On the: second Monday.
    Do the same for the Fourth Monday.
    Best wishes
    John M

  • How do you set repeat events for a given day of the week

    How do you set a repeat event in calender for a given day of the month.  Expample 3rd Wednesday each month?

    Have you read the app store guidelines yet?
    App Store Review Guidelines:
    http://developer.apple.com/appstore/resources/approval/guidelines.html
    Don't go on what you've seen in the store - for every example you spot, there are hundreds that didn't make it in.
    As well, Apple is tightening up on reviews, etc.
    Loads of discussion on this in the iOS Dev Forums, BTW

  • Dots (events) for every single day in calendar (NEW issue)

    Ever since I upgraded to FW 2.0 I have had "dots" appear in every single day of the calendar (symbolizing events) even though I have no events for those days.
    Now - I KNOW about the issue with the recurring/repeating events as well as events that "begin" after they "end." That said, I have checked EVERY single event I have in the phone and in the calendar in Outlook and NONE of the events are repeating/recurring and all of them are set up properly with correct start/end times.
    From my searching, the above seems to be what's commonly known to cause this problem. Those don't fit MY problem.
    The odd thing here is, if I go backward in the month view on the calendar on the phone to February, there are no dots. There are also no events. However, if I go to March on the month view in the calendar, every single day has dots (and continues). The really weird thing here is if you look at the calendar in the month view while it's on March, you can see the last week of February at the top. And in that last week, while in the "March" view, the last week of February ALL has dots. But again, if you move back to "February," all those dots that were there disappear.
    So...I'm at a loss now. I've wiped the events off the phone. Edited/pruned/etc. events in the Outlook calendar, and then re-synced with the order to overwrite that which is on the phone. Still no luck. Is this a glitch that needs to be corrected with new FW? Would a restore help? I just don't really know anymore..
    Thanks,
    John

    I am having the same issue. However, I am syncing my calendar to my work computer and the issue presented itself when I upgraded to Office 2007 from 2003. I have since removed Office '07 and did a restore to my iphone which cleared the issue. Then did a sync again to Office 2003 and the issue re-appeared. Not sure if '07 added something to my calendar that is hidden but it is very frustrating.

  • Can i set a repeating event for every 5 days?

    Can a repeating event be set on the iPhone 5S running IOS 7.0x for an interval of less than a week but more than a day?

    ■ Easiest method, if you allow firefox to tabs you used then on restarting I believe it also retains the zoom settings
    * '''Tools -> Options -> General -> Startup = use current pages'''
    ■ There are also extensions that can be used, some allow individual sites to have individual settings. Look at the [http://support.mozilla.com/en-US/questions/772884 this thread] which also discusses related matters.
    ■ The best method if you need the same effest accross all sites is probably changing one of the preferences within the config files, it is discussed in the above linked thread and also in this MozzillaZine article http://kb.mozillazine.org/Layout.css.dpi

  • About wait SQL*Net

    Hi;
    I have huge wait for SQL*Net more data from dblink,Anyone has idea why this parameters rise? And how i can decrease it?
    Thanks alot

    hi,
    ckeck these links it might be useful for you...
    [http://download.oracle.com/docs/cd/B10501_01/server.920/a96536/apa5.htm]
    [http://74.125.153.132/search?q=cache:y-wXM02DSCoJ:nocoug.org/download/2006-08/unit7_sqlnet.ppt+huge+wait+for+SQL*Net+more+data+from+dblink+in+oracle&cd=1&hl=en&ct=clnk&gl=in]
    regards,
    Deepak

  • SQL Net Problem

    I am trying to connect from an Oracle client 9i-V1 to an Oracle server 8i-V3 over the internet and through MS ISA Firwall , tnsping is working correctly and returing latency as between 250 and 330 M/Second.
    When trying to connect using SQL+ I get ORA-12535 despite that I have adjusted the CONNECT_TIMEOUT on the listener and reloaded it , I have adjusted the parameter to 0 but still getting the error.
    We are running Oracle Apps 11i from the same location using the same internet line and its working at a remarkable speed , also all the required ports are opened and secured on the firewall.
    Could you advise something.

    These two waits in your statspack report:
    SQL*Net more data from dblink
    SQL*Net message from dblink
    refer to a database link. (A connection between this database and another database.)
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14237/waitevents003.htm#sthref4564
    It looks like a lot if the time during that snapshot was consumed waiting for data over the database link.
    It looks like that would be the place to look for improvements.
    The SQL*Net more data to client wait was only a tiny percentage.

  • JDBC, SQL*Net wait interface, performance degradation on 10g vs. 9i

    Hi All,
    I came across performance issue that I think results from mis-configuration of something between Oracle and JDBC. The logic of my system executes 12 threads in java. Each thread performs simple 'select a,b,c...f from table_xyz' on different tables. (so I have 12 different tables with cardinality from 3 to 48 millions and one working thread per table).
    In each thread I'm creating result set that is explicitly marked as forward_only, transaction is set read only, fetch size is set to 100000 records. Java logic processes records in standard while(rs.next()) {...} loop.
    I'm experiencing performance degradation between execution on Oracle 9i and Oracle 10g of the same java code, on the same machine, on the same data. The difference is enormous, 9i execution takes 26 hours while 10g execution takes 39 hours.
    I have collected statspack for 9i and awr report for 10g. Below I've enclosed top wait events for 9i and 10g
    ===== 9i ===================
    Avg
    Total Wait wait Waits
    Event Waits Timeouts Time (s) (ms) /txn
    db file sequential read 22,939,988 0 6,240 0 0.7
    control file parallel write 6,152 0 296 48 0.0
    SQL*Net more data to client 2,877,154 0 280 0 0.1
    db file scattered read 26,842 0 91 3 0.0
    log file parallel write 3,528 0 83 23 0.0
    latch free 94,845 0 50 1 0.0
    process startup 93 0 5 50 0.0
    log file sync 34 0 2 46 0.0
    log file switch completion 2 0 0 215 0.0
    db file single write 9 0 0 33 0.0
    control file sequential read 4,912 0 0 0 0.0
    wait list latch free 15 0 0 12 0.0
    LGWR wait for redo copy 84 0 0 1 0.0
    log file single write 2 0 0 18 0.0
    async disk IO 263 0 0 0 0.0
    direct path read 2,058 0 0 0 0.0
    slave TJ process wait 1 1 0 12 0.0
    ===== 10g ==================
    Avg
    %Time Total Wait wait Waits
    Event Waits -outs Time (s) (ms) /txn
    db file scattered read 268,314 .0 2,776 10 0.0
    SQL*Net message to client 278,082,276 .0 813 0 7.1
    io done 20,715 .0 457 22 0.0
    control file parallel write 10,971 .0 336 31 0.0
    db file parallel write 15,904 .0 294 18 0.0
    db file sequential read 66,266 .0 257 4 0.0
    log file parallel write 3,510 .0 145 41 0.0
    SQL*Net more data to client 2,221,521 .0 102 0 0.1
    SGA: allocation forcing comp 2,489 99.9 27 11 0.0
    log file sync 564 .0 23 41 0.0
    os thread startup 176 4.0 19 106 0.0
    latch: shared pool 372 .0 11 29 0.0
    latch: library cache 537 .0 5 10 0.0
    rdbms ipc reply 57 .0 3 49 0.0
    log file switch completion 5 40.0 3 552 0.0
    latch free 4,141 .0 2 0 0.0
    I put full blame for the slowdown on SQL*Net message to client wait event. All I could find about this event is that it is a network related problem. I assume it would be true if database and client were on different machines.. However in my case they are on them very same machine.
    I'd be very very grateful if someone could point me in the right direction, i.e. give a hint what statistics should I analyze further? what might cause this event to appear? why probable cause (that is said be outside db) affects only 10g instance?
    Thanks in advance,
    Rafi.

    Hi Steven,
    Thanks for the input. It's a fact that I did not gather statistics on my tables. My understanding is that statistics are useful for queries more complex than simple select * from table_xxx. In my case tables don't have indexes. There's no filtering condition as well. Full table scan is what I actually want as all software logic is inside the java code.
    Explain plans are as follows:
    ======= 10g ================================
    PLAN_TABLE_OUTPUT
    Plan hash value: 1141003974
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 259 | 2 (0)| 00:00:01 |
    | 1 | TABLE ACCESS FULL| xxx | 1 | 259 | 2 (0)| 00:00:01 |
    In sqlplus I get:
    SQL> set autotrace traceonly explain statistics;
    SQL> select * from xxx;
    36184384 rows selected.
    Elapsed: 00:38:44.35
    Execution Plan
    Plan hash value: 1141003974
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 259 | 2 (0)| 00:00:01 |
    | 1 | TABLE ACCESS FULL| xxx | 1 | 259 | 2 (0)| 00:00:01 |
    Statistics
    1 recursive calls
    0 db block gets
    3339240 consistent gets
    981517 physical reads
    116 redo size
    26535700 bytes received via SQL*Net from client
    2412294 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    36184384 rows processed
    ======= 9i =================================
    PLAN_TABLE_OUTPUT
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | | | |
    | 1 | TABLE ACCESS FULL | xxx | | | |
    Note: rule based optimization
    In sqlplus I get:
    SQL> set autotrace traceonly explain statistics;
    SQL> select * from xxx;
    36184384 rows selected.
    Elapsed: 00:17:43.06
    Execution Plan
    0 SELECT STATEMENT Optimizer=CHOOSE
    1 0 TABLE ACCESS (FULL) OF 'xxx'
    Statistics
    0 recursive calls
    1 db block gets
    3306118 consistent gets
    957515 physical reads
    100 redo size
    23659424 bytes sent via SQL*Net to client
    26535867 bytes received via SQL*Net from client
    2412294 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    36184384 rows processed
    Thanks for pointing me difference in table scans. I infer that 9i is doing single-block full table scan (db file sequential read) while 10g is using multi-block full table scan (db file scattered read).
    I now have theory that 9i is faster because sequential reads use continuous buffer space while scattered reads use discontinuous buffer space. Since I'm accessing data 'row by row' in jdbc 10g might have an overhead in providing data from discontinuous buffer space. This overhead shows itself as SQL*Net message to client wait. Is that making any sense?
    Is there any way I could force 10g (i.e. with hint) to use sequential reads instead of scattered reads for full table scan?
    I'll experiment with FTS tuning in 10g by enabling automatic multi-block reads tuning (i.e. db_file_multiblock_read_count=0 instead of 32 as it is now). I'll also check if response time improves after statistics are gathered.
    Please advice if you have any other ideas.
    Thanks & regards,
    Rafi.

  • High SQL*Net message values in trace file.

    Hi all,
    This is my first post here. I will try to more less describe the problem i am facing.
    Any help is more than welcome!
    I am facing some performance issues with application. Slow GUI. I run some tests, i tracked the session. what i found in trace file is:
    OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
    call     count       cpu    elapsed       disk      query    current        rows
    Parse     1734     1.61   1.61             0            0            0              0
    Execute   1734   32.52  32.56           0           26          15             4
    Fetch     1737     14.46  14.51           2        41867        84          2847
    total     5205     48.59   48.69            2        41893        99          2851
    Misses in library cache during parse: 7
    Misses in library cache during execute: 5
    Elapsed times include waiting on following events:
      Event waited on                             Times       Max. Wait     Total Waited
      ----------------------------------------           Waited       ----------            ------------
      SQL*Net message to client            5207           0.00               0.02
      SQL*Net message from client        5206          106.18             339.72
      log file sync                                    3               0.00               0.00
      SQL*Net more data to client            51              0.00               0.00
      SQL*Net more data from client        10              0.00               0.00
      Disk file operations I/O                    1               0.00               0.00
      db file sequential read                     2               0.00               0.01
      library cache: mutex X                    1               0.05               0.05
    Look at Max. Wait and Total Waited columns. Is it possible to safely tune it by changing SDU in sql*net ? and if so, is it needed to change the SDU value on client and server sides ?

    66ff73bb-87bd-4c84-bada-0141fb25344b wrote:
    Hi all,
    This is my first post here. I will try to more less describe the problem i am facing.
    Any help is more than welcome!
    I am facing some performance issues with application. Slow GUI. I run some tests, i tracked the session. what i found in trace file is:
    OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
    call     count       cpu    elapsed       disk      query    current        rows
    Parse     1734     1.61   1.61             0            0            0              0
    Execute   1734   32.52  32.56           0           26          15             4
    Fetch     1737     14.46  14.51           2        41867        84          2847
    total     5205     48.59   48.69            2        41893        99          2851
    Misses in library cache during parse: 7
    Misses in library cache during execute: 5
    Elapsed times include waiting on following events:
      Event waited on                             Times       Max. Wait     Total Waited
      ----------------------------------------           Waited       ----------            ------------
      SQL*Net message to client            5207           0.00               0.02
      SQL*Net message from client        5206          106.18             339.72
      log file sync                                    3               0.00               0.00
      SQL*Net more data to client            51              0.00               0.00
      SQL*Net more data from client        10              0.00               0.00
      Disk file operations I/O                    1               0.00               0.00
      db file sequential read                     2               0.00               0.01
      library cache: mutex X                    1               0.05               0.05
    Look at Max. Wait and Total Waited columns. Is it possible to safely tune it by changing SDU in sql*net ? and if so, is it needed to change the SDU value on client and server sides ?
    When you start with the wrong question, no matter how good an answer you get, it won't matter very much.
    you do NOT have any problem; just a useless observation.

  • SQL*NET waits in trace file

    Hi All,
    There is a long running query, i generated trace file for this request. In trace file i found that there are huge waits on SQL*Net message from client
    The below is the trace file output:
    Elapsed times include waiting on following events:
    Event waited on Times Waited Max. Wait Total Waited
    SQL*Net message to client 16 0.00 0.00
    SQL*Net more data to client 17 0.00 0.00
    db file sequential read 1450 0.02 4.26
    SQL*Net message from client 16 1414.20 2702.84
    How to resolve this waits from SQL*NET message from client? I checked the network connection, there is no delays in network.
    Any inputs on this issue will be appreciated.

    As Satish indicated, the "SQL*Net message from client" wait is an event which indicates that the database server was waiting for the next request from the client computer, and not an indication that the query needs to be tuned. Manually review the trace file. At one point in the trace file, you will see this wait event with an ela= value which begins with 14142 - please post to this thread that line from the trace file along with the 20 lines before that line and the 20 lines after that line. You may just have a long wait on this event at the beginning, and another long wait on this event at the end of the query.
    Charles Hooper
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.

  • Oracle - Informatica transfer speed fetch size and SQL*Net message from c

    Hi,
    I'm testing how fast informatica can take data from our 10.2.0.3 and using large (140GB 1 200 000 000 rows) table as source and doing simple
    select * from large_table .
    Here goes quite interesting wait time analyze :) .
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        0      0.00       0.00          0          0          0           0
    Execute      0      0.00       0.00          0          0          0           0
    Fetch   186994    131.84     198.25     127545     314167          0    25431184
    total   186994    131.84     198.25     127545     314167          0    25431184
    Misses in library cache during parse: 0
    Parsing user id: 400
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      db file scattered read                       9122        0.33         64.71
      SQL*Net more data to client                529327        0.00          8.34
      SQL*Net message from client                186994        0.21        478.74
      SQL*Net message to client                  186994        0.00          0.30
      db file sequential read                       145        0.01          0.49
      gc cr multi block request                    6998        0.01          6.30
      gc current grant 2-way                          9        0.00          0.00
      gc cr grant 2-way                              67        0.00          0.03The interesting part is ' SQL*Net message from client 186994 0.21 478.74'
    so looks like from Informaticka point of view (client side) is lagging 478 sec , so its lagging .
    Doing some math 25431184/186994 = 136 .
    Could You share with me Your experience in that matter ?
    Looks like to speed up I need to :
    1. increase fetch size (not sure how to do that).
    2. increase SDU client and probably server side .
    Network is 100Mbit ethernet so about 10MBytes per second .
    Regards
    GregG

    Have you solve your problem ?
    If yes I'm strongly interest by the solution.
    If you have a question of issue create your own thread and provide the particulars of your use case. This thread is year old.
    OP likely did NOT have any problem. As OP stated the max throughput for a 100 Mbit network is about 10 MB per second. So do the math for moving 140 GB and you will see that the network itself will be the limiting factor.

  • A killed session is still waiting for "library cache lock" for hours

    Hello everybody
    Today on my environment I killed a session while compiling a procedure that was taking too much time. Now, after more than a couple of hours that session is still there waiting for "library cache lock". I really can't understand why it's taking that much. Can anyone give me some hints about this. I already read the docs to find something to explain this case but I haven't been able to find the source of this lock.
    Down here I past a description of what that procedure has been doing.
    Processing ...
    SELECT saddr, SID, command,taddr,lockwait,status,action
    FROM v$session
    WHERE SID = 636
    Query finished, retrieving results...
          SADDR      SID     COMMAND         TADDR      LOCKWAIT   STATUS              ACTION
    C00000023C7A2438     636        24 C000000238FB1650          KILLED   Main session      
    1 row(s) retrieved
    Processing ...
    SELECT *
    FROM v$session_wait
    WHERE SID = 636
    Query finished, retrieving results...
    SID SEQ# EVENT               P1TEXT         P1                   P1RAW            P2TEXT       P2                   P2RAW            P3TEXT             P3  P3RAW            WAIT_CLASS_ID  WAIT_CLASS#   WAIT_CLASS   WAIT_TIME SECONDS_IN_WAIT  STATE
    636 247  library cache lock  handle address 13835058063333980008 C0000001DFECF768 lock address 13835058064378433728 C00000021E2E10C0 100*mode+namespace 301 000000000000012D 3875070507     4             Concurrency  38        6089            WAITED KNOWN TIME
    1 row(s) retrieved
    Processing ...
    select *
    from v$session_event
    where sid = 636
    Query finished, retrieving results...
    SID EVENT                         TOTAL_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT MAX_WAIT TIME_WAITED_MICRO   EVENT_ID WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS
    636 db file sequential read                 3              0           4          1,5        3             44994 2652584166    1740759767           8  User I/O  
    636 library cache lock                     58             57       16737       288,56      293         167366653  916468430    3875070507           4  Concurrency
    636 SQL*Net message to client              94              0           0            0        0                46 2067390145    2000153315           7  Network   
    636 SQL*Net more data to client            25              0           0            0        0               294  554161347    2000153315           7  Network   
    636 SQL*Net message from client            94              0        2848         30,3     2246          28480966 1421975091    2723168908           6  Idle      
    636 SQL*Net more data from client          28              0           0         0,02        0              4471 3530226808    2000153315           7  Network   
    636 SQL*Net break/reset to client           2              0           0         0,01        0               194 1963888671    4217450380           1  Application
    7 row(s) retrieved                            Thanks
    Bye Alessandro
    Edited by: Alessandro Rossi on 11-nov-2008 11.37

    Alessandro Rossi wrote:
    At the end I decided to kill the server process and now everything goes fine. i don't know why but the problem seems associated to the client application used to compile the procedure, because every time the developer tried to compile it using plslqldeveloper 7.14 through "edit-procedure" from his host the behavior was always like I just described before while the compilation of that procedure with other tools or from other hosts runs just fine.
    Actually I haven't been able to find the reason for this, there was no view, among the ones I queried, telling me who was holding the resources, other than the blocked session, and it seems very hard that such a behavior may depend on the client tool used.
    Thanks anywayAlessandro,
    you may want to check the settings of this particular PL/SQL Developer installation. If I remember correctly then there are several settings in PL/SQL Developer related to how the tool connects to the database and compiles objects, e.g. "Safe compilation (using temporary compilation object)", "Background compilation", "Multi-Session" support etc. that might lead to situations where the tool could block itself for instance.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • SQL*Net Client for Oracle 8i/9i ?

    Hi..All,
    Where do I download just the SQL*NET client for ORacle 8i/9i. ?
    Regards

    I have the same question: is there a stand-alone
    installer for SQL*Net?No.
    >
    I need this for a Windows 2003 Server x64 platform.
    The link provided just goes to the client, which is
    far too large to transfer over my VPN connection to
    a remote host.The alternative is the 'instant client'. You MIGHT be able to use that.

  • WINDOWS 용 SQL*NET V1 사용 시 ORA-6136 조치 방법

    제품 : SQL*NET
    작성날짜 : 1995-11-07
    WINDOWS 용 SQL*NET V1 사용 시 ORA-6136 조치 방법
    ===============================================
    Client and Server 환경에서 간혹 SQL*NET으로 Server에 접속하려고 할 때,
    ORA-6136 Error가 발생하면서 Unix Server에서 $tcpctl stop 으로 orasrv의
    Process를 정지시키려고 해도 아무런 반응없이 Holding되는 경우가 발생하면서
    다음과 같은 메서지가 나타납니다.
    06136, 00000, "NETTCP: error during connection handshake"
    // *Cause:  Network I/O failure occurred while communicating with the
    // host's SQL*Net TCP/IP server.
    //     See the SQL*Net TCP/IP server log file for more details.
    // *Action: Contact your customer support representative.
    상기의 에러가 나타날 경우에는 아래와 같은 방법으로 orasrv를 기동시키십시오.
    1. TCPCTL Utility를 이용하여 다음의 Option을 부여하여 Start하는 방법.
    $tcpctl start listen=30 timeout=30 forkon
    listen=<queue size>이며, 청취자 열의 크기를 지정.
    timeout=<seconds>이며, 지정된 시간에 orasrv와의 응답 확인 시간을 나타냄.
    forkon SQL*net이 orasrv process에 접근하는 방법을 나타냄.
    System에 따라서 forkon option이 적용 않되는 경우도 있음.
    2. Client에서 접속을 하여 사용하다가 비정상 종료(Session이 맺어진 상태에서
    Client의 Power Off)를 하여 Server에 Processor가 남아 있고, orasrv를 통해
    접속할 수 있는 Session의 수가 점점 줄어들 경우가 있는 데 이러한 경우에는
    orasrv를(tcpctl stop or UNIX kill command를 이용)강제로 종료하시고 다음과
    같이 Start 시켜 주십시오.
    #nohup tcpctl start ( Client의 비정상 종료가 Orasrv에는 영향을 미치지 않음)
    또는
    #orasrv (ORACLE_HOME\bin directory에서 직접 orasrv processor를 띄운다)

Maybe you are looking for

  • Getting error message when trying to open Office

    Hi, I did try to search for this problem, but couldn't find it.... Just today, I tried to open a word doc in Mac Office 2008, and I kept getting an error message... I get the same error message if I try to open up anything in Office... I get the erro

  • P.O.Printing - Header level to Item level -reg

    Dear Friends, We are having P.O.print at header level not item level.Because of this,if a P.O.has different items we are unable to maintain different delivery dates.If at all different dely.dates are there while P.O.printout we are getting the follow

  • How to stream the content of a buffer[] via RTP?

    Hi, I have a buffer[] Objekt with encapsulates my Audiodata. I now have to make a DataSource out of my Buffer Object so that I can stream it via an RTP Manager. How to do it? regards einherjar

  • Copying OS 10.4 to new hard drive

    The hard drive on my G5 failed while it was still under warranty. I was running OS 10.3.9 and when the Apple store installed a new hard drive, they installed 10.4 on it, but I had no disks for it. I subsequently upgraded many of my other software pro

  • Late 2013 Retina MacBook Pro 15" uneven illumination alongside top edge

    I have just bought the new retina MacBook Pro 15" and have experienced some uneven illumination alongside top edge of the screen. I took it to the Apple store and they offered me a replacement. I thought, sweet! However, the new machine seems to be e