Oracle杀事务数据库崩溃,关于pl/sql dev窗口崩溃导致锁表

今天在用pl/sql dev写sql的时候,刚刚写到一个select XXX from table for update,打开了锁的按钮,进行了数据修改,这个时候没有commit,因为临时有事,所以先出去一会,半个小时回来后,发现点击pl/sql dev 的任何地方都没有用,窗口全部变白,在任务管理器里面杀进程后,重新开一个窗口,再对这张表做update的时候就变的很慢了。大约过了半个小时都还没有完成update,而做select的时候,却很快。

由于该表没有和其他表做关联,只是对自己进行update,速度如此之慢,怀疑锁表了。进pl/sql dev里面看session,按照active排序,发现没有可疑的进程,但是根据用户排序,发现有一个

inactive的进程,里面的语句十分类似我做的update,将其进程marked kill。回原来执行update的窗口,发现已经出现了commit的按钮提示。点击rollback按钮,再次做update,1秒不到搞定。

分析具体原因,估计是pl/sql dev窗口崩溃时,数据库做for update,还是处于锁表状态,但是打开一个新窗口时,由于第一次的客户端窗口崩溃,所以dev认为该session是inactive的,但是其进程还是在的,因此需将该inactive session杀掉后,才解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值