使用Oracle执行update或insert语句后,会要求commit,如果没有commit就关掉了连接,这条记录就会被锁,导致后面的update或insert无法执行。
此现象常出现的场景:
1.在执行update或insert过程中,程序意外崩溃;
2.debug时update或insert未完成,程序被我们强制终止;
……
废话少说,上解决方法:
1.首先查询被锁定的记录
SELECT
object_name,
machine,
s. SID,
s.serial#
FROM
v$locked_object l,
dba_objects o,
v$session s
WHERE
l.object_id = o.object_id
AND l.session_id = s. SID;
2.kill掉被锁的记录
ALTER system KILL session 'SID,serial#'