oracle数据库多个update操作一张表会引起资源死锁吗?
5个回答
仁科信息
2024-07-24 广告
2024-07-24 广告
Oracle EBS运维是确保企业资源规划系统稳定、高效运行的关键环节。它涵盖了系统监控、性能优化、故障排查与恢复等多方面内容。通过持续的监控和数据分析,运维团队能够及时发现并解决潜在问题,保障系统的稳定性和安全性。同时,他们还需要与业务部...
点击进入详情页
本回答由仁科信息提供
2017-08-24
展开全部
oracle数据库多个update操作一张表会引起资源死锁吗
你是不是sql 语句后面加‘for update’了,如果有的话,你必须去掉,不然会锁定的。其他的update操作一张表不会引起资源死锁,你不commit,都是没记录的。
你是不是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之后事务不提交就会
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询