第一步,查询锁表信息
--
查询被锁住的数据库对象
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;
第二步,杀死数据库会话
--
杀死数据库会话
alter system
kill session
'
207,707
';
--
207为SID, 707为SERIAL#
第三步,如果第二步无法杀死会话,报ORA-00031,那么只能杀死UNIX/LINUX系统进程了
--
查询当前操作的系统进程ID
select spid, osuser, s.program
from v$session s, v$process p
where s.paddr
= p.addr
and s.sid
=
207;
--
207为SID
第四步,根据查询到的系统PID,杀掉进程
kill -
9
24664 // 24664为UNIX/LINUX系统进程ID





第二步,杀死数据库会话


第三步,如果第二步无法杀死会话,报ORA-00031,那么只能杀死UNIX/LINUX系统进程了





第四步,根据查询到的系统PID,杀掉进程

select 'alter system kill session '''|| 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;