今天修改oracle数据库数据时,发现执行一条for update一直无反应
百度发现是执行了update后,会要求提交事务,如果不提交却强制关闭连接,oracle就会将这条提交的记录锁住(想起来我可能是刚修改完以后由于网络原因连不上数据库导致我没提交事务导致)
1、sqlplus / as sysdba@orcl(数据库实例名)
执行以下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#';(注意有‘’引号,小白第一次操作没加引号报错了哈哈哈)
3、再次尝试for update就ok了~