據我所知,涉及行鎖的死鎖的典型情況需要四條SQL語句。在一個事務中兩個更新行A和行B,然後在一個單獨的事務中另外兩個更新相同的行,並且需要相同的鎖,但以相反的順序。從Oracle跟蹤文件中查找涉及死鎖的所有語句?
事務1在事務2可以請求它之前獲取行A上的鎖,事務2在事務1可以獲得之前獲得行B上的鎖並且都不能獲得剩餘的所需鎖。一個或兩個事務必須回滾,所以另一個可以完成。
當我在死鎖後查看Oracle跟蹤文件時,它似乎只突出顯示兩個查詢。這似乎是每筆交易中最後一筆交易。
如何識別每個事務中涉及的其他語句,或者在Oracle跟蹤文件中是否缺少這些語句?
如果需要,我可以包含特定跟蹤文件的相關位。
太好了 - 非常感謝。非常清楚。 – 2012-02-01 12:45:41