1. 今天發生grant table ,但執行很久...
2. 發現v$session_wait是library cache lock
3. new 一個session,下sql : ALETER SESSION SET EVENTS 'IMMEDIATE TRACE NAME SYSTEMSTATE LEVEL 10';
4. 在USER_DUMP_DEST會出來一個trace file,這個檔名應該是 item 3 的 OS process ID結尾的命名 => xxx_ora_PROCESS_ID.trc
5. 在xxx_ora_PROCESS_ID.trc找出item 1 執行很久 的OS process ID (or oracle v$process PID)
6. based on item 5 找到的ID,可以找到waiting for 'library cache lock' ,證明確實此session有library cache lock
7. 接下來幾行可以找到 :
There is at least one session blocking this session.
Dumping 1 direct blocker(s):
inst: 1, sid: 351, ser: 22104
Dumping final blocker:
inst: 1, sid: 351, ser: 22104
8. item 7 得知 v$session.sid=351是blocker
9. alter system kill session '351, 22104'; 即可解lock
沒有留言:
張貼留言