使用以下语句查询
select
t1.sid, t1.serial#, t1.username, t1.logon_time
from v$session t1 , v$locked_object t2
where t1.sid = t2.session_id
order by t1.logon_time;
可以得到进程的SID和SERIAL#序号,然后按照下列语句解锁:
alter system kill session ‘139,33663’;
正常情况下,就能解决,但是有时候执行该语句会报:oracle标记要终止的会话下述错误
可以使用下述语句找到被killed的进程(因为Oracle里面可能你已经杀死了进程,但是实际上他还没有被杀死,只是被标记了killed并没有执行)。
select a.spid,b.sid,b.serial#,b.username
from v$process a,v$session b
where a.addr=b.paddr
and b.status='KILLED'
select b.spid,a.osuser,b.program
from v$session a,v$process b
where a.paddr=b.addr
and a.sid=139
找到 spid,然后在cmd中使用orakill orcl spid命令立即中止进程即可。