Sunday, 5 February 2023

killing oracle session

1) killing session through shell script

sudo su - root

for proc in $(ps -ef|grep -i getsql|awk '{print $2}'); do print $proc; done

for proc in $(ps -ef|grep -i getsql|awk '{print $2}'); do kill $proc; done



1) ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;


2) SET LINESIZE 100

COLUMN spid FORMAT A10

COLUMN username FORMAT A10

COLUMN program FORMAT A45

SELECT s.inst_id,s.sid,s.serial#,s.sql_id,p.spid,s.username,s.program

FROM   gv$session s JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id 

WHERE  s.type != 'BACKGROUND';


3)SELECT s.sid, s.serial#,s.sql_id, p.spid

FROM v$process p, v$session s

WHERE p.addr = s.paddr

AND s.username = '<username>';


4)

set heading off

set line 1234

spool kill_01.sql

SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' 

FROM v$session 

where username='YOUR_USER';

spool off;


set heading off

set line 1234

spool kill_01.sql

SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' 

FROM v$session 

where sql_id='7d61bcjhkjh';

spool off;


5)

The UNIX Approach

% kill -9 spid

6)

In a RAC environment, you optionally specify the INST_ID, shown when querying the GV$SESSION view. This allows you to kill a session on different RAC node.

ALTER SYSTEM KILL SESSION 'sid,serial#,@inst_id';



No comments:

Post a Comment