杀掉(kill)Oracle中会话或死锁

WBOY
풀어 주다: 2016-06-07 17:05:09
원래의
983명이 탐색했습니다.

可以以Oralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话。用下面的语句查询被锁的对象,可以带上更多

-- 根据机器名称、SQL_HASH_VALUE过滤特殊的会话,并形成批量kill脚本

SELECT 'alter system kill session ''' || c.sid || '' || ',' || c.serial# ||''';'
FROM v$session c  
WHERE c.MACHINE='hffwbz1' and c.SQL_HASH_VALUE='2639167965'

--可以以Oralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话。用下面的语句查询被锁的对象,可以带上更多约束条件,,如schemaname等更精确的匹配。

SELECT a.object_id, a.session_id, b.object_name, c.*   
   FROM v$locked_object a, dba_objects b, v$session c   
WHERE a.object_id = b.object_id   
    AND a.SESSION_ID = c.sid(+)   

--杀Seesion的SQL语句语法如下:

alter system kill session 'sid, serial#'   

--如上面查出来的一条记录的sid是53, serial#为663,就执行以下的语句

alter system kill session '53,663'  

--拼凑kill语句的方式如下,下面加了一个过滤条件和一个排序,杀除真正关心的表,并且着重注意超时时间过长的会话。

SELECT 'alter system kill session ''' || c.sid || '' || ',' || c.serial# ||''';',  
       a.object_id, a.session_id, b.object_name, c.*  
FROM v$locked_object a, dba_objects b, v$session c  
WHERE a.object_id = b.object_id  
   AND a.SESSION_ID = c.sid(+)  
   AND schemaname = 'Unmi'  
ORDER BY logon_time

linux

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!