以下的文章主要描述的是Oracle死鎖的解決辦法,你如果對Oracle死鎖的具體解決辦法有興趣的話你就可以點擊以下的文章進行觀看了。以下就是具體方案的描述,希望在你今後的學習中會有所幫助。
1.查哪個過程被鎖
查V$DB_OBJECT_CACHE視圖:
SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='過程的所屬用戶' AND LOCKS!='0';
2. 查是哪一個SID,通過SID可知道是哪個SESSION.
查V$Access視圖:
SELECT * FROM V$Access WHERE OWNER='過程的所屬用戶' AND NAME='剛才查到的過程名';
3. 查出SID和SERIAL#
查V$SESSION視圖:
SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='剛才查到的SID'
查V$PROCESS視圖:
SELECT SPID FROM V$PROCESS WHERE ADDR='剛才查到的PADDR';
4. 殺進程
(1).先殺Oracle進程:
ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';
(2).能過CMD控制台,再殺操作系統進程:
ORAKILL 數據庫實現 剛才查出的SPID
一定要記住,要把之前查出的Oracle死鎖記下來,然後,一一對其Kill,如果Kill不干淨的話,還是解決不了問題