關於“ORA-00060:等待資源時檢測到死結”問題的分析

來源:互聯網
上載者:User

最近現場反饋問題:一個訪問Oracle資料庫的通訊程式記錄了一些關於“ORA-00060:等待資源時檢測到死結”的錯誤記錄檔。但通訊程式記錄異常後並沒有崩潰,還能繼續運行,並且通訊資料看起來也很正常。

其實,鑒於資料庫是存在大量並發訪問的,只要存在並發訪問,死結就無法徹底避免,無非是幾率大小而已。oracle資料庫有檢測當前會話死結的功能,當死結發生時,兩個或多個並發事務相互等待,不靠外力就再也無法繼續執行完了。資料庫檢測到死結時,就會將死結的各個交易回復,並拋出ORA-00060異常。所以我們訪問資料的程式,特別是無人值守的程式,一定要能處理此異常,在資料庫發生這個異常之後,將其記錄在日誌中,並繼續(重新)執行訪問資料庫的操作。

當然,我們還可以通過改進程式的效率來減少死結發生的幾率。首先可以提供資料庫訪問效率,最佳化資料庫,最佳化sql,盡量減少訪問資料庫的時間,從而降低與其他會話並發死結的可能性。另外,在業務允許的情況下,應儘可能減少資料庫事務的範圍,將一個大的事務,分成小的事務,儘早提交。當然,事務的劃分這是由業務決定的,不可能隨便分開。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.