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 :-)

Tags: Database

Similar Questions

  • latch: allocation of session in top 5 wait events

    Hello
    This expectation of event session is to come in the timed 5 Albums

    How do I solve this problem?

    This database is currently used only for purposes of migration which means a lot of current imports.

    PFB the Top 5 timed events in foreground

    ++++++++++++++++++
    Event waits Time (s) waiting (ms) % DB class average response time wait
    DB CPU 8 437 57.95
    latch: 2 035 326 3 671 2 25.22 session allocation others
    243 511 2 448 10 16.81 free waiting list latch others
    direct path write 504 262 363 1 2.49 user I/O
    39 396 156 4 file synchronization log Commit 1.07
    ++++++++++++++++++

    See you soon,.
    Malika
  • 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.

  • 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.

  • Redo the wait event log

    Hello
    in my top evens that I have:

    Top 5 timed events Avg % Total
    ~ ~ ~ waiting for call
    Event waits time (s) (ms) time wait class
    ------------------------------ ------------ ----------- ------ ------ ----------
    Time CPU 1 894 36.1
    Log file sync 36 862 1 008 27 19.2 commit
    file db scattered read 165 508 970 6 18.5 user I/O
    DB 196 596 4 857 sequential reading 16.3 file IO user
    log file parallel write 35 847 565 16 10.8 I/O system

    Log file are on separate disks, without activity, only 1 Redo by group and 4 groups.
    I think 27ms to log file sync is high.
    I raised is committed in sqlloader place lines = 100000 rather 30000 but it is still high.
    Who controls I can perform?
    I am on AIX 5.3 and database 10.2.0.4.4

    Please check the performance of the disc in first place (with JJ or equivalent).

    Please involve your system administrator as the dd command can be deadly in the event of incorrect use :-).

  • 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

  • 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

  • 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.

  • Top 5 system event

    Hello

    I'm looking for a query that will give me the top n SYSTEM DEMONSTRATIONS (not wait). The statspack is on and the version of DB 9i. I also prepare a script for an overview on the DB. Something like health check report on the DB using the Statspack data. You guys can suggest me some SQLs/reports for it.

    Thank you is advanced,
    Jaggyam

    SQL > 1
    1 * select event, total_waits, total_timeouts, average_wait of the order of v$ system_event by total_waits desc;

    EVENT                          TOTAL_WAITS TOTAL_TIMEOUTS AVERAGE_WAIT
    ------------------------------ ----------- -------------- ------------
    db file scattered read             3606165              0            0
    db file sequential read             764607              0            0
    rdbms ipc message                    90100          90033          496
    SQL*Net message to client            68491              0            0
    SQL*Net message from client          68485              0          208
    control file sequential read         25895              0            0
    pmon timer                           22244          21958          289
    SQL*Net more data to client           7763              0            0
    SQL*Net more data from client         2638              0           23
    control file parallel write           2417              0            1
    virtual circuit status                2194           2194         2919
    
    EVENT                          TOTAL_WAITS TOTAL_TIMEOUTS AVERAGE_WAIT
    ------------------------------ ----------- -------------- ------------
    SQL*Net break/reset to client         2162              0            0
    dispatcher timer                      1097           1097         5815
    wakeup time manager                    826            822          970
    smon timer                             659            121         9532
    async disk IO                          193              0            0
    process startup                        131              0            1
    latch free                             122             11            1
    direct path read                       110              0            0
    checkpoint completed                    74             73          480
    direct path write                       66              0            0
    log file sequential read                26              0            0
    
    EVENT                          TOTAL_WAITS TOTAL_TIMEOUTS AVERAGE_WAIT
    ------------------------------ ----------- -------------- ------------
    db file parallel read                   25              0          190
    buffer busy waits                       17              0            3
    db file parallel write                   6              0            0
    rdbms ipc reply                          3              0            1
    reliable message                         1              0            0
    instance state change                    1              0            0
    refresh controlfile command              1              0            0
    control file heartbeat                   1              1          391
    
    30 rows selected.
    
    SQL>
    
    SQL> select event,total_waits,total_timeouts,average_wait
      2  from v$session_event
      3  where sid=8
      4  order by average_wait desc;
    
    EVENT                            TOTAL_WAITS TOTAL_TIMEOUTS AVERAGE_WAIT
    -------------------------------- ----------- -------------- ------------
    SQL*Net message from client               43              0          357
    log buffer space                          36              0            9
    log file sync                              4              0            6
    async disk IO                            196              0            4
    local write wait                           7              0            4
    rdbms ipc reply                            4              0            3
    control file parallel write               12              0            2
    db file single write                       2              0            1
    control file sequential read              21              0            0
    db file sequential read                  137              0            0
    SQL*Net message to client                 44              0            0
    SQL*Net more data to client                1              0            0
    direct path write                          2              0            0
    db file scattered read                     1              0            0
    
    14 rows selected.
    
  • Wait event tracing.

    Hi all

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

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

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

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

    Hello

          

    Select time,

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

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

      of

      (

          Select sn . begin_interval_time time,

                  e. event event_name

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

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

          de DBA_HIST_SYSTEM_EVENT e,

    SN DBA_HIST_SNAPSHOT

           e. snap_id = sn . snap_id

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

      )

      Group by time

      order by time DESC;

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

    Best regards

    Nikolai

Maybe you are looking for

  • Bug in El Capitan Dictionary widget

    The widget dictionary in the dashboard area does not resize to match the text when you look at a definition. Yosemite, it is automatically resized for content of text looking for a Word, and you can also resize the window further if you preferred. Pl

  • Deleted message drama

    Hello world I made a huge mistake and something friend messaged that certainly wasn't for her. I crossed the border of friendship (I know its bad) and deleted the message from his phone and laptop thread. Is there a way this can be recovered? Or is i

  • When visit web page strange symbols cover the web page, it happens on sites visited, confirmed that the site and page visited is normal on the other pc.

    I scanned for malware using Spy Bot, EAST Smart Security, Microsoft security essentials and IO bit Malware Fighter. All of them are own return. Have uninstalled Firefox and clean Firefox installed after the reboot.Still no change. I thank in advance

  • Satellite A300 - dvd, usb and card reader does not work

    Help needed please. Have a laptop Satellite A300, running vista. Until a few weeks ago everything good, then noticed the cd did you not recognized and disk in it. The card reader can't find anything on the card (and Yes, the card was full.) The usb s

  • Satellite 110CS: PC cards?

    Now, * please * don't laugh. I've had two of these beasts (don't ask) and actually like them as good solid material that is pleasant to use, if not swift & elegant. I really need to know how it's easy to get going with USB, network/modem & (poss) CDR