【发布时间】:2017-12-15 18:34:09
【问题描述】:
- 我们有一个表 A,它在 Oracle 数据库中有一个列 X。
- X 列是一个数字列,它不是任何表的外键。
- 我们的应用程序确实刷新了数据(删除旧的 数据,获取新数据,查询X列的最大值,然后 在表 A) 中插入数据。
- 更新说明:我们在应用程序日志中看到了死锁。成为
精确的
Caused by: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource. - 我们知道这个应用程序使用了 spring 和 hibernate。查询采用 HQL 格式。
有没有人遇到过这种情况?鉴于列 X 没有任何外键约束,我们真的很难理解为什么死锁会出现在该列上。
感谢您的帮助和意见。
【问题讨论】:
-
这真的是死锁吗?如果是这样,您得到的是 ORA-00060 还是 ORA-04020?如果是 ORA-00060,请查找生成的跟踪文件,并从跟踪文件中发布死锁图、遇到死锁的语句以及涉及死锁的其他语句。这是解释死锁的关键信息。