Oracle数据库无法执行update语句
今天修改项目功能,发现程序走到执行sql语句的时候就不走了,也不报错。没办法,直接去数据库服务器执行sql吧,发现一直在执行根本停不下来,百度得知执行了update或者insert语句后,都会要求提交事务,如果不提交却强制关闭连接,oracle就会将这条提交的记录锁住。留此博客,以此记录成长过程。
解决方案如下:
1、执行以下sql,查询锁定记录;
SELECT s.sid, s.serial# FROM v l o c k e d o b j e c t l o , d b a o b j e c t s a o , v locked_object lo, dba_objects ao, v lockedobjectlo,dbaobjectsao,vsession s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;
2、使用DOS命令删除锁定(plsql只能查看不能删除);
①、在cmd窗口执行:sqlplus 数据库名/密码@数据库实例名
②、ALTER system KILL session ‘SID,serial#’;(SID,serial#即第一步查出来的数据)
看到系统已更改,恭喜,成功了!
参考文章:https://www.jb51.net/article/125754.htm
作者:zhx0114
来源:CSDN
原文:https://blog.csdn.net/zhx0114/article/details/81706141
版权声明:本文为博主原创文章,转载请附上博文链接!n编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。