您的位置:首页 > 数据库 > Oracle

oracle 查找被长时间锁定的对象并KILL

2015-01-07 09:45 176 查看
1、用如下语句查找被锁住的表名、OSclient、Session信息

SELECT B.SID  

      ,B.SERIAL#  

      ,D.SPID        OS系统进行号  

      ,C.OBJECT_NAME 被锁住的对像名  

      ,B.USERNAME    登录用户  

      ,B.SCHEMANAME  被锁对像模式  

      ,B.STATUS      SESSION状态  

      ,B.MACHINE     SESSION客户端主机  

      ,B.OSUSER  

      ,B.TERMINAL  

      ,B.PROGRAM     SESSION登录程序  

      ,B.WAIT_CLASS  

  FROM V$LOCKED_OBJECT A  

 INNER JOIN V$SESSION B  

    ON A.SESSION_ID = B.SID  

 INNER JOIN ALL_OBJECTS C  

    ON A.OBJECT_ID = C.OBJECT_ID  

 INNER JOIN V$PROCESS D  

    ON B.PADDR = D.ADDR;

2、 杀死对应的session

ALTER SYSTEM KILL SESSION 'SID,SERIAL#';

ALTER SYSTEM KILL SESSION '531,16007';

3、 杀死对应的OS进程

kill -9 spid;

其中spid为第一步中查出来的系统进程号

转至:http://blog.csdn.net/nsj820/article/details/5755685
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle