更新不同的 PK 行时死锁

Deadlock When Updating different PK rows

我的 SPring 集成应用程序有问题。

在代码的一处,应用程序抛出了这个错误: 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行发生死锁呢?

问题已解决。谢谢大家的回答。

问题是 tablas 按外键引用分区,FK 没有索引,导致 Oracle 死锁阻塞所有子 table。

我已经为外键创建了所有索引,问题已经解决。