oracle Plsql 执行update或者delete时 遇到过Plsql卡死问题或者导致代码执行sql的时候就卡死。
在开发中遇到此问题的时候,本来把sql复制出来,在plsql中执行,Sql本身拼写无误,但是出现plsql卡死的情况,
在代码中,执行sql的地方打断点debug,发现执行sql,仍然没有响应。经过网上查资料,猜测导致这种情况的原因是
可能在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了。
可以通过以下办法解决:
先查询锁定记录
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;
然后删除锁定记录
Sql代码
ALTER system KILL session ‘SID,serial#‘;
通过上述sql,问题终于解决了!
总结下来希望对大家开发有帮助!