DB2 SQL0911N
阿新 • • 發佈:2018-12-18
SQL0911N The current transaction has been rolled back because of a deadlock or timeout. Reason code "68".
SQL0911N 因為死鎖或超時,所以當前事務已回滾。原因碼為 "68"。
效能測試時出現此問題,開始以為是死鎖,後來查到出現SQL0911N 並非一定是死鎖,還取決於原因碼是哪一個。
SQL0911N 因為死鎖或超時,所以當前事務已回滾。原因碼為 "<原因碼>"。
說明:
當前工作單元參與了未解決的物件爭用,因此必須回滾。
原因碼如下所示:
2 由於死鎖而導致事務已回滾。
68 由於鎖定超時而導致事務已回滾。
72 因為存在與事務中所涉及的 DB2 Data Links Manager 有關的錯誤,所
以事務已回滾。
注: 必須再次輸入與工作單元相關的更改。
應用程式已回滾至上一次 COMMIT。
本人遇到的錯是鎖等待超時而並非死鎖。當然鎖等待超時也意味著存在效能問題。
鎖等待超時解決辦法:
1.優化相關sql
2.延長超時設定合適大小
死鎖分析方法:
db2對死鎖進行分析需藉助死鎖監視器,但開啟死鎖監視器會有額外的開銷,一般情況下禁用死鎖監視器。
具體操作可見官網https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1004lockeventmonitor/