記錄一次線上異常ORA-00060: deadlock detected while waiting for resource


昨晚監控出現的問題.字面意思上是"等待資源時檢測到死鎖"

項目是通過報文進行交互的,在批處理時,兩個或多個線程對同一張表進行update操作,最后爆出這個異常,出異常的線程回滾數據,其他的update會繼續commit提交事務.

目前徹底解決方法還在尋找中,后續補上

 

問題找到了:

 兩個線程,對應兩個表的記錄操作

 甲線程是:先A后B

 乙線程是:先B后A

解決這個問題就只需要將順序統一就可以,

但是項目里牽扯出一個歷史問題,就是都是update操作,甲乙先后順序很重要,要是混亂了,狀態就會出現異常.

所以最后的解決方法是保證乙線程處理邏輯在甲線程后面.

最后方案,報文處理范圍時間提前隔離開,避免同一時間階段批量處理


免責聲明!

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



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