I/o slave wait ???

What does i/o slave wait event means(apart from idle wait event class), what it is doing? I see some times when i run query, this thing appears in wait events, and doesn't goes off, why/for what it is waiting?
Appreciate for clear cut description on this.

>
Hi again,
So now in this situation why i/o slave wait event is happening, the query should
wait atleast at db_sequential_read, but this is not happening.Has something changed in your system recently to make you bring this problem
to the attention of the newsgroup?
I apologize whoever reading this thread, i don't have that query right now, am
out of office, but it looks similar like ...I don't think the precise nature of the query is critical - this seems to be
a fairly simple 1 table query.
select region,item,as_of_date,end_of_ life_cycle
from table_name
where region = region_name
and item = item_name
and family = family_name;
This is going for index range scan, and total no of records are around 5 million.
i think i/o slave wait event is happening because no i/o slaves resources are free ie.. there are busy. am i right??Check out the query by Steve Adams [url http://www.pythian.com/news/275/using-the-oracle-wait-interface-to-troubleshoot-io-issues/]here
If Steve Adams (an acknowledged Oracle expert - whose book I have) thinks that you can
ignore these events, then you probably can.
What's your machine configuration?
Paul...

Similar Messages

  • Sessions with Event "class slave wait" taking 100% CPU

    Hi experts,
    I have an issue in an 11.2.0.2 RAC database with 2 standby nodes that are driving me nuts.
    All started when I've been told there are 2 Oracle processes consuming too much CPU in the environment.
    I found 2 processes which takes 100% CPU each. These processes are Oracle processes into the DB and checking them out although they are registered in v$process and v$session, there is nothing related to them in v$bgprocess so I could not find out which oracle processes started these 2 OS processes.
    The view v$session shows them ACTIVE in the event "class slave wait". There aren't too much information about this event, at least I failed to find...
    Using dbms_monitor and dbms_system to create trace events did not create any tracefile. Only ORADEBUG was able to create events but with nearly no information inside the trace files.
    Questions I need to have answered or at least hints that I can follow to find the answer:
    1) what is causing the CPUs to be consumed at 100%? Which process?
    2) Why does these processes are using that much of CPU?
    3) What can be done to safely get over it?
    Honestly I don't know where else to look at except trying to get some help. Could someone give me a hand please?
    BR,
    Lauro Ojeda
    Edited by: LauroOjeda on 26/01/2013 06:44

    Hi Pal, thanks for your reply!
    Here are the answers:
    1. If it is RAC there is no such construct as a "standby node" and you say you have two of them. Please be specific ... is this RAC or Data Guard or a combination? Or do you have a three node cluster with all services pointing to only a single server wasting all of the resources of the other three?
    A: This is a combination of them. We have 2 nodes in a RAC environment shipping logs to two physical standby databases in another site.
    2. Two processes can not be at 100% of CPU any more than I can be 200% awake. Please show us how you arrived at this conclusion, on what hardware and operating system, and include a formatted (read the FAQ to learn how) extract showing what you are seeing.
    A: top in Linux shows two oracle processes consuming 100% (or nearly of it) of 1 CPU each. This is a 16 cores server (each primary node) so 2 of these are working on full capacity to service the described processes.
    3. What processes? Name them and again run a SQL statement and post the output so we can see what you are looking at.
    A: Like I said before I failed to find which background process they belongs to as there are no indications of them in v$bgprocess and in v$session/v$process either. I can see them in v$process and v$session but again, there are no indications of for which bg process they belong to.
    4. Is anything slow? Are there any problems with the system or are you only reacting to two numbers you think are too high?
    A: No, system is not slow because of that but the client wants to investigate and have it sorted as it is not normal.
    Additionally I found a bug in metalink which seems to be the culprit, but I'm unsure yet. This is Bug 12929268 : HIGH CPU ON ORA_O00N PROCESS
    Is any other information that I may provide you?
    Thanks for help!
    Lauro Ojeda

  • Jobq slave wait taking too long

    Dear all,
    On our production database server, I often see certain sessions taking way too long with the wait event "jobq slave wait".
    how can I prevent "jobq slave wait" events ? (or at least make it shorter or less frequent)
    I tried to search about this but could not find a good source that could help me in this regard.
    Please help.
    DB Version : 10.1.0.5 using Real Application Clusters
    OS Version : Windows 2003
    Thanks in advance.

    Hi Can you check how may jobs have scheduled or there may materialized views which keeps refreshing and their refresh interval
    You will get clear picture of number of jobs from below sql
    select count(*) from dba_jobs;
    and how many job_queue_procesess you have in your database ,use below sql
    show parameter job_quere-
    If you have more scheduled jobs than above parameter and which keep repeating after some time then better increase the parameter job_queue_process .
    Its dyanamic parameter.No need to restart the d/b

  • Lot of sessions with wait event - jobq slave wait

    Hi All,
    My db version is 10.2.0.4.0
    I have scheduled jobs through dbms_scheduler with repeat_interval of 20 mins(this for refresh of mviews).
    Now the job is in running state for a long time. then i checked the sessions..
    I have five session with wait event - "jobq slave wait"
    I check job_queue_parameter - 10
    select count(1) from dba_jobs;
    COUNT(1)
    8
    Now the job is in running state for a long time...
    Can someone help me how to proceed...
    Thanks,
    Suresh S.

    Post Operating System (OS) name & version for DB server system.
    Post results of
    SELECT * from v$version
    does following SQL return any rows? If so, they point to problem area.
    SELECT DECODE(request,0,'Holder: ','Waiter: ')||sid sess,
    id1, id2, lmode, request, type
    FROM V$LOCK
    WHERE (id1, id2, type) IN
    (SELECT id1, id2, type FROM V$LOCK WHERE request>0)
    ORDER BY id1, request
    /

  • Top 5 event class slave wait

    Dear Support,
    I run the AWR report. It show the top 5 event is class slave wait 70second then follow by CPU time. May i know what is class slave wait event. Thanks
    Regard
    William

    10g is a marketing label not a version number.
    SELECT * FROM v$version;Don't describe the AWR report part your are seeing ... Ctrl-C then Ctrl-V ... and post it between tags so we can read it.                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Jobq slave wait

    Hi All,
    I have scheduled a job through a 3rd party software, where it actually triggers a job in the database. For some reason the job is running successfully for many months and we are facing issue these days, when i went into the database and searched for the session from v$session, the session is still active, but it is in "waiting" state.
    After further research, i found that the event name is "jobq slave wait". The event name itself tells us that, it is idle process and doing nothing.
    I want to still further know about the event "jobq slave wait".
    Thanks,
    !!!!venkat!!!!

    Ok, that means that, if at all we receive this kind of events in future, we simply need to kill the session (sid).
    Or is there any other thing which needs to be done. But we need to know why the session went to idle state, is it becuase it is not doing any activity from DB/application??
    or is it like its activity complete but waiting to come out of the session??

  • Jobq slave waits

    Hi,
    I am facing a peculiar problem.
    jobq slave waits are considered to be idle waits and should be ignored. But, on one of my 9205 production system, I see 80-90 sessions waiting on this event. Job_Queue_processes parameter is set to 100. Out of 80-90 sessions, almost 40% to 50% are active and when we query for the sql's being executed by these sessions, the queries are from purely oltp application query that are not at all part of any jobs. Moreover, during this time, when we query dba_jobs_running, we see 2 or 3 jobs running, hence, 80 or 90 jobq slave waits with each running some queries is a bit surprising.
    How is it possible ? Any idea...
    Regards
    Vivek

    This is classified as an idle event, and appears to represent time spent by job queue slave processes waiting for their next scheduled task. As it's not documented and I couldn't see much about it from googling, another possibility is that it might represent time spent actually running jobs, in which case you should look at your job and scheduler definitions to see what they are doing.

  • Setting the I2C Slave Wait for Event on the USB 8452

    Hi,
    I just ordered my USB 8452 and have configured my 8452 to act as Slave. Few questions arises:
    1. How can I configure my Wait for Event time to be about 210us? This is the time period for which my master device (LTC1760) write a command to the slave
    2. What other slave address can I use other than the default, 0?
    Thanks for your answers.
    Regards,
    Stan.
    Attachments:
    Block-Diagram.jpg ‏145 KB

    I have been able to solve the problem I posted early. Another thing I find as a road block is that I am only able to execute one read write from and to the master device. My master device in my project is the LCT1760 which constantly send commands to the Smart Battery which in my case is the USB-8452. My question is, how can I enable my code to run continuously for a given time and extract the commands being sent by the Master device (LCT1760) so that I can write response back to the Master?
    Any suggestion would do.
    Regards,
    Stan.

  • STREAMS apply coord waiting for slave message?

    1- Oracle version 9.2.0.1
    2-I have 3 database (bd1,bd2 in th same machine, bd3 in an other machine)
    3- I have configured streams in order to have bd1--->bd2 and bd1--->bd3 streams replication
    4- The streams between bd1--->bd2 is ok.
    5-The propagation between bd1--->bbd3 doesn't work.
    6- i have asked yhe view v$session_wait in :
    into bd1 :
    SID SEQ# EVENT
    15 1359 STREAMS apply coord waiting for slave message
    20 622 STREAMS apply slave waiting for coord message
    into bd3 :
    SID SEQ# EVENT
    17 11399 STREAMS apply coord waiting for slave message
    19 5698 STREAMS apply slave waiting for coord message
    What have i to do to fix it and my propagation will work.
    Thank you a lot dear memebers

    The events: STREAMS apply coord waiting for slave message" and "STREAMS apply slave waiting for coord message" are IDLE events - they indicate that the apply process is waiting for work.

  • Need help to analysis "foreground and background wait events" on statspack report for oracle database 11.2.0.4 on AIX

    Hi: I'm analyzing this STATSPACK report: it is "volume test" on our UAT server, so most input is from 'bind variables'.  Our shared pool is well utilized in oracle.  Oracle redo logs is not appropriately configured on this server, as in 'Top 5 wait events' there are 2 for redos.
    I need to know what else information can be dig-out from 'foreground wait events' & 'background wait events', and what can assist us to better understanding, in combination of 'Top 5 wait event's, that how the server/test went?  it could be overwelming No. of wait events, so appreciate any helpful diagnostic or analysis.  Database is oracle 11.2.0.4 upgraded from 11.2.0.3, on IBM AIX power system 64bit, level 6.x
    STATSPACK report for
    Database    DB Id    Instance     Inst Num  Startup Time   Release     RAC
    ~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
    700000XXX   XXX              1 22-Apr-15 12:12 11.2.0.4.0  NO
    Host Name             Platform                CPUs Cores Sockets   Memory (G)
    ~~~~ ---------------- ---------------------- ----- ----- ------- ------------
         dXXXX_XXX    AIX-Based Systems (64-     2     1       0         16.0
    Snapshot       Snap Id     Snap Time      Sessions Curs/Sess Comment
    ~~~~~~~~    ---------- ------------------ -------- --------- ------------------
    Begin Snap:       5635 22-Apr-15 13:00:02      114       4.6
      End Snap:       5636 22-Apr-15 14:00:01      128       8.8
       Elapsed:      59.98 (mins) Av Act Sess:       0.6
       DB time:      35.98 (mins)      DB CPU:      19.43 (mins)
    Cache Sizes            Begin        End
    ~~~~~~~~~~~       ---------- ----------
        Buffer Cache:     2,064M              Std Block Size:         8K
         Shared Pool:     3,072M                  Log Buffer:    13,632K
    Load Profile              Per Second    Per Transaction    Per Exec    Per Call
    ~~~~~~~~~~~~      ------------------  ----------------- ----------- -----------
          DB time(s):                0.6                0.0        0.00        0.00
           DB CPU(s):                0.3                0.0        0.00        0.00
           Redo size:          458,720.6            8,755.7
       Logical reads:           12,874.2              245.7
       Block changes:            1,356.4               25.9
      Physical reads:                6.6                0.1
    Physical writes:               61.8                1.2
          User calls:            2,033.7               38.8
              Parses:              286.5                5.5
         Hard parses:                0.5                0.0
    W/A MB processed:                1.7                0.0
              Logons:                1.2                0.0
            Executes:              801.1               15.3
           Rollbacks:                6.1                0.1
        Transactions:               52.4
    Instance Efficiency Indicators
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                Buffer Nowait %:  100.00       Redo NoWait %:  100.00
                Buffer  Hit   %:   99.98  Optimal W/A Exec %:  100.00
                Library Hit   %:   99.77        Soft Parse %:   99.82
             Execute to Parse %:   64.24         Latch Hit %:   99.98
    Parse CPU to Parse Elapsd %:   53.15     % Non-Parse CPU:   98.03
    Shared Pool Statistics        Begin   End
                 Memory Usage %:   10.50   12.79
        % SQL with executions>1:   69.98   78.37
      % Memory for SQL w/exec>1:   70.22   81.96
    Top 5 Timed Events                                                    Avg %Total
    ~~~~~~~~~~~~~~~~~~                                                   wait   Call
    Event                                            Waits    Time (s)   (ms)   Time
    CPU time                                                       847          50.2
    enq: TX - row lock contention                    4,480         434     97   25.8
    log file sync                                  284,169         185      1   11.0
    log file parallel write                        299,537         164      1    9.7
    log file sequential read                           698          16     24    1.0
    Host CPU  (CPUs: 2  Cores: 1  Sockets: 0)
    ~~~~~~~~              Load Average
                          Begin     End      User  System    Idle     WIO     WCPU
                           1.16    1.84     19.28   14.51   66.21    1.20   82.01
    Instance CPU
    ~~~~~~~~~~~~                                       % Time (seconds)
                         Host: Total time (s):                  7,193.8
                      Host: Busy CPU time (s):                  2,430.7
                       % of time Host is Busy:      33.8
                 Instance: Total CPU time (s):                  1,203.1
              % of Busy CPU used for Instance:      49.5
            Instance: Total Database time (s):                  2,426.4
      %DB time waiting for CPU (Resource Mgr):       0.0
    Memory Statistics                       Begin          End
    ~~~~~~~~~~~~~~~~~                ------------ ------------
                      Host Mem (MB):     16,384.0     16,384.0
                       SGA use (MB):      7,136.0      7,136.0
                       PGA use (MB):        282.5        361.4
        % Host Mem used for SGA+PGA:         45.3         45.8
    Foreground Wait Events  DB/Inst: XXXXXs  Snaps: 5635-5636
    -> Only events with Total Wait Time (s) >= .001 are shown
    -> ordered by Total Wait Time desc, Waits desc (idle events last)
                                                                 Avg          %Total
                                              %Tim Total Wait   wait    Waits   Call
    Event                               Waits  out   Time (s)   (ms)     /txn   Time
    enq: TX - row lock contentio        4,480    0        434     97      0.0   25.8
    log file sync                     284,167    0        185      1      1.5   11.0
    Disk file operations I/O            8,741    0          4      0      0.0     .2
    direct path write                  13,247    0          3      0      0.1     .2
    db file sequential read             6,058    0          1      0      0.0     .1
    buffer busy waits                   1,800    0          1      1      0.0     .1
    SQL*Net more data to client        29,161    0          1      0      0.2     .1
    direct path read                    7,696    0          1      0      0.0     .0
    db file scattered read                316    0          1      2      0.0     .0
    latch: shared pool                    144    0          0      2      0.0     .0
    CSS initialization                     30    0          0      3      0.0     .0
    cursor: pin S                          10    0          0      9      0.0     .0
    row cache lock                         41    0          0      2      0.0     .0
    latch: row cache objects               19    0          0      3      0.0     .0
    log file switch (private str            8    0          0      7      0.0     .0
    library cache: mutex X                 28    0          0      2      0.0     .0
    latch: cache buffers chains            54    0          0      1      0.0     .0
    latch free                            290    0          0      0      0.0     .0
    control file sequential read        1,568    0          0      0      0.0     .0
    log file switch (checkpoint             4    0          0      6      0.0     .0
    direct path sync                        8    0          0      3      0.0     .0
    latch: redo allocation                 60    0          0      0      0.0     .0
    SQL*Net break/reset to clien           34    0          0      1      0.0     .0
    latch: enqueue hash chains             45    0          0      0      0.0     .0
    latch: cache buffers lru cha            7    0          0      2      0.0     .0
    latch: session allocation               5    0          0      1      0.0     .0
    latch: object queue header o            6    0          0      1      0.0     .0
    ASM file metadata operation            30    0          0      0      0.0     .0
    latch: In memory undo latch            15    0          0      0      0.0     .0
    latch: undo global data                 8    0          0      0      0.0     .0
    SQL*Net message from client     6,362,536    0    278,225     44     33.7
    jobq slave wait                     7,270  100      3,635    500      0.0
    SQL*Net more data from clien        7,976    0         15      2      0.0
    SQL*Net message to client       6,362,544    0          8      0     33.7
    Background Wait Events  DB/Inst: XXXXXs  Snaps: 5635-5636
    -> Only events with Total Wait Time (s) >= .001 are shown
    -> ordered by Total Wait Time desc, Waits desc (idle events last)
                                                                 Avg          %Total
                                              %Tim Total Wait   wait    Waits   Call
    Event                               Waits  out   Time (s)   (ms)     /txn   Time
    log file parallel write           299,537    0        164      1      1.6    9.7
    log file sequential read              698    0         16     24      0.0    1.0
    db file parallel write              9,556    0         13      1      0.1     .8
    os thread startup                     146    0         10     70      0.0     .6
    control file parallel write         2,037    0          2      1      0.0     .1
    Log archive I/O                        35    0          1     30      0.0     .1
    LGWR wait for redo copy             2,447    0          0      0      0.0     .0
    db file async I/O submit            9,556    0          0      0      0.1     .0
    db file sequential read               145    0          0      2      0.0     .0
    Disk file operations I/O              349    0          0      0      0.0     .0
    db file scattered read                 30    0          0      4      0.0     .0
    control file sequential read        5,837    0          0      0      0.0     .0
    ADR block file read                    19    0          0      4      0.0     .0
    ADR block file write                    5    0          0     15      0.0     .0
    direct path write                      14    0          0      2      0.0     .0
    direct path read                        3    0          0      7      0.0     .0
    latch: shared pool                      3    0          0      6      0.0     .0
    log file single write                  56    0          0      0      0.0     .0
    latch: redo allocation                 53    0          0      0      0.0     .0
    latch: active service list              1    0          0      3      0.0     .0
    latch free                             11    0          0      0      0.0     .0
    rdbms ipc message                 314,523    5     57,189    182      1.7
    Space Manager: slave idle wa        4,086   88     18,996   4649      0.0
    DIAG idle wait                      7,185  100      7,186   1000      0.0
    Streams AQ: waiting for time            2   50      4,909 ######      0.0
    Streams AQ: qmn slave idle w          129    0      3,612  28002      0.0
    Streams AQ: qmn coordinator           258   50      3,612  14001      0.0
    smon timer                             43    2      3,605  83839      0.0
    pmon timer                          1,199   99      3,596   2999      0.0
    SQL*Net message from client        17,019    0         31      2      0.1
    SQL*Net message to client          12,762    0          0      0      0.1
    class slave wait                       28    0          0      0      0.0
    thank you very much!

    Hi: just know it now: it is a large amount of 'concurrent transaction' designed in this "Volume Test" - to simulate large incoming transaction volme, so I guess wait in eq:TX - row is expected.
    The fact: (1) redo logs at uat server is known to not well-tune for configurations (2) volume test slow 5%, however data amount in its test is kept the same by each time import  production data, by the team. So why it slowed 5% this year?
    The wait histogram is pasted below, any one interest to take a look?  any ideas?
    Wait Event Histogram  DB/Inst: XXXX/XXXX  Snaps: 5635-5636
    -> Total Waits - units: K is 1000, M is 1000000, G is 1000000000
    -> % of Waits - column heading: <=1s is truly <1024ms, >1s is truly >=1024ms
    -> % of Waits - value: .0 indicates value was <.05%, null is truly 0
    -> Ordered by Event (idle events last)
                               Total ----------------- % of Waits ------------------
    Event                      Waits  <1ms  <2ms  <4ms  <8ms <16ms <32ms  <=1s   >1s
    ADR block file read          19   26.3   5.3  10.5  57.9
    ADR block file write          5                     40.0        60.0
    ADR file lock                 6  100.0
    ARCH wait for archivelog l   14  100.0
    ASM file metadata operatio   30  100.0
    CSS initialization           30              100.0
    Disk file operations I/O   9090   97.2   1.4    .6    .4    .2    .1    .1
    LGWR wait for redo copy    2447   98.5    .5    .4    .2    .2    .2    .1
    Log archive I/O              35   40.0         8.6  25.7   2.9        22.9
    SQL*Net break/reset to cli   34   85.3   8.8         5.9
    SQL*Net more data to clien   29K  99.9    .0    .0    .0          .0    .0
    buffer busy waits          1800   96.8    .7    .7    .6    .3    .4    .5
    control file parallel writ 2037   90.7   5.0   2.1    .8   1.0    .3    .1
    control file sequential re 7405  100.0                      .0
    cursor: pin S                10   10.0                    90.0
    db file async I/O submit   9556   99.9    .0                .0          .0
    db file parallel read         1  100.0
    db file parallel write     9556   62.0  32.4   1.7    .8   1.5   1.3    .1
    db file scattered read      345   72.8   3.8   2.3  11.6   9.0    .6
    db file sequential read    6199   97.2    .2    .3   1.6    .7    .0    .0
    direct path read           7699   99.1    .4    .2    .1    .1    .0
    direct path sync              8   25.0  37.5  12.5  25.0
    direct path write            13K  97.8    .9    .5    .4    .3    .1    .0
    enq: TX - row lock content 4480     .4    .7   1.3   3.0   6.8  12.3  75.4    .1
    latch free                  301   98.3    .3    .7    .7
    latch: In memory undo latc   15   93.3   6.7
    latch: active service list    1              100.0
    latch: cache buffers chain   55   94.5                     3.6   1.8
    latch: cache buffers lru c    9   88.9                    11.1
    latch: call allocation        6  100.0
    latch: checkpoint queue la    3  100.0
    latch: enqueue hash chains   45   97.8                     2.2
    latch: messages               4  100.0
    latch: object queue header    7   85.7        14.3
    latch: redo allocation      113   97.3               1.8    .9
    latch: row cache objects     19   89.5                           5.3   5.3
    latch: session allocation     5   80.0              20.0
    latch: shared pool          147   90.5   1.4   2.7   1.4    .7   1.4   2.0
    latch: undo global data       8  100.0
    library cache: mutex X       28   89.3         3.6         3.6         3.6
    log file parallel write     299K  95.6   2.6   1.0    .4    .3    .2    .0
    log file sequential read    698   29.5    .1               4.6  46.8  18.9
    log file single write        56  100.0
    log file switch (checkpoin    4               25.0  50.0  25.0
    log file switch (private s    8         12.5        37.5  50.0
    log file sync               284K  93.3   3.7   1.4    .7    .5    .3    .1
    os thread startup           146                                      100.0
    row cache lock               41   85.4   9.8               2.4         2.4
    DIAG idle wait             7184                                      100.0
    SQL*Net message from clien 6379K  86.6   5.1   2.9   1.3    .7    .3   2.8    .3
    SQL*Net message to client  6375K 100.0    .0    .0    .0    .0    .0    .0
    Wait Event Histogram  DB/Inst: XXXX/xxxx  Snaps: 5635-5636
    -> Total Waits - units: K is 1000, M is 1000000, G is 1000000000
    -> % of Waits - column heading: <=1s is truly <1024ms, >1s is truly >=1024ms
    -> % of Waits - value: .0 indicates value was <.05%, null is truly 0
    -> Ordered by Event (idle events last)
                               Total ----------------- % of Waits ------------------
    Event                      Waits  <1ms  <2ms  <4ms  <8ms <16ms <32ms  <=1s   >1s
    SQL*Net more data from cli 7976   99.7    .1    .1    .0                      .1
    Space Manager: slave idle  4086     .1    .2    .0    .0    .3         3.2  96.1
    Streams AQ: qmn coordinato  258   49.2                .8                    50.0
    Streams AQ: qmn slave idle  129                                            100.0
    Streams AQ: waiting for ti    2   50.0                                      50.0
    class slave wait             28   92.9   3.6   3.6
    jobq slave wait            7270     .0                               100.0
    pmon timer                 1199                                            100.0
    rdbms ipc message           314K  10.3   7.3  39.7  15.4  10.6   5.3   8.2   3.3
    smon timer                   43                                            100.0

  • Master and Slave concept

    hi guys,
    i am confused about the master and slave realtionship in ospf. any one can explain it to me in detail.

    Hello Pankaj,
    The Master and Slave in OSPF are a slightly confusing concept but the idea behind it is quite simple.
    When two routers decide to become fully adjacent, they must synchronize their LSDBs. OSPF tries to optimize this: the routers first exchange only the list of entries in their LSDBs. Each router compares the received list to the list of items in its own database, and if it finds that an LSA is missing or is older than one the neighbor knows about, it requests it from the neighbor afterwards. This way, both routers transmit only the missing or updated LSAs, not the entire LSDBs.
    The list of LSDB entries is carried in Database Description (DBD) packets. Naturally, when routers exchange DBD packets, they must be sure all of them have been properly received by the neighbor, so some sort of acknowledgements must be used. There is a problem here, however: the only packets in OSPF used to carry acknowledgements are LSAck packets, but they can only be used to acknowledge LSU packets (more precisely, individual LSAs carried in LSU packets), not DBD packets. How shall the acknowledgements of DBD packets be accomplished, then?
    OSPF uses a polling style of communication with the DBD packets. DBD packets themselves have sequence numbers used for sequencing and acknowledgement purposes. One of the two routers that are in the synchronization phase will be the one responsible for polling the other (i.e. calling it out it to send another piece of information if it has any), each time with an incremented sequence number. This is the Master role. The other router will only be allowed to respond to a DBD poll, never send any DBD packet without being polled immediately before, and the response DBD packet must carry the sequence number of the Master's DBD poll packet. This is the Slave role. The Slave must respond to each Master's DBD packet even if it has no more LSDB entries to advertise; in that case, the DBD response body will be empty.
    So during the DBD exchange, the Master sends DBD packets to Slave, incrementing the sequence number by one in each round. The Slave waits for DBD packets from the Master and only responds to them, and each response carries the sequence number from the last received Master's DBD packet that was used to poll the Slave. Remember: a Slave must not send DBD packets on its own, only as responses to DBD packets received from the Master, and the sequence number of the Slave's response DBD packet must be set to the Master's poll DBD packet.
    While I call the DBD packets as "polls" and "responses" here for the sake of clarity, the DBD packets do not have this distinction indicated explicitly. Any DBD packet sent from the Master, either with a body carrying a list of LSAs or an empty body, is a poll. Any DBD packet sent from the Slave, again either with a non-empty or empty body, is a response. A DBD packet can have an empty body if the router needs to send a DBD packet to the neighbor (either from Master to repeatedly poll the Slave, or from the Slave to confirm the arrival of the DBD packet from the Master) but has no more LSDB entries to advertise itself.
    There are two issues with this simple procedure. First, there is the issue of who out of two synchronizing routers will be the Master and who will be the Slave. This is resolved during the ExStart phase: both routers initially treat themselves as Master routers, and send DBD packets with random initial sequence numbers to each other, indicating the MS flag (Master) in their header. As they do this, the router with the lower RouterID moves to the Slave role, while the router with the higher RouterID remains in the Master role. The ExStart phase is basically finished after establishing the router's role in the synchronizing pair; at most two DBD packets are needed for that, one from each router. The Exchange phase then lasts until routers have exchanged the entire list of their LSDB entries using DBD packets.
    The second issue is more subtle: how should the Master know whether the Slave needs to be polled further? Clearly, a situation may arise when the Master's LSDB is empty or smaller than the Slave's, and the Master will need to send fewer DBDs than the Slave to list all its LSDB contents. As the Slave can not send a DBD packet on its own, it somehow needs to tell the Master to poll it again. This is accomplished by another flag in DBD packet header, the M (More) flag. If a Slave replies to the Master's DBD packet with its own DBD packet and the M flag set, the Master knows the Slave needs to be polled again. The Master will stop polling the Slave after the last DBD packet fom the Slave has the M flag cleared.
    The RFC 2328 has a nice ASCIIart graph of the adjacency coming up:
                +---+                                         +---+
                |RT1|                                         |RT2|
                +---+                                         +---+
                Down                                          Down
                                Hello(DR=0,seen=0)
                           ------------------------------>
                             Hello (DR=RT2,seen=RT1,...)      Init
                           <------------------------------
                ExStart        D-D (Seq=x,I,M,Master)
                           ------------------------------>
                               D-D (Seq=y,I,M,Master)         ExStart
                           <------------------------------
                Exchange       D-D (Seq=y,M,Slave)
                           ------------------------------>
                               D-D (Seq=y+1,M,Master)         Exchange
                           <------------------------------
                               D-D (Seq=y+1,M,Slave)
                           ------------------------------>
                               D-D (Seq=y+n, Master)
                           <------------------------------
                               D-D (Seq=y+n, Slave)
                 Loading   ------------------------------>
                                     LS Request                Full
                           ------------------------------>
                                     LS Update
                           <------------------------------
                                     LS Request
                           ------------------------------>
                                     LS Update
                           <------------------------------
                 Full
    The I flag here is another flag in DBD headers called the Init flag, and is set only on initial DBD packets in the ExStart phase. If the router has established its Master or Slave role, it clears the I flag. This one is not really that important right now.
    The Master/Slave relationship is built and relevant only during the initial LSDB synchronization when a new adjacency is being established. After the two routers go past the Exchange state, DBD packets are not used anymore, and the whole Master/Slave relationship is forgotten. Remember: Master/Slave is relevant only to DBD packets, and DBD packets are used only in ExStart/Exchange phases. Outside of these states, there are no DBD packets used, hence no Master/Slave relationships exist.
    If there are, say, four routers, R1 till R4, connected to the same switch and run OSPF, during the OSPF bootup, there will be 5 temporary Master/Slave relationship built and torn down afterwards:
    between the DR and BDR as they synchronize (assume those routers are R1 and R2)
    between R3 and DR
    between R3 and BDR
    between R4 and DR
    between R4 and BDR
    Notice the Master/Slave relationship existed between those routers that went through ExStart and Exchange into the Full state. Also keep in mind that in the Full state, there are no more Master/Slave relationship present - they were only needed because of the specific needs of the DBD packet exchange.
    Does this make the issue a little more clear? Please feel welcome to ask further!
    Best regards,
    Peter

  • Enq: TX - row lock contention wait event

    Hi,
    I would like to find which DML query has not given COMMIT or ROLLBACK after the execution. Because one of the development database have more table locks and developer reported that their session was hanging. I referred AWR report also and more timed waits occurred in the enq: TX - row lock contention. I need to trace which DML query has not commit or rollback.
    Please help me to solve the issue.
    Database version: 11.2.0.1.0
    Foreground Wait Events
    Event
    Waits
    %Time -outs
    Total Wait Time (s)
    Avg wait (ms)
    Waits /txn
    % DB time
    enq: TX - row lock contention
    320
    0
    72,047
    225147
    0.20
    99.53
    log file sync
    547
    0
    14
    26
    0.35
    0.02
    library cache lock
    13
    0
    11
    843
    0.01
    0.02
    SQL*Net break/reset to client
    1,080
    0
    2
    1
    0.69
    0.00
    SQL*Net message to client
    659,006
    0
    1
    0
    421.63
    0.00
    direct path sync
    3
    0
    1
    299
    0.00
    0.00
    SQL*Net more data from client
    5,541
    0
    1
    0
    3.55
    0.00
    db file scattered read
    554
    0
    0
    1
    0.35
    0.00
    SQL*Net more data to client
    14,975
    0
    0
    0
    9.58
    0.00
    db file sequential read
    2,817
    0
    0
    0
    1.80
    0.00
    ADR block file read
    4
    0
    0
    43
    0.00
    0.00
    enq: CR - block range reuse ckpt
    2
    0
    0
    71
    0.00
    0.00
    asynch descriptor resize
    38,073
    100
    0
    0
    24.36
    0.00
    latch: shared pool
    61
    0
    0
    1
    0.04
    0.00
    control file sequential read
    6,900
    0
    0
    0
    4.41
    0.00
    Disk file operations I/O
    550
    0
    0
    0
    0.35
    0.00
    cursor: pin S
    1
    0
    0
    8
    0.00
    0.00
    direct path write temp
    34
    0
    0
    0
    0.02
    0.00
    library cache: mutex X
    5
    0
    0
    1
    0.00
    0.00
    latch: In memory undo latch
    2
    0
    0
    1
    0.00
    0.00
    buffer busy waits
    14
    0
    0
    0
    0.01
    0.00
    SQL*Net message from client
    658,990
    0
    294,847
    447
    421.62
    jobq slave wait
    669
    99
    333
    497
    0.43
    PL/SQL lock timer
    1
    100
    1
    998
    0.00

    Oracle does not and cannot tell you from historical views (e.g. AWR) which DMLs have not COMMITed or ROLLBACKed. A Transaction ends with a COMMIT or ROLLBACK.  The transaction could have a million (or more) DML statements with a million (or more) SELECT statements between the first DML and the COMMIT / ROLLBACK.
    Even identifying such DMLs in real time is close to impossible.  Because the session holding the lock may have issued  a dozen or a million subsequent SQL statements while other sessions are waiting for the lock.  You can only identify the session that is the lock holder (the BLOCKING_SESSION in V$SESSION).
    If you have tracing enabled for all sessions, then you could review the trace file for the BLOCKING_SESSION to identify the DML(s) the session has executed.
    Hemant K Chitale

  • Find the Wait events for an objects.

    Hi Gurus.
    I need you help to find out the wait events for a particular table and index when batch export job running from the application. I have done some work around to to find out, but i am not able to figure out the issue or what are the wait events. i am working on linux 4node rac 11gR2.
    Below are the steps i have done.
    1. find object_id for a table finding the wait events to that object_id.
    SYS@ccmintpt1 SQL>select data_object_id from dba_objects where object_name='ACCOUNT_DETAIL_DENORM';
    DATA_OBJECT_ID
    82646
    88518
    84184
    SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=82646;
    no rows selected
    SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=88518;
    no rows selected
    SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=84184;
    no rows selected
    2. find the object id for the index of that table and finding the wait events to that object_id.
    SYS@ccmintpt1 SQL>select data_object_id from dba_objects where object_name='XAK2ACCOUNT_DETAIL_DENORM';
    DATA_OBJECT_ID
    88655
    SID EVENT WAIT_CLASS WAIT_CLASS#
    1 rdbms ipc message Idle 6
    2 heartbeat monitor sleep Idle 6
    3 rdbms ipc message Idle 6
    4 wait for unread message on broadcast channel Idle 6
    6 SQL*Net message from client Idle 6
    7 SQL*Net message from client Idle 6
    8 SQL*Net message from client Idle 6
    9 SQL*Net message from client Idle 6
    10 SQL*Net message from client Idle 6
    11 SQL*Net message from client Idle 6
    12 SQL*Net message from client Idle 6
    13 SQL*Net message from client Idle 6
    1876 SQL*Net message from client Idle 6
    1877 VKTM Logical Idle Wait Idle 6
    1878 rdbms ipc message Idle 6
    1879 rdbms ipc message Idle 6
    1880 rdbms ipc message Idle 6
    1881 SQL*Net message from client Idle 6
    3200 SQL*Net message from client Idle 6
    3210 SQL*Net message from client Idle 6
    3212 db file sequential read User I/O 8
    3213 SQL*Net message from client Idle 6
    3214 SQL*Net message from client Idle 6
    3216 SQL*Net message from client Idle 6
    3751 rdbms ipc message Idle 6
    3752 gcs remote message Idle 6
    3754 rdbms ipc message Idle 6
    3756 SQL*Net message from client Idle 6
    3757 SQL*Net message from client Idle 6
    1326 SQL*Net message from client Idle 6
    1876 Streams AQ: waiting for time management or cleanup tasks Idle 6
    1877 VKTM Logical Idle Wait Idle 6
    1878 rdbms ipc message Idle 6
    1879 rdbms ipc message Idle 6
    1880 rdbms ipc message Idle 6
    1882 SQL*Net message from client Idle 6
    3751 rdbms ipc message Idle 6
    3752 gcs remote message Idle 6
    3754 rdbms ipc message Idle 6
    3756 rdbms ipc message Idle 6
    3758 SQL*Net message from client Idle 6
    3759 PX Deq: Execution Msg Idle 6
    3200 SQL*Net message from client Idle 6
    3210 SQL*Net message from client Idle 6
    3212 db file sequential read User I/O 8
    3213 SQL*Net message from client Idle 6
    3214 SQL*Net message from client Idle 6
    3216 SQL*Net message from client Idle 6
    3751 rdbms ipc message Idle 6
    3752 gcs remote message Idle 6
    3754 rdbms ipc message Idle 6
    3756 SQL*Net message from client Idle 6
    3757 SQL*Net message from client Idle 6
    3786 SQL*Net message from client Idle 6
    3787 SQL*Net message from client Idle 6
    1 heartbeat monitor sleep Idle 6
    2 wait for unread message on broadcast channel Idle 6
    314 rdbms ipc message Idle 6
    315 Streams AQ: qmn coordinator idle wait Idle 6
    627 pmon timer Idle 6
    628 rdbms ipc message Idle 6
    629 Streams AQ: waiting for messages in the queue Idle 6
    940 Streams AQ: waiting for time management or cleanup tasks Idle 6
    941 VKTM Logical Idle Wait Idle 6
    942 rdbms ipc message Idle 6
    1253 rdbms ipc message Idle 6
    1254 rdbms ipc message Idle 6
    1256 Space Manager: slave idle wait Idle 6
    1566 DIAG idle wait Idle 6
    1567 rdbms ipc message Idle 6
    1568 Streams AQ: qmn slave idle wait Idle 6
    1879 rdbms ipc message Idle 6
    1880 smon timer Idle 6
    1881 rdbms ipc message Idle 6
    2192 PING Idle 6
    2193 rdbms ipc message Idle 6
    2194 rdbms ipc message Idle 6
    2505 rdbms ipc message Idle 6
    2506 rdbms ipc message Idle 6
    2818 rdbms ipc message Idle 6
    2819 rdbms ipc message Idle 6
    2821 PX Deq: reap credit Other 0
    3131 DIAG idle wait Idle 6
    3132 jobq slave wait Idle 6
    3444 rdbms ipc message Idle 6
    3445 jobq slave wait Idle 6
    3757 ges remote message Idle 6
    3758 rdbms ipc message Idle 6
    3759 VKRM Idle Idle 6
    4070 gcs remote message Idle 6
    4072 rdbms ipc message Idle 6
    4383 gcs remote message Idle 6
    4385 PX Deq: Execution Msg Idle 6
    4696 rdbms ipc message Idle 6
    4697 rdbms ipc message Idle 6
    1 rdbms ipc message Idle 6
    2 heartbeat monitor sleep Idle 6
    3 rdbms ipc message Idle 6
    4 wait for unread message on broadcast channel Idle 6
    6 SQL*Net message from client Idle 6
    From this output, what are the waits events i need to take into consideration.
    Is this the right approach to follow?
    Please let me know.
    Thanks in advance.

    user13162661 wrote:
    Hi Gurus.
    I need you help to find out the wait events for a particular table and index when batch export job running from the application. I have done some work around to to find out, but i am not able to figure out the issue or what are the wait events. i am working on linux 4node rac 11gR2.
    Below are the steps i have done.
    1. find object_id for a table finding the wait events to that object_id.
    SYS@ccmintpt1 SQL>select data_object_id from dba_objects where object_name='ACCOUNT_DETAIL_DENORM';
    DATA_OBJECT_ID
    82646
    88518
    84184
    SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=82646;
    no rows selected
    SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=88518;
    no rows selected
    SYS@ccmintpt1 SQL>select w.sid,w.event,w.wait_class,w.wait_class# from gv$session s,gv$session_wait w where s.row_wait_obj#=84184;
    no rows selected
    2. find the object id for the index of that table and finding the wait events to that object_id.
    SYS@ccmintpt1 SQL>select data_object_id from dba_objects where object_name='XAK2ACCOUNT_DETAIL_DENORM';
    DATA_OBJECT_ID
    88655
    SID EVENT WAIT_CLASS WAIT_CLASS#
    1 rdbms ipc message Idle 6
    2 heartbeat monitor sleep Idle 6
    3 rdbms ipc message Idle 6
    4 wait for unread message on broadcast channel Idle 6
    6 SQL*Net message from client Idle 6
    7 SQL*Net message from client Idle 6
    8 SQL*Net message from client Idle 6
    9 SQL*Net message from client Idle 6
    10 SQL*Net message from client Idle 6
    11 SQL*Net message from client Idle 6
    12 SQL*Net message from client Idle 6
    13 SQL*Net message from client Idle 6
    1876 SQL*Net message from client Idle 6
    1877 VKTM Logical Idle Wait Idle 6
    1878 rdbms ipc message Idle 6
    1879 rdbms ipc message Idle 6
    1880 rdbms ipc message Idle 6
    1881 SQL*Net message from client Idle 6
    3200 SQL*Net message from client Idle 6
    3210 SQL*Net message from client Idle 6
    3212 db file sequential read User I/O 8
    3213 SQL*Net message from client Idle 6
    3214 SQL*Net message from client Idle 6
    3216 SQL*Net message from client Idle 6
    3751 rdbms ipc message Idle 6
    3752 gcs remote message Idle 6
    3754 rdbms ipc message Idle 6
    3756 SQL*Net message from client Idle 6
    3757 SQL*Net message from client Idle 6
    1326 SQL*Net message from client Idle 6
    1876 Streams AQ: waiting for time management or cleanup tasks Idle 6
    1877 VKTM Logical Idle Wait Idle 6
    1878 rdbms ipc message Idle 6
    1879 rdbms ipc message Idle 6
    1880 rdbms ipc message Idle 6
    1882 SQL*Net message from client Idle 6
    3751 rdbms ipc message Idle 6
    3752 gcs remote message Idle 6
    3754 rdbms ipc message Idle 6
    3756 rdbms ipc message Idle 6
    3758 SQL*Net message from client Idle 6
    3759 PX Deq: Execution Msg Idle 6
    3200 SQL*Net message from client Idle 6
    3210 SQL*Net message from client Idle 6
    3212 db file sequential read User I/O 8
    3213 SQL*Net message from client Idle 6
    3214 SQL*Net message from client Idle 6
    3216 SQL*Net message from client Idle 6
    3751 rdbms ipc message Idle 6
    3752 gcs remote message Idle 6
    3754 rdbms ipc message Idle 6
    3756 SQL*Net message from client Idle 6
    3757 SQL*Net message from client Idle 6
    3786 SQL*Net message from client Idle 6
    3787 SQL*Net message from client Idle 6
    1 heartbeat monitor sleep Idle 6
    2 wait for unread message on broadcast channel Idle 6
    314 rdbms ipc message Idle 6
    315 Streams AQ: qmn coordinator idle wait Idle 6
    627 pmon timer Idle 6
    628 rdbms ipc message Idle 6
    629 Streams AQ: waiting for messages in the queue Idle 6
    940 Streams AQ: waiting for time management or cleanup tasks Idle 6
    941 VKTM Logical Idle Wait Idle 6
    942 rdbms ipc message Idle 6
    1253 rdbms ipc message Idle 6
    1254 rdbms ipc message Idle 6
    1256 Space Manager: slave idle wait Idle 6
    1566 DIAG idle wait Idle 6
    1567 rdbms ipc message Idle 6
    1568 Streams AQ: qmn slave idle wait Idle 6
    1879 rdbms ipc message Idle 6
    1880 smon timer Idle 6
    1881 rdbms ipc message Idle 6
    2192 PING Idle 6
    2193 rdbms ipc message Idle 6
    2194 rdbms ipc message Idle 6
    2505 rdbms ipc message Idle 6
    2506 rdbms ipc message Idle 6
    2818 rdbms ipc message Idle 6
    2819 rdbms ipc message Idle 6
    2821 PX Deq: reap credit Other 0
    3131 DIAG idle wait Idle 6
    3132 jobq slave wait Idle 6
    3444 rdbms ipc message Idle 6
    3445 jobq slave wait Idle 6
    3757 ges remote message Idle 6
    3758 rdbms ipc message Idle 6
    3759 VKRM Idle Idle 6
    4070 gcs remote message Idle 6
    4072 rdbms ipc message Idle 6
    4383 gcs remote message Idle 6
    4385 PX Deq: Execution Msg Idle 6
    4696 rdbms ipc message Idle 6
    4697 rdbms ipc message Idle 6
    1 rdbms ipc message Idle 6
    2 heartbeat monitor sleep Idle 6
    3 rdbms ipc message Idle 6
    4 wait for unread message on broadcast channel Idle 6
    6 SQL*Net message from client Idle 6
    From this output, what are the waits events i need to take into consideration.
    Is this the right approach to follow?
    Please let me know.
    Thanks in advance.what actual problem are you trying to solve?
    post SQL & results that have you concerned about wait events

  • Performance problem - event : cursor: pin S wait on X

    Hi,
    Bellow is 17 min awr report , of oracle PeopleSoft DB on 10204 instance on HPUX machine.
    During this time the customers complained on poor performance.
    There were 4,104.23 execution per second and 3,784.95 parses
    which mean that almost any statment was parsed. since the Soft Parse %= 99.77
    its seems that most of the parses are soft parse.
    During those 17 min , the DB Time = 721.74 min and the "Top 5 Timed Events"
    shows : "cursor: pin S wait on X" at the top of the Timed Events
    Attached some details for the awr report
    Could you please suggest where to focus ?
    Thanks
    WORKLOAD REPOSITORY report for
    DB Name         DB Id    Instance     Inst Num Release     RAC Host
    xxxx          2993006132 xxxx                1 10.2.0.4.0  NO  xxxx
                  Snap Id      Snap Time      Sessions Curs/Sess
    Begin Snap:     18085 25-Mar-10 10:30:41       286      14.9
      End Snap:     18086 25-Mar-10 10:48:39       301      15.1
       Elapsed:               17.96 (mins)
       DB Time:              721.74 (mins)
    Cache Sizes
    ~~~~~~~~~~~                       Begin        End
                   Buffer Cache:     4,448M     4,368M  Std Block Size:         8K
               Shared Pool Size:     2,736M     2,816M      Log Buffer:     2,080K
    Load Profile
    ~~~~~~~~~~~~                            Per Second       Per Transaction
                      Redo size:          3,831,000.13            271,096.84
                  Logical reads:            164,733.47             11,657.20
                  Block changes:             17,757.42              1,256.59
                 Physical reads:                885.19                 62.64
                Physical writes:                504.92                 35.73
                     User calls:              5,775.09                408.67
                         Parses:              3,784.95                267.84
                    Hard parses:                  8.55                  0.60
                          Sorts:                212.37                 15.03
                         Logons:                  0.77                  0.05
                       Executes:              4,104.23                290.43
                   Transactions:                 14.13
      % Blocks changed per Read:   10.78    Recursive Call %:    24.14
    Rollback per transaction %:    0.18       Rows per Sort:    57.86
    Instance Efficiency Percentages (Target 100%)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                Buffer Nowait %:   99.98       Redo NoWait %:   99.97
                Buffer  Hit   %:   99.47    In-memory Sort %:  100.00
                Library Hit   %:   99.73        Soft Parse %:   99.77
             Execute to Parse %:    7.78         Latch Hit %:   99.77
    Parse CPU to Parse Elapsd %:    3.06     % Non-Parse CPU:   89.23
    Shared Pool Statistics        Begin    End
                 Memory Usage %:   34.44   34.78
        % SQL with executions>1:   76.52   60.40
      % Memory for SQL w/exec>1:   73.75   99.18
    Top 5 Timed Events                                         Avg %Total
    ~~~~~~~~~~~~~~~~~~                                        wait   Call
    Event                                 Waits    Time (s)   (ms)   Time Wait Class
    cursor: pin S wait on X           1,378,354      13,462     10   31.1 Concurrenc
    db file sequential read             878,684       8,779     10   20.3   User I/O
    CPU time                                          4,998          11.5
    local write wait                      2,692       2,442    907    5.6   User I/O
    cursor: pin S                     1,932,830       2,270      1    5.2      Other
    Time Model Statistics                  DB/Inst: xxxx/xxxx  Snaps: 18085-18086
    Statistic Name                                       Time (s) % of DB Time
    sql execute elapsed time                             21,690.6         50.1
    parse time elapsed                                   17,504.9         40.4
    DB CPU                                                4,998.0         11.5
    hard parse elapsed time                                 372.1           .9
    connection management call elapsed time                 183.9           .4
    sequence load elapsed time                              125.8           .3
    PL/SQL execution elapsed time                            89.2           .2
    PL/SQL compilation elapsed time                           9.2           .0
    inbound PL/SQL rpc elapsed time                           5.5           .0
    hard parse (sharing criteria) elapsed time                5.5           .0
    hard parse (bind mismatch) elapsed time                   0.5           .0
    failed parse elapsed time                                 0.1           .0
    repeated bind elapsed time                                0.0           .0
    DB time                                              43,304.1          N/A
    background elapsed time                               3,742.3          N/A
    background cpu time                                     114.8          N/A
                                                                      Avg
                                           %Time       Total Wait    wait     Waits
    Wait Class                      Waits  -outs         Time (s)    (ms)      /txn
    Concurrency                 1,413,633   97.5           14,283      10      92.8
    User I/O                      925,010     .3           11,485      12      60.7
    Other                       1,984,969     .2            2,858       1     130.3
    Application                     1,342   46.4            1,873    1396       0.1
    Configuration                  12,116   63.6            1,857     153       0.8
    System I/O                    582,094     .0            1,444       2      38.2
    Commit                         17,253     .6            1,057      61       1.1
    Network                     6,180,701     .0               68       0     405.9
    Wait Events                            DB/Inst: xxxx/xxxx  Snaps: 18085-18086
                                                                       Avg
                                                 %Time  Total Wait    wait     Waits
    Event                                 Waits  -outs    Time (s)    (ms)      /txn
    cursor: pin S wait on X           1,378,354  100.0      13,462      10      90.5
    db file sequential read             878,684     .0       8,779      10      57.7
    local write wait                      2,692   91.2       2,442     907       0.2
    cursor: pin S                     1,932,830     .0       2,270       1     126.9
    log file switch (checkpoint           2,669   49.1       1,510     566       0.2
    enq: RO - fast object reuse             542   86.5       1,398    2580       0.0
    log file sync                        17,253     .6       1,057      61       1.1
    control file sequential read        450,043     .0         579       1      29.6
    log file parallel write              17,903     .0         558      31       1.2
    enq: TX - row lock contentio            295   52.2         475    1610       0.0
    buffer busy waits                     7,338    4.4         348      47       0.5
    buffer exterminate                      322   92.5         302     938       0.0
    read by other session                24,694     .0         183       7       1.6
    library cache lock                       59   94.9         167    2825       0.0
    log file sequential read            109,494     .0         161       1       7.2
    latch: cache buffers chains          18,662     .0         149       8       1.2
    log buffer space                      2,493     .0         139      56       0.2
    Log archive I/O                       3,592     .0         131      37       0.2
    free buffer waits                     6,420   99.1         130      20       0.4
    latch free                           42,812     .0         121       3       2.8
    Streams capture: waiting for            845    6.0         106     125       0.1
    latch: library cache                  2,074     .0          96      46       0.1
    db file scattered read               12,437     .0          80       6       0.8
    enq: SQ - contention                    150   14.0          71     471       0.0
    SQL*Net more data from clien        331,961     .0          41       0      21.8
    latch: shared pool                      320     .0          32     100       0.0
    LGWR wait for redo copy               5,307   49.1          29       5       0.3
    SQL*Net more data to client         254,217     .0          17       0      16.7
    control file parallel write           1,038     .0          15      14       0.1
    latch: library cache lock               477     .4          14      29       0.0
    latch: row cache objects              6,013     .0          10       2       0.4
    SQL*Net message to client         5,587,878     .0          10       0     366.9
    latch: redo allocation                1,274     .0           9       7       0.1
    log file switch completion               62     .0           6      92       0.0
    Streams AQ: qmn coordinator               1  100.0           5    4882       0.0
    latch: cache buffers lru cha            434     .0           4       9       0.0
    block change tracking buffer            111     .0           4      35       0.0
    wait list latch free                    135     .0           3      21       0.0
    enq: TX - index contention              132     .0           2      17       0.0
    latch: session allocation               139     .0           2      14       0.0
    latch: object queue header o            379     .0           2       4       0.0
    row cache lock                           15     .0           2     107       0.0
    latch: redo copy                         56     .0           1      17       0.0
    latch: library cache pin                184     .0           1       5       0.0
    write complete waits                     14   28.6           1      51       0.0
    latch: redo writing                     251     .0           1       3       0.0
    enq: MN - contention                      3     .0           1     206       0.0
    enq: CF - contention                     16     .0           0      23       0.0
    log file single write                    24     .0           0      13       0.0
    os thread startup                         3     .0           0     102       0.0
    reliable message                         66     .0           0       4       0.0
    enq: JS - queue lock                      2     .0           0     136       0.0
    latch: cache buffer handles              46     .0           0       5       0.0
    buffer deadlock                          65  100.0           0       4       0.0
    latch: undo global data                  73     .0           0       3       0.0
    change tracking file synchro             24     .0           0       6       0.0
    change tracking file synchro             30     .0           0       3       0.0
    kksfbc child completion                   2  100.0           0      52       0.0
    SQL*Net break/reset to clien            505     .0           0       0       0.0
    db file parallel read                     3     .0           0      30       0.0
                                                                       Avg
                                                 %Time  Total Wait    wait     Waits
    Event                                 Waits  -outs    Time (s)    (ms)      /txn
    SQL*Net more data from dblin            127     .0           0       0       0.0
    SQL*Net more data to dblink             319     .0           0       0       0.0
    latch: enqueue hash chains               20     .0           0       2       0.0
    latch: checkpoint queue latc              5     .0           0       5       0.0
    SQL*Net message to dblink             6,199     .0           0       0       0.4
    enq: TX - allocate ITL entry              1     .0           0      22       0.0
    direct path read                      5,316     .0           0       0       0.3
    latch: messages                          24     .0           0       1       0.0
    enq: US - contention                      3     .0           0       4       0.0
    direct path write                     1,178     .0           0       0       0.1
    rdbms ipc reply                           1     .0           0       1       0.0
    library cache load lock                   2     .0           0       0       0.0
    direct path write temp                    3     .0           0       0       0.0
    direct path read temp                     3     .0           0       0       0.0
    SQL*Net message from client       5,587,890     .0     135,002      24     366.9
    wait for unread message on b          7,809   21.8       3,139     402       0.5
    LogMiner: client waiting for        262,604     .1       3,021      12      17.2
    LogMiner: wakeup event for b      1,405,104    2.4       2,917       2      92.3
    Streams AQ: qmn slave idle w            489     .0       2,650    5420       0.0
    LogMiner: wakeup event for p        123,723   32.1       2,453      20       8.1
    Streams AQ: waiting for time              9   55.6       1,790  198928       0.0
    LogMiner: reader waiting for         45,193   51.3       1,526      34       3.0
    Streams AQ: waiting for mess            297   99.3       1,052    3542       0.0
    Streams AQ: qmn coordinator             470   33.8       1,050    2233       0.0
    Streams AQ: delete acknowled            405   32.3       1,049    2591       0.0
    jobq slave wait                         379   77.8         958    2529       0.0
    LogMiner: wakeup event for r         16,591   10.6         125       8       1.1
    SGA: MMAN sleep for componen          3,928   99.3          35       9       0.3
    SQL*Net message from dblink           6,199     .0          31       5       0.4
    single-task message                     108     .0           8      74       0.0
    class slave wait                          3     .0           0       0       0.0
    Background Wait Events                 DB/Inst: xxxx/xxxx  Snaps: 18085-18086
    -> ordered by wait time desc, waits desc (idle events last)
                                                                       Avg
                                                 %Time  Total Wait    wait     Waits
    Event                                 Waits  -outs    Time (s)    (ms)      /txn
    log file parallel write              17,916     .0         558      31       1.2
    Log archive I/O                       3,592     .0         131      37       0.2
    log file sequential read              3,636     .0          47      13       0.2
    events in waitclass Other             6,149   42.4          40       7       0.4
    log file switch (checkpoint              30   53.3          19     619       0.0
    control file parallel write           1,038     .0          15      14       0.1
    db file sequential read               1,166     .0           6       5       0.1
    control file sequential read          2,986     .0           6       2       0.2
    latch: shared pool                        4     .0           4     917       0.0
    latch: library cache                      5     .0           3     646       0.0
    free buffer waits                       160   98.8           2      10       0.0
    buffer busy waits                         2     .0           1     404       0.0
    latch: redo writing                      19     .0           0      23       0.0
    log file single write                    24     .0           0      13       0.0
    os thread startup                         3     .0           0     102       0.0
    log buffer space                          7     .0           0      35       0.0
    latch: cache buffers chains              16     .0           0       8       0.0
    log file switch completion                1     .0           0      71       0.0
    latch: library cache lock                 3   66.7           0      11       0.0
    latch: redo copy                          1     .0           0      20       0.0
    direct path read                      5,316     .0           0       0       0.3
    latch: row cache objects                  3     .0           0       1       0.0
    direct path write                     1,174     .0           0       0       0.1
    latch: library cache pin                  3     .0           0       0       0.0
    rdbms ipc message                    20,401   24.2      11,112     545       1.3
    Streams AQ: qmn slave idle w            489     .0       2,650    5420       0.0
    Streams AQ: waiting for time              9   55.6       1,790  198928       0.0
    pmon timer                              379   94.5       1,050    2771       0.0
    Streams AQ: delete acknowled            406   32.3       1,050    2586       0.0
    Streams AQ: qmn coordinator             470   33.8       1,050    2233       0.0
    smon timer                              146     .0       1,039    7118       0.0
    SGA: MMAN sleep for componen          3,928   99.3          35       9       0.3
    Operating System Statistics             DB/Inst: xxxx/xxxx  Snaps: 18085-18086
    Statistic                                       Total
    AVG_BUSY_TIME                                  68,992
    AVG_IDLE_TIME                                  37,988
    AVG_IOWAIT_TIME                                28,529
    AVG_SYS_TIME                                   11,748
    AVG_USER_TIME                                  57,214
    BUSY_TIME                                     552,209
    IDLE_TIME                                     304,181
    IOWAIT_TIME                                   228,489
    SYS_TIME                                       94,253
    USER_TIME                                     457,956
    LOAD                                                2
    OS_CPU_WAIT_TIME                      147,872,604,500
    RSRC_MGR_CPU_WAIT_TIME                              0
    VM_IN_BYTES                                    49,152
    VM_OUT_BYTES                                        0
    PHYSICAL_MEMORY_BYTES                  25,630,269,440
    NUM_CPUS                                            8
    NUM_CPU_SOCKETS                                     8

    mbobak wrote:
    So, this is a parsing related wait. You already mentioned that you're doing lots of parsing, mostly soft. Do you have session_cursor_cache parameter set to a reasonable value? 10g, I believe the default is 50, which is probably not a bad starting point. You may get additional benefits with moderate increases, perhaps to 100-200 range. It can be costly to do so, but can the extra parsing be addressed in the application? Is there anything you can do to reduce parsing in the application? When the problem occurs, how is the CPU consumption on the box? Are the CPUs pegged? Are you bottlenecked on CPU resources? Finally, there are bugs around 10.2.0.x and mutexes, so, you may want to open an SR w/ Oracle support, and determine if the root cause is actually a bug.
    Mark,
    I think you might read a little more into the stats than you have done - averaging etc. notwithstanding.
    There are 8.55 "hard" parses per second - which in 17.96 minutes is about 9,500 hard parses - and there are 1.3M pin S wait on X: which is about 130 per hard parse (and 1.9M pin S). So the average statistics might be showing an interesting impact on individual actions.
    The waits on "local write wait" are worth nothing. There are various reasons for this, one of which is the segment header block writes and index root block writes when you truncate a table - which could also be a cause of the "enq: RO - fast object reuse" waits in the body of the report.
    Truncating tables tends to invalidate cursors and cause hard parsing.
    So I would look for code that is popular, executed from a number of sessions, and truncates tables.
    There were some bugs in this area relating to global temporay tables - but they should have been fixed in 10.2.0.4.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
    There is a +"Preview"+ tab at the top of the text entry panel. Use this to check what your message will look like before you post the message. If it looks a complete mess you're unlikely to get a response. (Click on the +"Plain text"+ tab if you want to edit the text to tidy it up.)
    +"Science is more than a body of knowledge; it is a way of thinking"+
    +Carl Sagan+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Metrics "Database Time Spent Waiting (%)" is at ... for event class "Commit

    Hi guys
    I'm getting this warning every 20 minutes from Enterprise Manager 10g: Metrics "Database Time Spent Waiting (%)" is at 67.62891 for event class "Commit". My database is an Oracle 10g 10.2.0.4 (Linux x84_64) with dataguard, one physical and one standby networked at 100Mbit. I have 3 groups of 50M redo log with a low volume of transaction for now. Here are some metrics numbers:
    SQL> select sum(seconds_in_wait),event from v$session_wait group by event;
    SUM(SECONDS_IN_WAIT) EVENT
    121210 SQL*Net message from client
    0 Streams AQ: waiting for messages in the queue
    18 wait for unread message on broadcast channel
    6 LNS ASYNC end of log
    30 jobq slave wait
    37571 rdbms ipc message
    384 smon timer
    35090 pmon timer
    I tune the my listerners for Dataguard using the documentation. I don't know what to tune anymore, is someone has a clue.
    Thanks,
    Chris

    cprieur wrote:
    Metrics "Database Time Spent Waiting (%)" is at 67.62891 for event class "Commit"
    I'am also getting this message at a regular time:
    Metrics "Database Time Spent Waiting (%)" is at 64.09801 for event class "Network"
    The report, I was sent only to indicate the time spent on: SQL*Net message from client
    I believe that these metrics are explained here (near the bottom of the page):
    http://download.oracle.com/docs/cd/B19306_01/em.102/b25986/oracle_database.htm
    There are only two wait events in the Commit class (on 11.1.0.7):
    log file sync
    enq: BB - 2PC across RAC instances
    log file sync waits happen when sessions issue a COMMIT or ROLLBACK. Sessions will wait on this event until LGWR completes its writes to the redo logs (LGWR will likely wait on the event log file parallel wriite while waiting for the write to complete). I believe that your DataGuard configuration may contribute to the long waits experienced by LGWR, and it may be made worse by the network connection.
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28294.pdf
    "Maximum availability - This protection mode provides the highest level of data protection that is possible without compromising the availability of a primary database. Transactions do not commit until all redo data needed to recover those transactions has been written to the online redo log and to at least one standby database."
    So, if Maximum availability is configured, the sessions will have to wait for the redo to be applied to the remote database.
    At the system-wide level you will almost always be able to ignore the SQL*Net message from client wait events. At the session level this wait event has a more significant meaning - the client computer is not actively waiting on a response from the database instance - the client is either sitting idle, or performing client-side processing.
    Sybrand, if he joins this thread, will likely be able to provide a more complete answer regarding DataGuard's contribution to the Commit wait class.
    Charles Hooper
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.

Maybe you are looking for

  • How can assign the value returned from javascript to Hidden item

    Hi All, I have created a report with button in one column adding following code to SQL select statement like SELECT USER_RQST_ID, USER_RQST_DESC, RQST_DATE, STATUS, USER_ID, CNTRY_ID, KPI_LIST, YEAR_LIST, QTR_LIST, MONTH_LIST, PROD_LIST, FULL_PERIOD_

  • Sample steps to setup BOM explosion in MRP

    Hi everyone, I am one of those unlucky folks that can't seem to get a simple BOM with FERT to explode HALB component within in MD02. I have spent two days reading every post about this common issue found over the Internet as far as 2007 and also read

  • SD # Is there any alteernative TCODE for this

    To Display Product hierarchey. what is the advantages of product hierarchey .

  • Ipod needs new operating system

    Hi there, I've just bought the new 120gb ipod classic, and was a little irritated to find it wasn't compatible with my ibook G4, because I apparently have an out of date operating system. I've been searching for a solution but it seems more complicat

  • NetBoot with user's preferences

    hello, how to set up individual mail or individual preferences of applications for each user logging with an image NetBoot on my OS X 10.5.2 Server ?? i'm trying to put their folder of mail preferences into the library of their homedirectory but no w