今天同事在操作Oracle數據庫表刪數據時突然斷網,再次連接的時候刪數據就提示“record is locked by another user”,然后就百度找到了如下解決方案。
方案步驟:
1、查鎖
select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;
2、解鎖(KILL)
--alter system kill session 'sid,serial#';
alter system kill session '151,14678'; --151是sid,14678是serial#
運行以上命令后,就可以解決此問題。
操作記錄:
1、數據庫表被鎖;
2、查鎖
select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;
1 BCSA 64 40449 2016/10/9 15:38:05 2 BCSA 64 40449 2016/10/9 15:38:05 3 BCSA 64 40449 2016/10/9 15:38:05 4 BCSA 64 40449 2016/10/9 15:38:05
3、解鎖
alter system kill session '64,40449';