oracle 死鎖表解決方法

苦笑人發表於2016-06-17
        公司使用oracle資料庫,有次開發部門說有個表被鎖定。解決辦法如下,如果一
個表經常死鎖,那麼問題就是出在開發部門程式碼上,再使用這種方法解決不了問題。

檢視鎖表程式SQL語句1:
select sess.sid,
    sess.serial#,
    lo.oracle_username,
    lo.os_user_name,
    ao.object_name,
    lo.locked_mode
    from v$locked_object lo,
    dba_objects ao,
    v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

檢視鎖表程式SQL語句2:
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;

殺掉鎖表程式:
如有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,即可解除LOCK
alter system kill session '738,1429';

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29952014/viewspace-2120335/,如需轉載,請註明出處,否則將追究法律責任。

相關文章