set linesize 260 pagesize 10000 select'kill -9 '|| a.spid from v$process a, v$session b where a.addr = b.paddr and a.background isnull and b.type ='USER' and b.event like'%'||'&eventname'||'%' and b.status ='ACTIVE';
对应的alter system kill session的语法:
1 2 3 4 5 6 7 8
set linesize 260 pagesize 1000 col machine for a50 col kill_session for a60; select machine, 'alter system kill session '||''''||sid||','|| serial# ||''''||'immediate;' kill_session, status from v$session where type='USER'and event like'%event_name%'and status ='ACTIVE';
kill某个sql_id对应的spid:
1 2 3 4 5 6 7 8
set linesize 260 pagesize 10000 select'kill -9 '|| a.spid from v$process a, v$session b where a.addr = b.paddr and a.background isnull and b.type ='USER' and b.sql_id ='&sql_id' and b.status ='ACTIVE';
对应的alter system kill session的语法:
1 2 3 4 5 6 7
set linesize 260 pagesize 10000 col machine for a60 select machine, 'alter system kill session '||''''||sid||','|| serial# ||''''||'immediate;', status from v$session where sql_id ='&sql_id'and type='USER'and status='ACTIVE';
被kill会话的类型:
1 2 3 4 5 6 7 8 9
set linesize 260 pagesize 10000 select b.osuser,b.machine,b.program,b.sql_id,b.PREV_SQL_ID,a.spid,to_char(LAST_CALL_ET) as seconds,b.BLOCKING_SESSION,b.BLOCKING_INSTANCE from v$process a, v$session b where a.addr = b.paddr and a.inst_id=b.inst_id and a.background isnull and b.type ='USER' and b.event='&event_name' and b.status ='ACTIVE';
set linesize 260 pagesize 10000 col machine for a50 col kill_session for a60 SELECT blocking_instance, blocking_session, BLOCKING_SESSION_STATUS, FINAL_BLOCKING_INSTANCE, FINAL_BLOCKING_SESSION, COUNT(*) FROM v$session WHERE upper(event) LIKE'%&cursor%' GROUPBY blocking_instance, blocking_session, BLOCKING_SESSION_STATUS, FINAL_BLOCKING_INSTANCE, FINAL_BLOCKING_SESSION orderby blocking_instance,count(*);
kill blocking会话:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
select inst_id, machine, 'alter system kill session '||''''||sid||','|| serial# ||''''||'immediate;' kill_session, status from gv$session a where a.type='USER'and (a.inst_id,a.sid) in ( select BLOCKING_INSTANCE, BLOCKING_SESSION from v$session whereupper(event) like'%&cursor%' ) orderby inst_id;