• 主页
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流

插入死锁问题

mydb 2006-11-09 09:07:27
在一进程中对一张表插入一条记录,不提交
在另一进程中也对这张表插入一条记录,此时就发生了死锁等待。

把这张表的所有索引删除,重新创建,问题就没有了!rebuild不管用,必须删除重建。

这种现象是什么原因造成的?

...全文
269 点赞 收藏 11
写回复
11 条回复
zzWind 2006年11月11日
LZ估计是事务没有提交
回复 点赞
xiaoxiao1984 2006年11月10日
插入数据不锁表
楼主能不能详细一点说说是什么样的表(主键,索引情况),在什么样的操作下造成了死锁
回复 点赞
hwl1985 2006年11月10日
oracle应该不限制阿
回复 点赞
mydb 2006年11月10日
回复 点赞
doer_ljy 2006年11月10日
是不是存在一些楼主没有注意到的约束条件,比如外键之类的。
回复 点赞
mydb 2006年11月09日
插入也要锁表?不是吧
回复 点赞
mydb 2006年11月09日
回复 点赞
allright_flash 2006年11月09日
一个用户对表操作后就被锁定了,操作完成后才被释放,

在一进程中对一张表插入一条记录,提交
在另一进程中也对这张表插入一条记录,此时就不会发生死锁
回复 点赞
mydb 2006年11月09日
没使用什么工具啊?在sqlplus里这样,用jdbc也这样啊
回复 点赞
doer_ljy 2006年11月09日
首先介所的办法应该是在管理工具里面接触lock而不是重建或者删掉索引。
其次,你说的操作只应该有脏数据的情况,而不是锁。
当两个事务都有同样主键的数据insert时,不会死锁。
应该是-〉其中一个事务commit成功,然后commit晚的那个事务提交失败。不会造成死锁,我就的这个死锁另有缘故。楼主是不是使用什么工具造成的?
回复 点赞
mydb 2006年11月09日
没人知道?
回复 点赞
发动态
发帖子
Oracle
创建于2007-09-28

6417

社区成员

5.4w+

社区内容

Oracle开发相关技术讨论
社区公告
暂无公告