idea中对oracle数据库执行update语句时卡住问题分析及解决办法 | 您所在的位置:网站首页 › oracle获取sequence卡住 › idea中对oracle数据库执行update语句时卡住问题分析及解决办法 |
问题:
开发的时候debug到一条update的sql语句时程序就不动了,然后再重启服务器,测试的时候,idea后台没有显示成功也没有显示失败,postman访问url时,一直显示正在请求,但是select查询一直是正常的 原因和解决方法:这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序中加了事务,之前debug到一半的时候我强制把工程终止了,这样就导致没有执行事务提交,所以oracle将代码中update那一条的记录锁了。可通过下面两步解决: 1.首先查询锁定记录 (本人是PL SQL里面执行的,别的工具也可以的) SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid; 2.然后删除之 ALTER system KILL session 'SID,serial#'
|
CopyRight 2018-2019 实验室设备网 版权所有 |