关于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杀掉后,才解决问题。

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据