前段时间,进行SQL操作的时候,突然发现对某些表进行insert,delete,update操作时,运行非常慢,经常会报错。
后来发现,原来之前有进行类似操作,但没有commit,导致了表被锁住。
那就需要我们把锁住的表给释放了。
首先,我们要查询出来哪几张表被锁住了:
SELECT l.session_id sid,
s.serial#,l.locked_mode,
l.oracle_username,
l.os_user_name,
s.machine,
s.terminal,
o.object_name,
s.logon_time
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial#;
查询出结果后,我们就可以使用下面的语句释放表:
alter system kill session 'sid,s.serial#'