以下的文章主要是介紹一種更為快捷的方法來實現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不干淨的話,還是解決不了問題