查詢Library Cache Pin等待原因
當我們查詢v$session_wait時如果發現有大量library cache pin等待事件,此時要怎樣去找出library cache pin等待的具體是什麼呢?
下面就library cache pin等待事件做個介紹:
library cache pin是用來管理Library Cache的併發訪問的,pin一個Object會引起相應的heap被載入記憶體中(如果此前沒有被載入),pins可以在以下三個模式下得到:Null、Share和Exclusive,可以把pin看做是一種特定形式的鎖。
當Library Cache Pin等待事件出現時,通常說明該pin被其他使用者以非相容模式持有。
Library Cache Pin的等待事件為3秒,其中有1秒用於PMON後臺程式。
Library Cache Pin的引數如下,有用的主要是P1和P2:
*P1 --------------------KGL Handle address
*P2 --------------------Pin address
*P3 --------------------Encoded Mode & Namespace
下面去查詢library cache pin原因
1、 獲得library cache pin等待的物件
SELECT addr, kglhdadr, kglhdpar, kglnaown, kglnaobj, kglnahsh, kglhdobj
FROM x$kglob
WHERE kglhdadr IN (SELECT p1raw
FROM v$session_wait
WHERE event LIKE 'library%');
2、 獲得持有等待物件的session資訊:
SELECT a.SID, a.username, a.program, b.addr, b.kglpnadr, b.kglpnuse,
b.kglpnses, b.kglpnhdl, b.kglpnlck, b.kglpnmod, b.kglpnreq
FROM v$session a, x$kglpn b
WHERE a.saddr = b.kglpnuse
AND b.kglpnmod <> 0
AND b.kglpnhdl IN (SELECT p1raw
FROM v$session_wait
WHERE event LIKE 'library%');
3、 獲得持有物件使用者執行的程式碼:
SELECT sql_text
FROM v$sqlarea
WHERE (v$sqlarea.address, v$sqlarea.hash_value) IN (
SELECT sql_address, sql_hash_value
FROM v$session
WHERE SID IN (
SELECT SID
FROM v$session a, x$kglpn b
WHERE a.saddr = b.kglpnuse
AND b.kglpnmod <> 0
AND b.kglpnhdl IN (SELECT p1raw
FROM v$session_wait WHERE event LIKE 'library%')));
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25964700/viewspace-703346/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【等待事件】library cache pin事件
- 等待事件--library cache pin事件
- library cache pin等待分析
- library cache pin 等待事件事件
- library cache pin 阻塞程式查詢
- 解決library cache pin等待事件事件
- enq:Library cache lock/pin等待事件ENQ事件
- 定位Library Cache pin,Library Cache lock等待的解決方法
- library cache pin等待事件的模擬事件
- 分析解決因”library cache pin”等待
- library cache lock\pin的查詢與處理
- zt_library cache pin和lock等待分析
- 模擬cache buffers chains與library cache pin等待事件AI事件
- library cache lock和cursor: pin S wait on X等待AI
- Library Cache Pin 及 Library Cache Lock分析
- library cache lock和library cache pin理解
- 'cursor:mutex ..'/ 'cursor:pin ..'/ 'library cache:mutex ..'型別的等待事件Mutex型別事件
- library cache pin和library cache lock的診斷分析
- library cache lock和library cache pin區別總結
- library cache lock 阻塞程式查詢
- oracle library cache之library cache lock_library cache pin wait event釋義OracleAI
- LIBRARY CACHE LOCK 等待事件事件
- Library cache lock/pin詳解(轉)
- zt_如何平面解決library cache lock和library cache pin
- 查詢library cache lock的源頭
- Oracle Edit product卡死不動,引起的等待事件‘library cache pin’解決方案Oracle事件
- latch:library cache lock等待事件事件
- DBA手記(學習)-library cache pin
- 【ASK_ORACLE】Library Cache概念篇(二)之Library Cache Pin的定義Oracle
- library cache pin/lock的解決辦法
- 等待模擬-library cache 軟解析
- zt_如何使用event 10049分析定位library cache lock and library cache pin
- 深入理解shared pool共享池之library cache的library cache pin系列三
- [20240824]跟蹤library cache lock library cache pin使用gdb.txt
- 記一次library cache pin事件解決事件
- Library cache pin問題的處理過程
- 0317Library Cache Pin/Lock Wait EventsAI
- sql version count引發cursor:pin s wait x及library cache latch library cache lockSQLAI