Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-06-07 17:05:09
Original
981 Leute haben es durchsucht

可以以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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!