'library cache lock'等待事件的處理方法
1.SQL> desc v$lock;
Name Type Nullable Default Comments
------- ----------- -------- ------- --------
ADDR RAW(4) Y
KADDR RAW(4) Y
SID NUMBER Y
TYPE VARCHAR2(2) Y
ID1 NUMBER Y
ID2 NUMBER Y
LMODE NUMBER Y
REQUEST NUMBER Y
CTIME NUMBER Y
BLOCK NUMBER Y
SQL> select * from v$lock where lmode=6 and type='TM';
如果有結果返回,則檢查相應的sid執行什麼sql:
SQL> select sql_text from v$sqlarea where address=(select sql_address
SQL> from v$session where sid=$SID);
並且檢查什麼物件被鎖住:
select object_id,owner,object_name,object_type from dba_objects where object_id=$ID1;
然後根據sql找原因。
如果沒有結果返回,則表明鎖的原因不是由於DDL操作。繼續如下步驟。
2. 當hang的情況發生時,新開一個session,執行如下SQL生成一個TRACE檔案,位於目錄USER_DUMP_DEST下:
SQL>ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME SYSTEMSTATE LEVEL
SQL>10';
用如下SQL找到被鎖住SESSION的PID
SQL> select pid from v$process where addr=(select paddr from v$session
SQL> where sid=$SID);
開啟新生成的TRACE檔案,搜尋 'PROCESS $PID'。
TRACE檔案的示例內容:
PROCESS 8:
----------------------------------------
......
......
O/S info: user: daemon, term: pts/1, ospid: 15160, machine: goblin.forgotten.realms
program: (TNS V1-V3)
application name: SQL*Plus, hash value=3669949024
waiting for 'library cache lock' blocking sess=0x0 seq=253 wait_time=0
!>> handle address=5023ef9c, lock address=5019cad4, 10*mode+namespace=15
根據 'handle address=5023ef9c', 搜尋'handle=5023ef9c',找到鎖住物件的PID。
再利用PID可以找到鎖住物件的SESSION的SID,USERNAME,SQL等資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/207/viewspace-807089/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LIBRARY CACHE LOCK 等待事件事件
- latch:library cache lock等待事件事件
- enq:Library cache lock/pin等待事件ENQ事件
- 尋找 library cache lock 等待事件的session事件Session
- 定位Library Cache pin,Library Cache lock等待的解決方法
- 【TUNE_ORACLE】等待事件之“library cache lock”Oracle事件
- 俺也談談 library cache lock 等待事件事件
- RAC 環境Library Cache Lock的處理方法
- RAC環境Library Cache Lock的處理方法(zt)
- 【等待事件】library cache pin事件
- 等待事件--library cache pin事件
- library cache pin 等待事件事件
- 等待事件之Row Cache Lock事件
- library cache lock\pin的查詢與處理
- library cache pin等待事件的模擬事件
- zt_library cache pin和lock等待分析
- 解決library cache pin等待事件事件
- 常用定位library cache lock的方法
- enq: TX - row lock contention等待事件處理ENQ事件
- 一個關於latch: library cache事件的處理事件
- oracle library cache相關的等待事件及latchOracle事件
- library cache lock和cursor: pin S wait on X等待AI
- oracle11g之v$libcache_locks處理library cache lock及library cache pinOracle
- 由row cache lock等待事件引起的效能問題事件
- 模擬cache buffers chains與library cache pin等待事件AI事件
- Library Cache Pin 及 Library Cache Lock分析
- library cache lock和library cache pin理解
- 【TUNE_ORACLE】等待事件之“library cache pins”Oracle事件
- library cache pin和library cache lock的診斷分析
- oracle??邏輯DG同步卡住,session等待row cache lock的處理過程OracleSession
- 'cursor:mutex ..'/ 'cursor:pin ..'/ 'library cache:mutex ..'型別的等待事件Mutex型別事件
- [20240827]分析為什麼出現library cache lock等待事件2.txt事件
- [20240828]分析為什麼出現library cache lock等待事件5.txt事件
- 重啟大法失效?詳述Oracle11g因JDBC bug引發異常Library Cache Lock等待處理事件OracleJDBC事件
- oracle常見等待事件及處理方法Oracle事件
- 【效能調整】等待事件(八) library cache locks and pins事件
- 處理 latch_cache_buffers_chains等待事件一例AI事件
- library cache pin等待分析