以下的文章主要介紹的是Oracle死鎖進程關閉的的具體操作步驟,我們首先是從查哪個實際過程被鎖開始的,以下就是文章的具體內容的描述,下面就是文章的具體內容的介紹,望你在浏覽之後會有所收獲。
1.查哪個過程被鎖
查V$DB_OBJECT_CACHE視圖:
- SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='過程的所屬用戶' AND CLOCKS!='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#';
IXDBA.Net社區論壇
(2).再殺操作系統進程:
KILL -9 剛才查出的SPID
或者用ORAKILL(剛才查出的SID和SPID)。