首页 > 编程知识 正文

oracle释放锁,oracle中用来释放锁的语句

时间:2023-05-05 21:44:12 阅读:31776 作者:4504

数据库锁定表、正在运行的程序开始报告错误原因的解决方案的总结

问题的原因

项目中某个表的数据过多且无效,影响了用户的使用体验。 计划用sql语句删除,然后用手写sql进行数据删除操作。 然后,注意到此sql的执行时间很长,并执行停止操作。 然后,关系表被锁定,程序执行update操作并发生错误。

重新启动(不推荐)解决方案数据库时,项目仍在生产中,即使出现此问题也很棘手。 当时,我带着错误报告去了百度,但是没有找到马上解决的方法。 没办法只能重新启动数据库解决问题。 检查数据库锁定的情况并kill进程以解决问题。 这是在问题解决后,想找到别的方法合理地解决问题。 我们先用sql研究一下数据库的情况。 显示流程列表; 执行结果如下

如果State列的内容具有锁定状态,则可以看到Info列锁定了哪个表。 如果存在锁定的表,则在命令行中键入“kill后面的id是上图中第一列的值”以kill进程id,并在出现多个锁定的表时逐个kill进程id。 总结以上解决方法时,我在第一个,第二个是百度上找到的。 虽然没用过,但我推荐第二种方法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。