当 Oracle 检测到死锁时,会写入如下跟踪文件:
*** SESSION ID:(56.27081) 2012-05-14 08:16:28.013
DEADLOCK DETECTED ( ORA-00060 )
[Transaction Deadlock]
The following deadlock is not an ORACLE error. It is a
deadlock due to user error in the design of an application
or from issuing incorrect ad-hoc SQL. The following
information may aid in determining the deadlock: Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-0010002c-002719b5 146 56 X 164 44 X
TX-000f002a-002edd1e 164 44 X 146 56 X
session 56: DID 0001-0092-00050D0D session 44: DID 0001-00A4-0002E3C2
session 44: DID 0001-00A4-0002E3C2 session 56: DID 0001-0092-00050D0D
Rows waited on:
Session 44: obj - rowid = 00035157 - AAA1FXAAxAAASfLAAn
(dictionary objn - 217431, file - 49, block - 75723, slot - 39)
Session 56: obj - rowid = 00035157 - AAA1FXAAsAACjuiAAP
(dictionary objn - 217431, file - 44, block - 670626, slot - 15)
如何根据以上信息确定涉及的行,以协助调试应用程序?