如何解決Oracle死鎖問題
以下的文章主要描述的是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控制臺,再殺操作系統(tǒng)進程:
ORAKILL 數(shù)據(jù)庫實現(xiàn) 剛才查出的SPID
一定要記住,要把之前查出的Oracle死鎖記下來,然后,一一對其Kill,如果Kill不干凈的話,還是解決不了問題
上述的相關(guān)內(nèi)容就是對Oracle死鎖解決辦法的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】