這篇文章主要介紹了oracle執行update語句時卡住怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創新互聯專注于網站建設|網站維護|優化|托管以及網絡推廣,積累了大量的網站設計與制作經驗,為許多企業提供了網站定制設計服務,案例作品覆蓋成都白烏魚等行業。能根據企業所處的行業與銷售的產品,結合品牌形象的塑造,量身開發品質網站。
問題
開發的時候debug到一條update的sql語句時程序就不動了,然后我就在plsql上試了一下,發現plsql一直在顯示正在執行,等了好久也不出結果。但是奇怪的是執行其他的select語句卻是可以執行的。
原因和解決方法
這種只有update無法執行其他語句可以執行的其實是因為記錄鎖導致的,在oracle中,執行了update或者insert語句后,都會要求commit,如果不commit卻強制關閉連接,oracle就會將這條提交的記錄鎖住。由于我的java程序中加了事務,之前debug到一半的時候我強制把工程終止了,這樣就導致沒有執行事務提交,所以oracle將代碼中update那一條的記錄鎖了。可通過下面兩步解決:
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;
2.然后刪除之
ALTER system KILL session 'SID,serial#'
感謝你能夠認真閱讀完這篇文章,希望小編分享的“oracle執行update語句時卡住怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!
網頁題目:oracle執行update語句時卡住怎么辦
URL地址:http://www.2m8n56k.cn/article12/jssidc.html
成都網站建設公司_創新互聯,為您提供網站收錄、全網營銷推廣、面包屑導航、軟件開發、微信公眾號、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯