锁表的处理
此处注意,看好是不是你自己锁的表,看准了在kill
linux下 kill -9 12345(12345为上边查询出的spid)
此处更应注意,kill错了什么事情都可能发生。
第一步,查询出被锁的表的session_id,和serial#。
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# ;
第二步,kill session
alter system kill session 'AAA,BBB' -- 其中AAA是上面查询出的sid,BBB是serial#的值
此处注意,看好是不是你自己锁的表,看准了在kill
第三步,一般上两个步骤就搞定锁表了,如果杀不掉,就进入到OS级别杀......
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=24 (24是上面的sid)
linux下 kill -9 12345(12345为上边查询出的spid)
此处更应注意,kill错了什么事情都可能发生。