Wait events, SQL * Net message from client

Hi all

I have a doubt about oracle wait events, specifically of "SQL * Net message from client. I've read a lot about this, I've seen some say that network and other material resources can provoke him, and saw that the problems in the application code can cause it too. I am tracking a few tests here and I don't have that chooses are the double event, usually a lot of SQL * Net message to client waiting (I used sqlplus, developer sql and pl/sql). Can someone explain to me why? Another question is where this wait type cause interference, meet it demand for the database and stays on hold and do not meet another request so that the wait is over, is it? The waiting just finish when the application closes the database connection or there is another way to end the waiting?

Since then, thank you very much.

Hello

chooses double what usually causes a lot of SQL * Net message to client waiting

Do you run them from your server applications or from the DB server itself?

"SQL * Net client message" is an idle wait event although he'd still explain to the elapsed time of the query.

It indicates only that the database is waiting for the other entries of the customer and when he expects the DB, those expectations get incremented.

I suggest you explore size SDU, RECV_BUF_SIZE, and SEND_BUF_SIZE parameters.

http://docs.Oracle.com/CD/B19306_01/network.102/b14212/performance.htm

Kind regards

Suntrupth

Tags: Database

Similar Questions

  • Wait for the event begins with SQL * Net message from client-time wait 178577 units

    Hello

    I'm watching events waiting for a request from long time in TOAD.
    I start the query on an instance of TOAD, and open the browser to log on to another instance.
    But I am surprised to see that in "TOtal expected" on the RIGHT part->
    SQL * Net message from client is the longest time and is already - > 178577 units while I just to start the query.

    Considering that, in the current waiting she shows DB file scattered read correctly for a few seconds.

    Please suggest.

    user8941550 wrote:
    Hello. No explanation for this... :-(

    Hello

    people work here, you don't know?
    I think Tom Kyte explains it well enough. This wait event is linked to your session database waiting for the guest to say to do something.

    So it is not related to the database, but to your application.
    Also as it is a wait of session event you might have had your session inactive for some time (do nothing)

    If you want to check the waiting events correctly I suggest using tkprof and start a new session in SQL more as shown by Tom Kyte in the link I posted.

    Then, run your query in sqlplus setting track and pull it out as soon as your statement is completed.
    that is to say:

    -- myest.sql
    alter session set events '10046 trace name context forever, level 12';
    SELECT ... -- your query here
    exit
    

    Run in sqlplus in this way:

    sqlplus user/password@db @mytest.sql
    

    Then check with tkprof.

    Kind regards.
    Al

  • SQL * Net message from client

    Hi all

    I have a session that runs longer than usual. Instead of filling in 20 minutes, he was running for about 2 hours.

    Initial review of show expected that the session was waiting on this SQL * Net client message for a piece of time.

    The session state was idle, while the State changed pending work very frequently.

    I had activated track and found the bottom of the entries in the trace file.

    EXEC #11529215044976967776:c = 0, e = 1944, p = 0, cr = 11, cu = 3, set = 0, r = 0, dep = 0, og = 1, plh is 2651636916, tim = 2309884016239

    #11529215044976967776 ERROR: err = 54 tim = 2309884016520


    TKProf reports the following

    TOTALS FOR ALL NON RECURSIVE INSTRUCTIONS

    call the query of disc elapsed to cpu count current lines

    ------- ------  -------- ---------- ---------- ---------- ----------  ----------

    Parse        0      0.00       0.00          0          0          0           0

    Run the 884 1.47 1.42 2660 9724 0 0

    Fetch        0      0.00       0.00          0          0          0           0

    ------- ------  -------- ---------- ---------- ---------- ----------  ----------

    884 total 1.47 1.42 2660 9724 0 0

    I need to know what is meant by the error line in the trace file?

    We use oracle EBS 11i with 11 GR 2 db. This session belongs to a simultaneous request



    Oracle - ORA-00054: resource busy and acquire with NOWAIT specified or expired timeout - Stack Overflow

    -------------

    Sybrand Bakker

    Senior Oracle DBA

  • Several alter session and SQL * Net message from dblink in APEX

    Hello

    I have Apex 4.2.3 and I use Glassfish more listener of the Apex.

    Database is 11.2.0.4 under linux

    Looking for the session active database, I see that apex run several alter session with a lot of expectation as SQL * Net message from dblink the.

    Ex:

    ALTER session set NLS_TERRITORY = "AMERICA."

    call the query of disc elapsed to cpu count current lines

    ------- ------  -------- ---------- ---------- ---------- ----------  ----------

    Parse 58 0.00 0.00 0 0 0 0

    Run 58 0.06 3.53 267 58 0 0

    Fetch        0      0.00       0.00          0          0          0           0

    ------- ------  -------- ---------- ---------- ---------- ----------  ----------

    Total 116 0.06 3.53 267 58 0 0

    Chess in the library during parsing cache: 0

    The analysis of the user id: 277 (recursive depth: 1).

    Elapsed time are waiting on the following events:

    Event waited on times max wait for the Total WHEREAS

    ----------------------------------------   Waited  ----------  ------------

    SQL * Net message to dblink 174 0.00 0.00

    SQL * Net message from dblink 174 3.47 0.03

    ********************************************************************************


    Why he is doing a lot to change session? Why the wait is SQL * Net message from dblink the?

    We have recently to load a new language, but I'm not sure that this is the main problem.



    I think that you have the link db in the workspace schema and data requested by the Apex of this link. For example, it may be

    report which uses db link. Check dba_db_links or user_db_links for the existing links. Check if this link used by Apex.

  • Fact ' SQL * Net client message' indicate that the network is not good?

    The report below 10046 trace, I have just issued a query to extract all records from a table with about 400 K records, but it took more than 3 minutes to recover all data.
    Most of the time when waiting for SQL * Net message from client.
    This indicates that the network is not good?


    SQL ID: d84ta7m8h6wg2
    Plan of Hash: 3635621446
    Select * from XXXXXXXXXXXXXXXXX


    call the query of disc elapsed to cpu count current lines
    Parse 1 0.00 0.00 0 0 0 0
    Run 1 0.00 0.00 0 0 0 0
    Fetch 855 0.88 0.10 0 7912 0 426721
    Total 857 0.10-0.88 0 7912 0 426721

    Chess in the library during parsing cache: 0
    Optimizer mode: ALL_ROWS
    The analysis of the user id: 123

    Rows Row Source operation
    426721 TABLE ACCESS FULL XXXXXXXXXXXXXXX (cr = 7912 pr = 0 pw = time 0 = 467817 u)
    s cost = 1847 size = map 46080540 = 415140)


    Elapsed time are waiting on the following events:
    Event waited on times expected maximum wait the Total WHEREAS

    SQL * Net message to client 856 0.00 0.00
    SQL * Net client message 856 3.71 179.63
    Disk file I/O 1 operations 0.00 0.00
    SQL * Net more data to the client 5224 0.37 0.46

    Published by: NathanielNie on January 24, 2013 16:40

    Run you the same Oracle_Home SQL and Server query as the ETL engine? (Want to use the same libraries and host and network such as ETL).

    The large data sets in ETL can be assembled with network optimization. Some of it is on the physical network layer (for example having a dedicated private network or a switched network between the ETL and the DB server), some of them can be found on the configuration settings (arraysize, configuring TCP settings to the OS layer, etc.) or libraries (for example JDBC libraries). Some of them may simply be patches to fix bugs!

    Hemant K Collette

  • DB related links wait event

    Dear Sir

    In one of my db, I use db link to generate the report for a different database. The db in which we use the dblink to remote databases; the following wait events are showed continuous:

    PX Deq Credit: send blkd

    PX Deq: Execution Msg

    SQL * Net message from client

    They indicate any problem? How can we get rid of it?

    Kind regards

    Hello

    What should worry, to this end, I have sguuest read you link below.

    http://www.Oracle.com/technetwork/database/bi-Datawarehousing/TWP-parallel-execution-fundamentals-133639.PDF

    As the default value for sufficient, depends on place on many factors as optimizer, which can not sometimes be enough when set to default values, cpu, memory, data, resources.

    Concerning

    Jihane Narain Sylca

  • What are the following wait events? Someone can it translate into the details?

    What are the following wait events? Someone can it translate into the details?
    PX Deq: Example table Q
    PX Deq Credit: send blkd
    PX Deq: Join AC
    PX Deq: Signal ACK
    PX Deq: Fragment of Msg
    direct path read
    PX qref latch
    SQL> select event,total_waits,time_waited,wait_class from v$system_event order by total_waits;
    EVENT                          TOTAL_WAITS TIME_WAITED WAIT_CLASS
    ------------------------------ ----------- ----------- --------------------
    db file scattered read             9333287     2471813 User I/O
    *PX Deq: Table Q Sample            11401065    43684227 Idle*
    *PX Deq Credit: send blkd          13798394    25448649 Other*
    SQL*Net message from client       20767011  1179217392 Idle
    SQL*Net message to client         20767019        2618 Network
    *PX Deq: Join ACK                  23735308     1022426 Idle*
    *PX Deq: Parse Reply               24882798     1278726 Idle*
    rdbms ipc message                 25223968  2147012652 Idle
    *PX Deq: Signal ACK                26615286    27873560 Other*
    cursor: mutex X                   26745289       52071 Concurrency
    *PX Deq: Msg Fragment              43670924    78219774 Idle*
    
    EVENT                          TOTAL_WAITS TIME_WAITED WAIT_CLASS
    ------------------------------ ----------- ----------- --------------------
    PX Idle Wait                      68927042  4364594403 Idle
    PX Deq: Execute Reply             88498025     4326377 Idle
    PX Deq: Execution Msg            823922687   792964190 Idle
    *direct path read                1274423531     7242769 User I/O*
    *PX qref latch                   2.3745E+11    49638018 Other*
    
    122 rows selected.

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14237/waitevents.htm#i968375

  • IPC vs SQL * Net connection

    Hi all

    My database is currently running on windows 2008 EE 10.2.0.4 (with all service packs). On the same machine, I have several workers (implemented as a windows service) written in c# .net using the latest drivers ODP.NET.
    To improve performance, I use PKI connection so that the TCP stack (which is used in the sqlnet connections "regularly") is shorted. I confirmed that ICP is actually currently in use:

    H4. Journal of the listener
    13-NOV-2009 03:01:34 * (CONNECT_DATA=(SERVER=DEDICATED)(SID=orclwin)(CID=(PROGRAM=C:\Simulation\Agent.exe)(HOST=WIN2008EE)(USER=LOCAL?SERVICE))) * (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)) * establish * orclwin * 0
    13-NOV-2009 03:01:34 * (CONNECT_DATA=(SERVER=DEDICATED)(SID=orclwin)(CID=(PROGRAM=C:\Simulation\Agent.exe)(HOST=WIN2008EE)(USER=LOCAL?SERVICE))) * (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)) * establish * orclwin * 0
    13-NOV-2009 03:01:34 * (CONNECT_DATA=(SERVER=DEDICATED)(SID=orclwin)(CID=(PROGRAM=C:\Simulation\Agent.exe)(HOST=WIN2008EE)(USER=LOCAL?SERVICE))) * (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)) * establish * orclwin * 0
    13-NOV-2009 03:01:35 * (CONNECT_DATA=(SERVER=DEDICATED)(SID=orclwin)(CID=(PROGRAM=C:\Simulation\Agent.exe)(HOST=WIN2008EE)(USER=LOCAL?SERVICE))) * (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)) * establish * orclwin * 0
    13-NOV-2009 03:01:35 * (CONNECT_DATA=(SERVER=DEDICATED)(SID=orclwin)(CID=(PROGRAM=C:\Simulation\Agent.exe)(HOST=WIN2008EE)(USER=LOCAL?SERVICE))) * (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)) * establish * orclwin * 0
    13-NOV-2009 03:01:35 * (CONNECT_DATA=(SERVER=DEDICATED)(SID=orclwin)(CID=(PROGRAM=C:\Simulation\Agent.exe)(HOST=WIN2008EE)(USER=LOCAL?SERVICE))) * (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)) * establish * orclwin * 0
    13-NOV-2009 03:01:35 * (CONNECT_DATA=(SERVER=DEDICATED)(SID=orclwin)(CID=(PROGRAM=C:\Simulation\Agent.exe)(HOST=WIN2008EE)(USER=LOCAL?SERVICE))) * (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)) * establish * orclwin * 0
    13-NOV-2009 03:01:35 * (CONNECT_DATA=(SERVER=DEDICATED)(SID=orclwin)(CID=(PROGRAM=C:\Simulation\Agent.exe)(HOST=WIN2008EE)(USER=LOCAL?SERVICE))) * (ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)) * establish * orclwin * 0
    However, when I look at the awr report I see sqlnet expected on top:

    H4. AWR waits Albums
    Top 5 Timed Events                                         Avg %Total
    ~~~~~~~~~~~~~~~~~~                                        wait   Call
    Event                                 Waits    Time (s)   (ms)   Time Wait Class
    ------------------------------ ------------ ----------- ------ ------ ----------
    SQL*Net message to client         3,014,783   5,086,969   1687 ######    Network
    SQL*Net more data to client       1,712,644   2,441,249   1425 ######    Network
    log file sync                       695,446      75,297    108 ######     Commit
    log file parallel write             679,437      33,288     49  916.9 System I/O
    db file parallel write               49,057      22,149    452  610.1 System I/O
    I read the ticket of Taner Poder [http://blog.tanelpoder.com/2008/02/07/sqlnet-message-to-client-wait-gotcha/] about SQNet message to the customer
    and his other observations on the SQLNet more data to the client [http://blog.tanelpoder.com/2008/02/10/sqlnet-message-to-client-vs-sqlnet-more-data-to-client/]
    to get the best understanding of them.

    The question is why observe specific SQLNet connection is when you use IPC connections?

    I enjoy all the comments.
    Thank you
    Rafal.

    Oh yes - one comment more.

    So that the server process indicate if the wait is over TCP/IP or IPC, he needs to know the mechanism of transport used.

    It is very likely that the wait event is registered by the server process when it is calling its send() data to the client API. As he calls the send(), it records that the current wait state. He has no idea what the underlying code uses as a transport mechanism. In server code and client, the transport layer is one of the lower layers. So earlier in the application code, you don't know what is the actual transport (remember that Oracle also support, or has supported, other layers of communication such as Lu6.2).

    So the application layer, you deal with the transport layer as a bit of a black box. In the Oracle terminology, this is called SQL * Net layer. And may be something that implements the transport layer.

    So, this is why it is dangerous to make assumptions that pending top-level State indicates what a low level wait state is.

  • Lock on a table and SQL * Net more data from client

    Hello

    I have a problem loading data through Php in Oracle: web page of Php open an xml file, create a .csv, then begins to Oracle using an external table to process the data.

    The problem is that, the second time that PHP is trying to run the following query:

    INSERT INTO table1 T (Field1, Field2, field3, field4, sphere5, case field6) VALUES ('Aaa1E63819707', SYSDATE, 'KO', 'error', 'L', 'file_name.xml') POLL INTO Field1: id

    on the Oracle sessions, I have an exclusive lock on table1 and wait for SQL * Net more data from client.

    Where is the problem?

    Thank you

    Igor

    Finally I found the problem: a DBA changed the cursor sharing EXACT force! I restored the CORRECT setting and now everything is fine.

    Thank you

    Bye,.

    Igor

  • SQL * Net more data from client wait event

    Hi all

    DB 11.2.0.2

    AIX 6

    I get two events of high expectation of the AWR report page

    (1) SQL * Net more data from client

    synchronization of log files 2)

    Need advice to the configuration of the hardware and network latency?

    What should I do for the first event of waiting?

    This simple average may, what they're doing massive data loads with a very large table size that the Oracle Server manages very effectively but necessarily expect much coming data of the customer and parallel large log files written to end on the validation.  It is possible that setting a large SDU and tcp large transmiat and receive buffers would help if this happens to be what they do; Similarly, if that's what they do, then reduce their size of table can also have some effect.

    Concerning

    Jonathan Lewis

  • Security event log getting the message "local computer maybe not the files of the necessary registry information or message DLL to display messages from a remote computer" for all entries. System and application logs do not receive messages

    PC is Windows XP.  The server is Windows 2000.  I have administrative rights on both machines.

    On getting PC security event log do message "local computer, maybe not the files of the necessary registry information or message DLL to display messages from a remote computer" for all entries.  System and application logs do not receive messages

    Hi carmol,.

    Your question of Windows is more complex than what is generally answered in the Microsoft Answers forums. It is better suited to the audience on TechNet forum.

    Please post your question in the Sub forum. Link: http://social.technet.microsoft.com/Forums/en-us/winserverManagement/threads

    With regard to:

    Samhrutha G S - Microsoft technical support.

    Visit our Microsoft answers feedback Forum and let us know what you think.

  • How to display the error messages from sql/pls call

    Hello

    How can I display error messages from pl/sql calls on application pages?

    Current situation:

    If I specify "Error message" in the process - well, that's what I'm going to get on the page.

    What I want:

    I would like to have the specified aka "user friendly" message with the actual pl/sql routine. so it helps me to understand where the error occurred.

    Hi AZZ.

    AZZ says:

    How can I display error messages from pl/sql calls on application pages?

    Current situation:

    If I specify "Error message" in the process - well, that's what I'm going to get on the page.

    What I want:

    I would like to have the specified aka "user friendly" message with the actual pl/sql routine. so it helps me to understand where the error occurred.

    Yes, agree with orpheus4192. Use the APEX_ERROR. ADD_ERROR API.

    Reference:

    Kind regards

    Kiran

  • I got following message from the installation program Adobe - other instances of running Applications Adobe Manager that must be closed before you install this product. Please close or wait until they end. Please indicate how can I resolve the issue?

    I got following message from the installation program Adobe - other instances of running Applications Adobe Manager that must be closed before you install this product. Please close or wait until they end. Please indicate how can I resolve the issue?

    Please check if this helps https://helpx.adobe.com/creative-suite/kb/error-instance-updater-running-cs5.html

    Concerning

    Stéphane

  • multiple messages from several loops in the structure of the event

    Hey guys,.

    I have two questions, first of all, what is the best way to receive messages in case of structure? I've been watching the user events, and which seems to be a good option if I want to never send a single message. Ive never found an example where the regester for events has a second event its looking. I currently use queues to the structure of the event to my other loops.

    My second question is I want to even send messages to the structure of the event, my current thinking is that it would make things easier to follow if the structure of the event sent all messages to the individual lines. Is it more appropriate to have just a loop of talk directly to one another through the queues already in place?

    IM thinking ill put in place a user for handlng errors event but I'm not sure on other messages.

    Thank you guys

    You can get events for individual events. Better yet, you can use clusters to group the different events and access them individually (see below).

  • Wait event tracing.

    Hi all

    I use version 11.2.0.3.0 version of oracle. I want to know wait for trends in the last period of a month or two.  So what will be the query or the datadictionary which gives you these details.

    -At the first stage, I need to track wait times group of wait_class ((' utilisateur j'ai/o ', 'System I/O', 'Concurrency', 'Valider', 'Autre', 'Configuration', 'Réseau', 'Application'.. etc) for last period of a month or two.)

    -In the second step, I want to draw the Group expects each event (enq: TX - line lock conflict, read by another session, file db scattered read, SQL * Net break/reset for customer... etc) within this category, for deadline by a month or two.

    -Then you want to trace the specific enques (enq: TM - contention, enq: UL - contention, enq: TX - line lock conflict, wait for table lock,... etc) for above period.

    Hello

          

    Select time,

              max (case when event = "db file scattered read" then time_waited_delta/1e3/total_waits_delta end) db_file_scattered_read ,

              max (case when the event = 'db file sequential read' then time_waited_delta1e3//total_waits_delta end) db_file_sequential_read

      of

      (

          Select sn . begin_interval_time time,

                  e. event event_name

                  e. total_waits - lag (e. total_waits () more (partition by e. ) event_name order by ( e. snap_id ( ) total_waits_delta

                  e. time_waited_micro lag (e. ) time_waited_micro () more (partition by e. ) event_name order by ( e. snap_id ( ) time_waited_delta

          de DBA_HIST_SYSTEM_EVENT e,

    SN DBA_HIST_SNAPSHOT

           e. snap_id = sn . snap_id

          et ( e. event_name in ()'db file scattered read' 'db file sequential read'( )      

      )

      Group by time

      order by time DESC;

    You can use the same approach for the tracing of events by waiting class (DBA_HIST_SYSTEM_EVENT a wait_class column).

    Best regards

    Nikolai

Maybe you are looking for