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

Tags: Database

Similar Questions

  • __Details: studying why 38% (11 007) events were lost during data collection. Settings for Windows event trace (ETW, Event Tracing for Windows) buffers, the buffer size and maximum is perhaps best not according to data sets are collected. __

    need to know how to enlarge events tracing buffers

    What is the size of your swap file? increase the size and place it in the root of your systemdrive!

    André "a programmer is just a tool that converts the caffeine in code" Deputy CLIP - http://www.winvistaside.de/

  • Wait events

    Hello

    the 11.2.0.4 SE on Win 2008

    then, do not have AWR. Then having the Top 5 leading timed events

    I ran the following:

    SELECT EVENT, n.WAIT_CLASS,

    TIME_WAITED_MICRO, ROUND(TIME_WAITED_MICRO*100/S.DBTIME,1) PCT_DB_TIME

    V $ SYSTEM_EVENT E, V$ EVENT_NAME N,.

    (SELECT the DBTIME VALUE OF V$ SYS_TIME_MODEL WHERE STAT_NAME = "DB time") S

    WHERE E.EVENT_ID = N.EVENT_ID

    AND N.WAIT_CLASS NOT IN ('inactive', ' E/s system') and ROUND(TIME_WAITED_MICRO*100/S.DBTIME,1) <>0

    ORDER BY ROUND(TIME_WAITED_MICRO*100/S.DBTIME,1) ASC;

    Capture.PNG

    Can I conclude that the most important issue on the database is db file sequential read and should be the subject of an investigation?

    Or rows returned are meaningless on the performance? Tunning?

    Do you sugest any other question?

    Thank you.

    Hello

    > Can conclude that the most important issue on the database is db file sequential read and should be the subject of an investigation?

    A wait event isn't a problem. It is just a little work of the database and the database is there work wo.

    This is a problem only if you too (in many calls of i/o) or slow (long of IO call duration)

    Your instance has been started just two minutes ago, no? This is not very important. Caches must warm up.

    You need to install Statspack. Read about it ORACLE_HOME/rdbms/admin/spdoc.txt

    Kind regards

    Franck.

  • 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

  • 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

  • Wait events "direct path write" and "direct path read".

    Hello

    We have a query that takes more than 2 minutes. It's a 9.2.0.7 database. We took the request trace/tkprof and identified there so manay 'direct entry path' and 'direct path read' wait for events in the trace file.

    WAITING #3: nam = "Write" direct path ela = 5 201 p1 = p2 = p3 70710 = 15
    WAITING #3: nam = "direct path read" ela = 170 201 p1 = p2 = 71719 p3 = 15

    In the light of the foregoing, "p1 = 201" is a the file_id, but we could not find any data file, the temporary file, the control file with this id # 201.
    Can you please let us know what "p1 = 201" here, how to identify the file that is causing the problem.

    Thank you
    Sravan

    Whatever it is:

    show parameter db_files
    

    back? I think, is that it returns 200.

    Read the file live and direct file writing events are reads and writes of tablespace TEMP. Wait events, folder # is reported as db_files + id of a temporary file. So, 201 means temp #1 file.

    Now, as to your real performance issue.

    Without seeing the SQL and the corresponding implementation plan, it is impossible to be sure. However, the most frequent causes of temporary entries are the operations of sorting and group by operations.

    If you decide to display your plan and SQL execution, please be sure to make it readable by formatting it. Information on how to do this can be found here.

    Hope that helps,

    -Mark

    Published by: mbobak on May 1st, 2011 01:50

  • How to see the info of waiting events. After executing a statement select query

    Hello

    How to see the info of waiting events. After running a select query. Is there a setting to the value of this option?
    And I also want to see the following info. in the trace file. For this, what are the settings I need to adjust to the right?
    SELECT * FROM emp, dept 
    WHERE emp.deptno = dept.deptno;
    
    call   count      cpu    elapsed     disk    query current    rows
    ---- -------  -------  --------- -------- -------- -------  ------
    Parse      1     0.16      0.29         3       13       0       0
    Execute    1     0.00      0.00         0        0       0       0
    Fetch      1     0.03      0.26         2        2       4      14 
     
    Misses in library cache during parse: 1 
    Parsing user id: (8) SCOTT 
    Concerning
    Evelyne

    For

    SQL > show parameter dump;

    ORA-00942: table or view does not exist
    >
    Use

     GRANT SEECT ON v_$parameter to Your_User_Name
    

    For

    SQL > ALTER SESSION SET EVENTS = 10046 trace name forever, context level 12';

    ERROR:
    ORA-01031: insufficient privileges
    >
    Use

     GRANT ALTER SESSION to your_user
    
  • RMAN stuck on wait event "CPI RDBMS response."

    Hi all

    DB: 10.2.0.3 EA
    Operating system: Solaris 10

    Below is a summary of the issue I faced, followed by details.

    Summary:

    I'm doing a "Save as copy" operation to RMAN, but it is retained by the db writer process. The event of waiting for writer rman process and db is "RDBMS ipc reply. The db writer process is in turn blocked by the process of "RBAL. The RBAL process seems to be waiting on the same process of writer db with wait events ' enq: FP - global fob contention "." Any ideas what could be causing this and what can I do to solve this problem?

    Details:

    I run the following operation in RMAN:
    RMAN> backup as copy database format '+DEV1';
    However, the process is stuck on the event of waiting "RDBMS ipc reply.
      SID OSUSER               PROGRAM                        LAST_CALL_ET EVENT
    ----- -------------------- ------------------------------ ------------ ------------------------------
      664 xxxxxx             rman@xxxxxx (TNS V1-V3)              4509 rdbms ipc reply
    Information from v$ session_wait are:
          SEQ#   SID EVENT                                  P1         P2 STATE                WAIT_TIME SECONDS_IN_WAIT
    ---------- ----- ------------------------------ ---------- ---------- ------------------- ---------- ---------------
          2848   664 rdbms ipc reply                         2         24 WAITING                      0       3
    After a bit of searching on Google, I discovered that the P1 parameter indicates the background is process causing the wait, so I checked that addresses:
    11:51:50 xxxx>SELECT NAME FROM V$BGPROCESS WHERE PADDR =
    11:54:40   2     (SELECT ADDR FROM V$PROCESS WHERE PID = 2);
    
    NAME
    ------------------------------
    DBW0
    So is East "DBW0" db writer process which is held upward. So I checked the wait for the DBW0 process event (I discovered the sid - it was 167)
          SEQ#   SID EVENT                                  P1         P2 STATE                WAIT_TIME SECONDS_IN_WAIT
    ---------- ----- ------------------------------ ---------- ---------- ------------------- ---------- ---------------
         30315   167 rdbms ipc reply                        55 2147423061 WAITING                      0       0
    So 'RDBMS ipc reply' also expects the process of «DBW0» So I find the process of pid = 55.
    11:59:48 xxxx>SELECT NAME FROM V$BGPROCESS WHERE PADDR =
    12:04:39   2     (SELECT ADDR FROM V$PROCESS WHERE PID = 55);
    
    NAME
    ------------------------------
    RBAL
    It turns out be RBAL. The sid of process RBAL is 321. So I find what he expects:
    12:04:41 xxxx>select event, blocking_session blocker from v$session where sid =321;
    
    EVENT                             BLOCKER
    ------------------------------ ----------
    enq: FP - global fob                  167
    contention
    
    12:06:14 xxxx>@sesswait
    Enter value for sid: 321
    
          SEQ#   SID EVENT                                  P1         P2 STATE                WAIT_TIME SECONDS_IN_WAIT
    ---------- ----- ------------------------------ ---------- ---------- ------------------- ---------- ---------------
            12   321 enq: FP - global fob           1179648006          0 WAITING                      0           61470
                     contention
    The blocker for RBAL 167 session, which is "DBW0. I couldn't find any information on this wait event ' enq: FP - global fob contention "." I'm not able to make further progress on this matter, so any help will be much appreciated.

    Published by: joshic on June 30, 2010 04:25

    joshic wrote:
    Hi all
    DB: 10.2.0.3 EA
    Operating system: Solaris 10
    The blocker for RBAL 167 session, which is "DBW0. I couldn't find any information on this wait event ' enq: FP - global fob contention "." I'm not able to make further progress on this matter, so any help will be much appreciated.

    Looks like Bug 7334426: BACKUP HANG ON A HANG CONDITION BETWEEN DBW AND RBAL

  • TOP 5 WAIT EVENT

    Hello

    the configurations below

    Oracle 10 g r2, Red hat Linux 5, RAC

    AWR report, I saw the following wait events

    If I check the event - enq: TX - line lock conflict

    Using sql, an event is - sysman - who
    and the other est--oracle@ora (J003)

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Top 5 timed events
    Event waits time Avg Wait (ms) % Total call time wait class
    Time CPU 40.8 13 283
    db file scattered read 3 434 917 2 5 769 17.7 of the user/o i
    ENQ: TX - conflict 9 846 4 809 488 14.8 Application line lock
    DB file sequential read 3 664 522 1 4 528 13.9 user I/O
    GC cr multi block 3 151 754 1 025 Cluster 3.1 request3 0

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

    Why this enq: TX - conflict of line lock having the lock for sysman & backround process
    is that this will affect the performance of the database

    RDS

    Published by: user1000000 on September 14, 2009 07:54

    This is the reason why nobody will answer your question probably :-)

  • DB file scattered read with Free (CBC) latch wait events

    Hi all

    On our production database server, we found about 50 sessions in lock Free (CBC) wait wait event with about 30 sessions waiting for db file scattered read... Also, the CPU load was obviously very high(90-99%).

    Our server has 4 CPU and OS is HP - UX
    Oracle version: 8.1.6.0.0
    The optimizer mode is RULE

    We found all sessions waiting performing this query below:
    (SELECT /*+ORDERED*/
            ud.user_id,
            DECODE (udl.new_user_name,
                    NULL, ud.user_name,
                    udl.new_user_name
                   ) AS user_name,
            udl.old_user_name, ud.PASSWORD, ud.status, au.first_name,
            au.last_name, sd.sd_id, sd.site_id, s.manager_number,
            sd.delivery_code, sd.site_server_id, au.email_address, au.outorg_id,
            udl.action_code, udl.action_category, udl.action_date AS action_date,
            au.admin_users_uid
       FROM user_delivery_log udl,
            user_delivery ud,
            appuser au,
           site_delivery sd,
            site_t s
      WHERE udl.action_date BETWEEN TO_DATE ('04/21/2009 17/46/25',
                                             'MM/DD/YYYY HH24/MI/SS'
                                            )
                                AND TO_DATE ('04/21/2009 17/47/26',
                                             'MM/DD/YYYY HH24/MI/SS'
                                            )
        AND (   (udl.action_category = 'I' AND BITAND (udl.action_code, 8195) != 0
                )
             OR (udl.action_category = 'U' AND BITAND (udl.action_code, 2079) != 0
                )
            )
        AND udl.site_id != 0
        AND ud.user_id = udl.user_id
        AND ud.sd_id = udl.sd_id
       AND ud.user_id = au.user_id
        AND ud.sd_id = sd.sd_id
        AND sd.site_id = s.site_id
        AND (sd.delivery_code = 'AEN')
        AND (   udl.new_user_name IS NOT NULL
            OR 0 =
                   ((SELECT /*+ORDERED*/
                            COUNT (*)
                       FROM user_delivery_log udl1
                      WHERE udl1.action_date
                               BETWEEN TO_DATE ('04/21/2009 17/46/25',
                                                'MM/DD/YYYY HH24/MI/SS'
                                               )
                                   AND TO_DATE ('04/21/2009 17/47/26',
                                               'MM/DD/YYYY HH24/MI/SS'
                                               )
                        AND (   (    udl1.action_category = 'I'
                                 AND BITAND (udl1.action_code, 8195) != 0
                                )
                             OR (    udl1.action_category = 'U'
                                 AND BITAND (udl1.action_code, 2079) != 0
                                )
                            )
                        AND udl1.site_id != 0
                        AND udl1.sd_id = ud.sd_id
                        AND udl1.user_id = ud.user_id
                        AND udl1.new_user_name IS NOT NULL))
            ))
    UNION
    (SELECT /*+ORDERED*/
            ud.user_id,
            DECODE (udl.new_user_name,
                    NULL, ud.user_name,
                    udl.new_user_name
                   ) AS user_name,
            NULL AS old_user_name, ud.PASSWORD, ud.status, au.first_name,
            au.last_name, sd.sd_id, sd.site_id, s.manager_number,
            sd.delivery_code, sd.site_server_id, au.email_address, au.outorg_id,
            1536, 'U', udl.action_date AS action_date, au.admin_users_uid
       FROM user_delivery_log udl,
            user_delivery ud,
            appuser au,
            site_delivery sd,
            site_t s
      WHERE (udl.user_id, udl.action_date) IN (
               SELECT   udl.user_id, MAX (action_date)
                   FROM user_delivery_log udl
                  WHERE udl.action_date <
                           TO_DATE ('04/21/2009 17/46/25',
                                    'MM/DD/YYYY HH24/MI/SS')
                    AND (   (    udl.action_category = 'I'
                             AND BITAND (udl.action_code, 8195) != 0
                            )
                         OR (    udl.action_category = 'U'
                             AND BITAND (udl.action_code, 2079) != 0
                            )
                        )
                    AND udl.user_id IN (
                           SELECT user_id
                             FROM appuser_log aul
                            WHERE aul.action_date
                                     BETWEEN TO_DATE ('04/21/2009 17/46/25',
                                                      'MM/DD/YYYY HH24/MI/SS'
                                                    )
                                         AND TO_DATE ('04/21/2009 17/47/26',
                                                      'MM/DD/YYYY HH24/MI/SS'
                                                     )
                              AND aul.action_category = 'U'
                              AND BITAND (aul.action_code, 5632) != 0)
                    AND udl.new_user_name IS NOT NULL
               GROUP BY user_id)
        AND udl.site_id != 0
        AND 0 =
               (SELECT COUNT (*)
                  FROM user_delivery_log udl, site_delivery sd
                 WHERE udl.action_date BETWEEN TO_DATE ('04/21/2009 17/46/25',
                                                        'MM/DD/YYYY HH24/MI/SS'
                                                       )
                                           AND TO_DATE ('04/21/2009 17/47/26',
                                                        'MM/DD/YYYY HH24/MI/SS'
                                                       )
                   AND (   (    udl.action_category = 'I'
                           AND BITAND (udl.action_code, 8195) != 0
                           )
                        OR (    udl.action_category = 'U'
                            AND BITAND (udl.action_code, 2079) != 0
                           )
                       )
                   AND udl.site_id != 0
                  AND udl.sd_id = sd.sd_id
                   AND udl.user_id = au.user_id
                   AND (sd.delivery_code = 'AEN'))
        AND ud.user_id = au.user_id
        AND ud.user_id = udl.user_id
        AND ud.sd_id = sd.sd_id
        AND sd.site_id = s.site_id
        AND (sd.delivery_code = 'AEN'))
    ORDER BY action_date ASC;
    
    Below is the execution plan:
    Execution Plan
    ----------------------------------------------------------
       0      SELECT STATEMENT Optimizer=RULE (Cost=341 Card=3 Bytes=312)
       1    0   SORT (UNIQUE) (Cost=342 Card=3 Bytes=312)
       2    1     UNION-ALL
       3    2       CONCATENATION
       4    3         FILTER
       5    4           NESTED LOOPS (Cost=12 Card=1 Bytes=100)
       6    5             NESTED LOOPS (Cost=11 Card=1 Bytes=94)
       7    6               NESTED LOOPS (Cost=10 Card=1 Bytes=77)
      8    7                 NESTED LOOPS (Cost=8 Card=1 Bytes=52)
       9    8                   TABLE ACCESS (BY INDEX ROWID) OF 'USER_DEL
              IVERY_LOG' (Cost=4 Card=2 Bytes=58)
      10    9                     INDEX (RANGE SCAN) OF 'IE1_USER_DELIVERY
              _LOG' (NON-UNIQUE) (Cost=3 Card=2)
      11    8                   TABLE ACCESS (BY INDEX ROWID) OF 'USER_DEL
              IVERY' (Cost=2 Card=1192563 Bytes=27428949)
      12   11                     INDEX (UNIQUE SCAN) OF 'IDX_PK_INV_USER_
              SD_ID' (UNIQUE) (Cost=1 Card=1192563)
      13    7                 TABLE ACCESS (BY INDEX ROWID) OF 'APPUSER' (
              Cost=2 Card=863102 Bytes=21577550)
      14   13                   INDEX (UNIQUE SCAN) OF 'PK_APPUSER' (UNIQU
              E) (Cost=1 Card=863102)
      15    6               TABLE ACCESS (BY INDEX ROWID) OF 'SITE_DELIVER
              Y' (Cost=1 Card=3494 Bytes=59398)
      16   15                 INDEX (UNIQUE SCAN) OF 'PK_NEW_SITE_DELIVERY
              ' (UNIQUE)
      17    5             TABLE ACCESS (BY INDEX ROWID) OF 'SITE_T' (Cost=
              1 Card=64113 Bytes=384678)
      18   17               INDEX (UNIQUE SCAN) OF 'PK_SITE_T' (UNIQUE)
      19    4           TABLE ACCESS (BY INDEX ROWID) OF 'USER_DELIVERY_LO
              G' (Cost=6 Card=1 Bytes=27)
      20   19             INDEX (RANGE SCAN) OF 'IE1_USER_DELIVERY_LOG' (N
              ON-UNIQUE) (Cost=3 Card=1)
      21    3         FILTER
      22   21           NESTED LOOPS (Cost=12 Card=1 Bytes=100)
      23   22             NESTED LOOPS (Cost=11 Card=1 Bytes=94)
      24   23               NESTED LOOPS (Cost=10 Card=1 Bytes=77)
      25   24                 NESTED LOOPS (Cost=8 Card=1 Bytes=52)
      26   25                   TABLE ACCESS (BY INDEX ROWID) OF 'USER_DEL
              IVERY_LOG' (Cost=4 Card=2 Bytes=58)
      27   26                     INDEX (RANGE SCAN) OF 'IE1_USER_DELIVERY
             _LOG' (NON-UNIQUE) (Cost=3 Card=2)
      28   25                   TABLE ACCESS (BY INDEX ROWID) OF 'USER_DEL
              IVERY' (Cost=2 Card=1192563 Bytes=27428949)
      29   28                     INDEX (UNIQUE SCAN) OF 'IDX_PK_INV_USER_
              SD_ID' (UNIQUE) (Cost=1 Card=1192563)
      30   24                 TABLE ACCESS (BY INDEX ROWID) OF 'APPUSER' (
              Cost=2 Card=863102 Bytes=21577550)
      31   30                   INDEX (UNIQUE SCAN) OF 'PK_APPUSER' (UNIQU
             E) (Cost=1 Card=863102)
      32   23               TABLE ACCESS (BY INDEX ROWID) OF 'SITE_DELIVER
              Y' (Cost=1 Card=3494 Bytes=59398)
      33   32                 INDEX (UNIQUE SCAN) OF 'PK_NEW_SITE_DELIVERY
              ' (UNIQUE)
      34   22             TABLE ACCESS (BY INDEX ROWID) OF 'SITE_T' (Cost=
              1 Card=64113 Bytes=384678)
      35   34               INDEX (UNIQUE SCAN) OF 'PK_SITE_T' (UNIQUE)
      36    2       NESTED LOOPS (Cost=314 Card=1 Bytes=112)
      37   36         NESTED LOOPS (Cost=313 Card=1 Bytes=106)
      38   37           NESTED LOOPS (Cost=312 Card=1 Bytes=89)
      39   38             NESTED LOOPS (Cost=310 Card=1 Bytes=64)
      40   39               NESTED LOOPS (Cost=306 Card=1 Bytes=41)
      41   40                 VIEW OF 'VW_NSO_1' (Cost=302 Card=1 Bytes=22
              )
      42   41                   SORT (GROUP BY) (Cost=302 Card=1 Bytes=35)
      43   42                     NESTED LOOPS (Cost=299 Card=1 Bytes=35)
      44   43                       TABLE ACCESS (FULL) OF 'APPUSER_LOG' (
              Cost=93 Card=1 Bytes=16)
      45   43                       TABLE ACCESS (FULL) OF 'USER_DELIVERY_
              LOG' (Cost=206 Card=73505 Bytes=1396595)
      46   40                 TABLE ACCESS (BY INDEX ROWID) OF 'USER_DELIV
              ERY_LOG' (Cost=4 Card=429251 Bytes=8155769)
      47   46                   INDEX (RANGE SCAN) OF 'IE1_USER_DELIVERY_L
              OG' (NON-UNIQUE) (Cost=3 Card=429251)
      48   39               TABLE ACCESS (BY INDEX ROWID) OF 'USER_DELIVER
             Y' (Cost=4 Card=1192563 Bytes=27428949)
      49   48                 INDEX (RANGE SCAN) OF 'IDX_PK_INV_USER_SD_ID
              ' (UNIQUE) (Cost=3 Card=1192563)
      50   38             TABLE ACCESS (BY INDEX ROWID) OF 'APPUSER' (Cost
              =2 Card=43156 Bytes=1078900)
      51   50               INDEX (UNIQUE SCAN) OF 'PK_APPUSER' (UNIQUE) (
              Cost=1 Card=43156)
      52   51                 NESTED LOOPS (Cost=7 Card=1 Bytes=31)
      53   52                   TABLE ACCESS (BY INDEX ROWID) OF 'USER_DEL
             IVERY_LOG' (Cost=6 Card=1 Bytes=24)
      54   53                     INDEX (RANGE SCAN) OF 'IE1_USER_DELIVERY
              _LOG' (NON-UNIQUE) (Cost=3 Card=1)
      55   52                   TABLE ACCESS (BY INDEX ROWID) OF 'SITE_DEL
              IVERY' (Cost=1 Card=3494 Bytes=24458)
      56   55                     INDEX (UNIQUE SCAN) OF 'PK_NEW_SITE_DELI
              VERY' (UNIQUE)
      57   37           TABLE ACCESS (BY INDEX ROWID) OF 'SITE_DELIVERY' (
              Cost=1 Card=3494 Bytes=59398)
      58   57             INDEX (UNIQUE SCAN) OF 'PK_NEW_SITE_DELIVERY' (U
              NIQUE)
      59   36         TABLE ACCESS (BY INDEX ROWID) OF 'SITE_T' (Cost=1 Ca
              rd=64113 Bytes=384678)
      60   59           INDEX (UNIQUE SCAN) OF 'PK_SITE_T' (UNIQUE)
    For a clear view of the execution plan:
    Plan Table
    --------------------------------------------------------------------------------------------------------
    | Operation                 |  Name    |  Rows | Bytes|  Cost  | Pstart| Pstop |
    --------------------------------------------------------------------------------
    | SELECT STATEMENT          |          |     3 |  312 |    341 |       |       |
    |  SORT UNIQUE              |          |     3 |  312 |    342 |       |       |
    |   UNION-ALL               |          |       |      |        |       |       |
    |    CONCATENATION          |          |       |      |        |       |       |
    |     FILTER                |          |       |      |        |       |       |
    |      NESTED LOOPS         |          |     1 |  100 |     12 |       |       |
    |       NESTED LOOPS        |          |     1 |   94 |     11 |       |       |
    |        NESTED LOOPS       |          |     1 |   77 |     10 |       |       |
    |         NESTED LOOPS      |          |     1 |   52 |      8 |       |       |
    |          TABLE ACCESS BY I|USER_DELI |     2 |   58 |      4 |       |       |
    |           INDEX RANGE SCAN|IE1_USER_ |     2 |      |      3 |       |       |
    |          TABLE ACCESS BY I|USER_DELI |     1M|   26M|      2 |       |       |
    |           INDEX UNIQUE SCA|IDX_PK_IN |     1M|      |      1 |       |       |
    |         TABLE ACCESS BY IN|APPUSER   |   863K|   20M|      2 |       |       |
    |          INDEX UNIQUE SCAN|PK_APPUSE |   863K|      |      1 |       |       |
    |        TABLE ACCESS BY IND|SITE_DELI |     3K|   58K|      1 |       |       |
    |         INDEX UNIQUE SCAN |PK_NEW_SI |     3K|      |        |       |       |
    |       TABLE ACCESS BY INDE|SITE_T    |    64K|  375K|      1 |       |       |
    |        INDEX UNIQUE SCAN  |PK_SITE_T |    64K|      |        |       |       |
    |      TABLE ACCESS BY INDEX|USER_DELI |     1 |   27 |      6 |       |       |
    |       INDEX RANGE SCAN    |IE1_USER_ |     1 |      |      3 |       |       |
    |     FILTER                |          |       |      |        |       |       |
    |      NESTED LOOPS         |          |     1 |  100 |     12 |       |       |
    |       NESTED LOOPS        |          |     1 |   94 |     11 |       |       |
    |        NESTED LOOPS       |          |     1 |   77 |     10 |       |       |
    |         NESTED LOOPS      |          |     1 |   52 |      8 |       |       |
    |          TABLE ACCESS BY I|USER_DELI |     2 |   58 |      4 |       |       |
    |           INDEX RANGE SCAN|IE1_USER_ |     2 |      |      3 |       |       |
    |          TABLE ACCESS BY I|USER_DELI |     1M|   26M|      2 |       |       |
    |           INDEX UNIQUE SCA|IDX_PK_IN |     1M|      |      1 |       |       |
    |         TABLE ACCESS BY IN|APPUSER   |   863K|   20M|      2 |       |       |
    |          INDEX UNIQUE SCAN|PK_APPUSE |   863K|      |      1 |       |       |
    |        TABLE ACCESS BY IND|SITE_DELI |     3K|   58K|      1 |       |       |
    |         INDEX UNIQUE SCAN |PK_NEW_SI |     3K|      |        |       |       |
    |       TABLE ACCESS BY INDE|SITE_T    |    64K|  375K|      1 |       |       |
    |        INDEX UNIQUE SCAN  |PK_SITE_T |    64K|      |        |       |       |
    |    NESTED LOOPS           |          |     1 |  112 |    314 |       |       |
    |     NESTED LOOPS          |          |     1 |  106 |    313 |       |       |
    |      NESTED LOOPS         |          |     1 |   89 |    312 |       |       |
    |       NESTED LOOPS        |          |     1 |   64 |    310 |       |       |
    |        NESTED LOOPS       |          |     1 |   41 |    306 |       |       |
    |         VIEW              |VW_NSO_1  |     1 |   22 |    302 |       |       |
    |          SORT GROUP BY    |          |     1 |   35 |    302 |       |       |
    |           NESTED LOOPS    |          |     1 |   35 |    299 |       |       |
    |            TABLE ACCESS FU|APPUSER_L |     1 |   16 |     93 |       |       |
    |            TABLE ACCESS FU|USER_DELI |    73K|    1M|    206 |       |       |
    |         TABLE ACCESS BY IN|USER_DELI |   429K|    7M|      4 |       |       |
    |          INDEX RANGE SCAN |IE1_USER_ |   429K|      |      3 |       |       |
    |        TABLE ACCESS BY IND|USER_DELI |     1M|   26M|      4 |       |       |
    |         INDEX RANGE SCAN  |IDX_PK_IN |     1M|      |      3 |       |       |
    |       TABLE ACCESS BY INDE|APPUSER   |    43K|    1M|      2 |       |       |
    |        INDEX UNIQUE SCAN  |PK_APPUSE |    43K|      |      1 |       |       |
    |         NESTED LOOPS      |          |     1 |   31 |      7 |       |       |
    |          TABLE ACCESS BY I|USER_DELI |     1 |   24 |      6 |       |       |
    |           INDEX RANGE SCAN|IE1_USER_ |     1 |      |      3 |       |       |
    |          TABLE ACCESS BY I|SITE_DELI |     3K|   23K|      1 |       |       |
    |           INDEX UNIQUE SCA|PK_NEW_SI |     3K|      |        |       |       |
    |      TABLE ACCESS BY INDEX|SITE_DELI |     3K|   58K|      1 |       |       |
    |       INDEX UNIQUE SCAN   |PK_NEW_SI |     3K|      |        |       |       |
    |     TABLE ACCESS BY INDEX |SITE_T    |    64K|  375K|      1 |       |       |
    |      INDEX UNIQUE SCAN    |PK_SITE_T |    64K|      |        |       |       |
    --------------------------------------------------------------------------------
    All the locks of CBC point to the APPUSER_LOG and USER_DELIVERY_LOG tables.
    Could someone help me please in the setting of this query, I need to avoid latch and scattered read... .as application knows huge slow...

    -Yasser

    YasserRACDBA wrote:

    Oracle version: 8.1.6.0.0
    The optimizer mode is RULE

    We found all sessions waiting performing this query below:

    (SELECT /*+ORDERED*/
    

    Even if you run based on rules in general, this query will run based on costs due to the indicator.
    Do you have statistics in place to support the OBC?

    | VIEW |VW_NSO_1 | 1 | 22 | 302 | | |
    | SORT GROUP BY | | 1 | 35 | 302 | | |
    | NESTED LOOPS | | 1 | 35 | 299 | | |
    | TABLE ACCESS FU|APPUSER_L | 1 | 16 | 93 | | |
    | TABLE ACCESS FU|USER_DELI | 73K| 1M| 206 | | |

    This is typical of an unnested "IN" subquery - it looks like the optimiser has unnested your double-level IN subquery finding the maximum action date for a user who has done something in the last minute into a massive group and aggregate (so we've got unnesting and complex view merging all in one - I don't think I've seen that in 8i before).

    Your db file scattered reads are probably extreme because (a) the USER_DELIxxxx table is big, and (b) the number of rows you are getting from the APPUSER_Lxxx table is more than the one that Oracle expects. You may find that collecting stats on APPUSER_Lxxx addresses this issue

    I can't see any reason why the appuser_log table should be subject to cache buffers chains latch problems - if the plan is true than the only thing it suffers is one full scan. However, given the "one row" estimate that comes out of the VW_NOS_1 line, the optimizer is free to do all sorts of silly things as it works through the chain of nested loops, and if the number of rows from the driver is much more than one then the indexed activity against USER_DELIxxx could be huge.

    For example:

    |         TABLE ACCESS BY IN|USER_DELI |   429K|    7M|      4 |       |       |
    |          INDEX RANGE SCAN |IE1_USER_ |   429K|      |      3 |       |       |
    

    Is the next step in this nested loop (and similar things happen more down and in the previous sections of the plan) suggesting that a systematic index scan rnage will pick up thousands of lines - which, even if only about right, could mean a huge number of buffer visits to the table. ... the numbers don't make real sense, either by the way, but once again, it is probably due to the lack of appropriate statistics.

    Concerning
    Jonathan Lewis
    http://jonathanlewis.WordPress.com
    http://www.jlcomp.demon.co.UK

    "Science is more than a body of knowledge; It's a way of thinking. "
    Carl Sagan

  • 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

  • Satellite L650 - blue screen, event tracing fatal error

    Hello! Good morning / evening depending on where you are!

    I have a L - 650 Satellite nearly 3 years, wortking on Windows 10, updated regularly.
    Since August 2015 a blue screen appears saying "Fatal error tracing Event" or "unhandled exception". then black screen "Press ctrl + Alt + Delete" so familiar to the born of the users BACK. Ant I have to reboot.

    In October, I had my fixed disk has changed, but the problem persists much less frequently.
    Some forums announce that there is a compatibility issue with W10

    Any information or should I buy a new machine?
    TKS
    Lionel

    Moreover, my new fixed disk is a 15KXTAP8T of TB Toshiba S/N 1 1P2C ICA HDKGB13HZA01 T MODREL MQ01ABD100 REV AAH AA01/AX
    Lionel

  • When is it OK for looping while you wait event?

    Newbie question: in a world of logic non-blocking, when is it a good idea to loop waiting for something finish?

    For example, I am told to check to END_OF_MEDIA (via PlayerListener) to see if a song I played with ToneControl is finished. So is it possible to just create a loop and wait for it be triggered?

    Here is a very simple (albeit artificial) example. I want to play a melody (using ToneControl) twice. I play once, wait until it's done, then play again. END_OF_MEDIA tells me it's done. But have I not need to sit in a loop, then waiting for END_OF_MEDIA? Is it OK? It looks bad, but I don't know what would be the 'right' way.

    Thank you.

    Roricka

    The code I used was something called an anonymous inner class Java. Here's another version that does not use this construction somewhat obscure:

    void startTune() {    Player p = Manager.createPlayer(...);    p.addPlayerListener( new MyPlayerListener() );    p.start();}
    
    class MyPlayerListener implements PlayerListener {    public void playerUpdate(Player player, String event, Object eventData) {        if (event == END_OF_MEDIA) {            processEndOfMedia();        }    }}
    

    Note This class myplayerlistener is declared inside the MyScreen, right as well as the methods of the class and variable fields. All this has done is to convert an anonymous inner class in an inner class with a name.

    Now, it might look like you can move then comes from the MyPlayerListener class in a separate file named MyPlayerListener.java. But this does not work, at least not directly. The reason is related to one of the strange features of inner classes in Java (anonymous or not): an instance of an inner class carries with it an implicit reference to an instance of the containing class. That's why playerUpdate() can call processEndOfMedia() as if it was a MyPlayerListener member function, even if it is a member of MyScreen function. Somehow, an instance of MyPlayerListener lives a dual identity as an instance of MyScreen.

    If you want that myplayerlistener has stated in its own file (or if you want her to be a top-level class, not public in MyScreen.java or a static inner class of MyScreen), the rules of the language to say that there can be more than double-identity of nature. At this time, you cannot call the processEndOfMedia() in the same way as a MyPlayerListener instance does not have a reference to an instance of MyScreen. (In fact, it has no way of knowing that processEndOfMedia() is a function in the class MyScreen!) The way out of this is to give MyPlayerListener a way to refer to a particular instance of MyScreen. Here's one way:

    class MyPlayerListener implements PlayerListener {    private MyScreen client;    public MyPlayerListener(MyScreen client) {        this.client = client;    }    public void playerUpdate(Player player, String event, Object eventData) {        if (event == END_OF_MEDIA) {            client.processEndOfMedia();        }    }}
    

    Then, back in MyScreen, you need to change the call to the constructor:

        p.addPlayerListener( new MyPlayerListener(this) );
    

    And if you put MyPlayerListener in another package that MyScreen, you must also change the visibility of public processEndOfMedia().

    Anonymous inner classes are very convenient for these listener classes little, but they do not have the code a bit difficult to read. Put them in their own compilation units are more work, but it makes the code a little easier to manage, especially when come back you after a few months and try to understand what made you the way back when.

  • 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

  • PX Deq Credit: send blkd wait event

    Hi all

    I'm working on a performance issue for a DB Oracle 10.2.0.5 under HP UX.
    While taking a peek to the CWA, I see the following in the Top 5 timed events section:
    The first is:

    PX Deq Credit: send blkd

    I checked and the tables and indexes are not in parallel, can be using queries with PARALLEL hint.

    In the statistics section of time model, the first is sql execute time (95% of the time of the db)

    Is "PX Deq Credit: send blkd" a problem?
    I mean, is the DB waiting for or it's just a time of inactivity and I shouldn't worry about this.

    pending classs, other is 94% of the time to the db.

    Thanks in advance.

    Published by: Diego on 20-Dec-2011 06:35

    It is an idle event details in

    WAITEVENT: "PX Deq Credit: send blkd" [271767.1 ID]

    on MOS.

Maybe you are looking for

  • Mail App crash Reped

    my mail app keeps crashing ios 9.2.1 any corrections!

  • Touch and the launch cannot be installed on the Satellite M70 - 192

    (Sorry for the bad English)I had uninstalled Touch and launch program because it did not work properly. When I tried to install another time readings that it can be installed only on Toshiba computer. How to fix that?

  • What card FireWire do I need for my computer?

    Hello I'm going to buy a film scanner (Nikon Coolscan 8000 ED) and it is the only link through an ieee 1394 firewire. Unfortunately, my hp p6620f is not a FireWire port. I'm running on Windows 7. 1.) is it still possible for me to get a card firewire

  • Incoming calls do not show name

    Hi, last week I bought a second Genesis e bike so I synced my contacts list, by going to tools > accounts > add account > Google There all my contact contact list has been updated, (all the contacts have a number of respective cel) but every time som

  • Save multiple Images of root folder

    Hello colleagues LabView programmers,. I need HELP URGENT! ~ My current UI only able to save image of many smaller images tiled in 1 full picture when I have my directory of the path of entry and execute it and this program will save the entire Image