我的SPring Integration应用程序出了问题。
在代码的某一点上,apllication会抛出此错误: ORA-00060 - 检测到死锁
我在追踪中看到了这一点:
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TM-00024912-00000000 58 395 SX SSX 61 441 SX SSX
TM-00024912-00000000 61 441 SX SSX 58 395 SX SSX
session 395: DID 0001-003A-000458EF session 441: DID 0001-003D-0002C56C
session 441: DID 0001-003D-0002C56C session 395: DID 0001-003A-000458EF
Rows waited on:
Session 395: no row
Session 441: no row
我确信查询会更新两个不同的行 如何在不同的PK行中发生死锁?
答案 0 :(得分:0)
问题解决了。感谢所有人的回答。
问题是tablas是由外键引用分区的,并且FK没有编入索引,导致Oracle阻塞所有子表的死锁。
我已经为外键创建了所有索引,问题就解决了。