插入死锁问题

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

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

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

...全文
318 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
没人知道?

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧