首页 热点专区 义务教育 高等教育 出国留学 考研考公

oracle数据库多个update操作一张表会引起资源死锁吗?

发布网友

我来回答

5个回答

热心网友

是不是sql 语句后面加‘for update’了,如果有的话,你必须去掉,不然会锁定的。其他的update操作一张表不会引起资源死锁,你不commit,都是没记录的。

或者一种情况是表被其他表关联,同时并发锁定不释放。另一种情况是大批量的update不提交,导致记忆不足。

热心网友

oracle数据库多个update操作一张表会引起资源死锁吗
你是不是sql 语句后面加‘for update’了,如果有的话,你必须去掉,不然会锁定的。其他的update操作一张表不会引起资源死锁,你不commit,都是没记录的。

热心网友

如果一张表多个update会死锁的话,oracle数据库就不能用了,怎么会成为全世界占有率最大的数据库公司?!Oracle有强大的并发机制和表锁、行锁机制,不会死锁的。追问数据库表中两个字段,分别做了批量的update,而且是多线程做的,就出现了Caused by: java.sql.BatchUpdateException: ORA-00060: 等待资源时检测到死锁。

热心网友

你是不是sql 语句后面加‘for update’了,如果有的话,你必须去掉,不然会锁定的。其他的update操作一张表不会引起资源死锁,你不commit,都是没记录的。追问数据库表中两个字段,分别做了批量的update,而且是多线程做的,就出现了Caused by: java.sql.BatchUpdateException: ORA-00060: 等待资源时检测到死锁。

追答如果是这样的话,一种情况是你的这个表被其他表关联,同时并发锁定不释放。另一种情况是大批量的update不提交,导致记忆不足。
你试试在两个字段上分别建立索引。还有就是尽量把update分最小批进行commit。

热心网友

update之后事务不提交就会

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com