Oracle死鎖的處理
Oracle死鎖問題應(yīng)該如何解決呢?可能很多人都有這樣的疑問,下面就為您介紹Oracle死鎖的處理方法,供您參考學(xué)習(xí)之用。
一般情況下,只要將產(chǎn)生Oracle死鎖的語句提交就可以了,但是在實際的執(zhí)行過程中。用戶可能不知道產(chǎn)生死鎖的語句是哪一句??梢詫⒊绦蜿P(guān)閉并重新啟動就可以了。
經(jīng)常在Oracle的使用過程中碰到這個問題,所以也總結(jié)了一點(diǎn)解決方法。
1)查找Oracle死鎖的進(jìn)程:
- sqlplus "/as sysdba" (sys/change_on_install)
- SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,
- l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS
- FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;
2)kill掉這個Oracle死鎖的進(jìn)程:
- alter system kill session ‘sid,serial#’; (其中sid=l.session_id)
3)如果還不能解決:
- select pro.spid from v$session ses,
- v$process pro where ses.sid=XX and
- ses.paddr=pro.addr;
其中sid用死鎖的sid替換:
- exit
- ps -ef|grep spid
其中spid是這個進(jìn)程的進(jìn)程號,kill掉這個Oracle進(jìn)程。
【編輯推薦】