oracle執行update時卡死問題的解決辦法


今天進行項目開發時,為了測試項目中SQL執行效果,就用PLSQL Developer執行了一下,沒有commit就繼續敲代碼了,之后重新使用PLSQL Developer時,可能是網絡原因,PLSQL Developer斷開了與數據庫連接並且卡死,便強制結束了。代碼敲完后進行測試,項目執行后沒效果,並且無響應,debug后發現jdbc執行SQL時沒反應了,問了一下谷老師才找到原因。
由於在PLSQL Developer執行update時沒有commit,oracle將該條記錄鎖住了。
 
可以通過以下辦法解決:
先查詢鎖定記錄
Sql代碼
SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;
然后刪除鎖定記錄
Sql代碼
ALTER system KILL session 'SID,serial#';  
其中 SID填寫上文中查到的SID數值,serial#填寫serial#列的數值如:
ALTER system KILL session '214,23456'; 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM