Monday, December 18, 2017

Script to create query for killing culprit blocker session


set serveroutput on

declare
v_max_wait number(10);
v_victum_sid number(10);
v_victum_serial number(10);
v_blk_sid number(10);
v_blk_serial number(10);
begin
select sid,serial# into v_victum_sid,v_victum_serial from gv$session where seconds_in_wait=(select max(seconds_in_wait) from gv$session where blocking_session is not null);
select BLOCKER_SID,BLOCKER_SESS_SERIAL# into v_blk_sid,v_blk_serial from gv$session_blockers where sid=v_victum_sid and SESS_SERIAL#=v_victum_serial;
dbms_output.put_line ('alter system kill session ' || '''' || v_blk_sid || ',' || v_blk_serial || '''' || ' immediate;' );
EXCEPTION WHEN NO_DATA_FOUND then
dbms_output.put_line('No locks');
end;

No comments:

Post a Comment