enqueues and locks

    技术2022-05-11  88

    statspack dump

    Top 5 Wait Events ~~~~~~~~~~~~~~~~~                                             Wait % Total Event                                               Waits  Time (cs) Wt Time -------------------------------------------- ------------ ------------ ------- enqueue                                             5,810    1,730,154  74.95 PL/SQL lock timer                                   4,209      473,702  20.52 pipe put                                              271       27,826   1.21 latch free                                         36,676       16,935    .73 db file sequential read                            31,151       11,278    .49

    Enqueue activity for DB: PROD  Instance: PROD  Snaps: 294 -306 -> ordered by waits desc, gets desc

    Enqueue            Gets      Waits ---------- ------------ ---------- TX               98,227         98

    result : TX enqeues locks find it lock objects and which sql lock it

    select * from v$system_event se where UPPER(se.EVENT)='ENQUEUE' EVENT     TOTAL_WAITS TOTAL_TIMEOUTS TIME_WAITED AVERAGE_WAIT ----- ----------- -------------- ----------- ------------ enqueue    3181           2846      880619 276.83715812

    when total_waits adding

     select * from v$session s where s.USERNAME='CRG' and s.LOCKWAIT is not null;

    SADDR           SID    SERIAL#     AUDSID PADDR         USER# USERNAME                         COMMAND    OWNERID TADDR    LOCKWAIT STATUS SERVER       SCHEMA# SCHEMANAME                     OSUSER            PROCESS   MACHINE               TERMINAL                       PROGRAM                       TYPE       SQL_ADDRESS SQL_HASH_VALUE PREV_SQL_ADDR PREV_HASH_VALUE MODULE        MODULE_HASH ACTION                           ACTION_HASH CLIENT_INFO FIXED_TABLE_SEQUENCE ROW_WAIT_OBJ# ROW_WAIT_FILE# ROW_WAIT_BLOCK# ROW_WAIT_ROW# LOGON_TIME  LAST_CALL_ET PDML_ENABLED FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER RESOURCE_CONSUMER_GROUP PDML_STATUS PDDL_STATUS PQ_STATUS

    select * from v$lock l where l.TYPE='TX'

    link l.kaddr = s.lockwait

    sql casue lock ================ select * from v$sqltext st where st.hash_value =  $l.sql_hash_value

    object be locked ================= select * from v$dba_dml_locks ddl where ddl.sid= $s.sid

    TX enqeues raise because 1: the table has bm index be updated 2: unqion index table be updated long time wihtout commit; 3: many user operate a block ; fix : need more itl ,bigger  initrans and maxtrans of table, increase pctfree valuse of table.

        oraclehu  2005-10-28 03:39 PM


    最新回复(0)