記一次library cache pin事件解決
ORACLE 10.2.0.4
REDHAT 5.3 32bit
[@more@]今天開發人員突然報賬說編譯儲存過程的時候一直卡到哪裡就死掉了,透過查詢發現在event列有一個library cache pin事件一直在等待,得到SID後查詢session_wait:
LIBRARY CACHE PIN事件主要是由於管理library cache併發的,當一個object被pin住的話同時這個object會有一個heap載入記憶體,當使用者要修改或者編譯這個object的時候這個object的heap就必須要先被pin住,也就是拿到編輯鎖,這個事件的等待時間通常為3秒。
library cache pin引數解析:
P1 KGL(kernel general Library ) 地址
P2 pin的地址
P3 100*mode+namespace
其中P1,P2分別和x$kglpn和x$kglob相關聯
問題解決:
select sid,event,p1,p2,p3 from v$session_wait where sid=192;
透過以上查詢的P1列轉換為16進位制的,然後將轉換後的結果作為X$KGLPN表的KGLPNHDL作為條件進行查詢:
select * from x$kglpn t where kglpnhdl = '7D897554';
KGLPNHDL --- Library Cache Handle Address
KGLPNADR --- Library Cache Pin Address.
KGLPNSES --- 持有鎖的session
透過檢視KGNMOD列有一個狀態為2的,其他的均為0,說明此記錄的session持有這個heap的鎖,
透過P1列與x$kglob的KGLHDADR進行關聯查詢出鎖住的SQL:
select * from x$kglob where KGLHDADR = '7D897554';
最後查詢出持有此鎖的sessionID:
select a.sid, a.username, a.program
from v$session a, x$kglpn b
where a.saddr = b.kglpnuse
and b.kglpnhdl like '%7D897554%';
得到SID後去session裡面找到對應的記錄進行kill:
select * from v$session_wait t where t.SID = 253;
alter system kill session '253,20928';
最後重新執行編譯操作,問題解決。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10130206/viewspace-1043076/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決library cache pin等待事件事件
- 【等待事件】library cache pin事件
- 等待事件--library cache pin事件
- library cache pin 等待事件事件
- 一次library cache pin故障的解決過程
- 定位Library Cache pin,Library Cache lock等待的解決方法
- 分析解決因”library cache pin”等待
- enq:Library cache lock/pin等待事件ENQ事件
- zt_如何平面解決library cache lock和library cache pin
- library cache pin/lock的解決辦法
- library cache pin等待事件的模擬事件
- Oracle Edit product卡死不動,引起的等待事件‘library cache pin’解決方案Oracle事件
- 模擬cache buffers chains與library cache pin等待事件AI事件
- Library cache lock/pin詳解(轉)
- Library Cache Pin 及 Library Cache Lock分析
- library cache lock和library cache pin理解
- DBA手記(學習)-library cache pin
- library cache pin等待分析
- library cache pin和library cache lock的診斷分析
- library cache lock和library cache pin區別總結
- 'cursor:mutex ..'/ 'cursor:pin ..'/ 'library cache:mutex ..'型別的等待事件Mutex型別事件
- [20130228]等待事件library cache pin的快速定位與解決.txt事件
- oracle library cache之library cache lock_library cache pin wait event釋義OracleAI
- 0106library cache pin的快速定位與解決
- library cache pin 阻塞程式查詢
- 查詢Library Cache Pin等待原因
- 解決Library Cache latchs
- 【ASK_ORACLE】Library Cache概念篇(二)之Library Cache Pin的定義Oracle
- zt_library cache pin和lock等待分析
- zt_如何使用event 10049分析定位library cache lock and library cache pin
- LIBRARY CACHE LOCK 等待事件事件
- 深入理解shared pool共享池之library cache的library cache pin系列三
- [20240824]跟蹤library cache lock library cache pin使用gdb.txt
- library cache lock\pin的查詢與處理
- Library cache pin問題的處理過程
- 0317Library Cache Pin/Lock Wait EventsAI
- sql version count引發cursor:pin s wait x及library cache latch library cache lockSQLAI
- [20240920]跟蹤library cache lock library cache pin使用gdb.txt