使用jdbc
執(zhí)行oracle
的刪除操作的時(shí)候程序卡死不動(dòng)了。
問題分析:
對(duì)于這一類問題,一般都是數(shù)據(jù)庫(kù)事務(wù)未提交,導(dǎo)致executeUpdate
卡死。
所以解決方案:
1、在執(zhí)行完executeUpdate
后,記得將事務(wù)提交con.commit();
2、找到數(shù)據(jù)庫(kù)客戶端,執(zhí)行commit
操作。
如果以上操作還不行。 那么應(yīng)該是數(shù)據(jù)庫(kù)在執(zhí)行 數(shù)據(jù)操作失敗 or 事務(wù)未提交 之后 將需要執(zhí)行的sql
語句鎖死了
Oracle的操作方式:
先查詢鎖定記錄 :
1
|
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; |
然后刪除鎖定記錄
1
|
ALTER system KILL session 'SID,serial#' ;<br> |
然后問題完美解決
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
原文鏈接:https://blog.csdn.net/moneyshi/article/details/84841269