标签:
在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION ‘sid,serial#‘杀掉一个会话进程,但是使用这个SQL语句杀掉会话后,数据库并不会立即释放掉相关的资源,有时候你会发现锁定的资源很长时间也不会释放,即使会话状态为“KILLED”,依然会阻塞其它会话。
1、查看锁表进程
--查看锁表进程SQL语句1: \** select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid;
2、我们可以看到会话状态为killed
SELECT Saddr, Sid, Serial#, Paddr, Username, Status FROM V$session t WHERE t.SID = ‘2587‘
2、取上面查到的PADDR,
select addr, pid, spid, username from v$process where addr =‘0000000BC8BAB350‘
3、在plsql的命令窗口输入命令
完成之后再用第一个语句查看是否还有锁表的会话是否被kill
标签:
原文地址:http://www.cnblogs.com/chenv/p/5413556.html