首页 > 数据库技术 > 详细

oracle 强杀进程

时间:2016-04-20 18:01:35      阅读:170      评论:0      收藏:0      [点我收藏+]

在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

 

oracle 强杀进程

原文:http://www.cnblogs.com/chenv/p/5413556.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!