@@header /* * * Author : Vishal Gupta * Purpose : Display Session Details * Compatibility : 10.1 and above * Parameters : 1 - SID * 2 - Instance Number * * Revision History: * =================== * Date Author Description * --------- ------------ ----------------------------------------- * 05-Aug-04 Vishal Gupta First Draft * 27-Mar-12 Vishal Gupta Included the session wait history * 11-May-12 Vishal Gupta Change output layout. Instead of SELECT output * now it display dbms_output lines. * */ VARIABLE SID number ; VARIABLE INST_ID number ; BEGIN :SID := &&1; :INST_ID := NVL(&&2,1); IF :INST_ID = '' OR :INST_ID IS NULL THEN :INST_ID := 1; END IF; END; / Prompt Prompt ####### Kill/Disconnect Command #################### COLUMN command HEADING "Disconnect Command" FORMAT a60 COLUMN command2 HEADING "Kill Command" FORMAT a60 BEGIN FOR i IN (select 'alter system disconnect session ''' || s.sid || ',' || s.serial# || ',@' || s.inst_id || ''' immediate ; ' Command , 'alter system kill session ''' || s.sid || ',' || s.serial# || ',@' || s.inst_id || ''' immediate ; ' Command2 from gv$session s , gv$process p where s.inst_id = p.inst_id (+) AND s.PADDR = p.ADDR (+) AND s.sid = :SID AND s.inst_id = :INST_ID) LOOP DBMS_OUTPUT.PUT_LINE( i.command || chr(10) || i.command2 ); DBMS_OUTPUT.PUT_LINE( ' ' ); DBMS_OUTPUT.PUT_LINE( 'Killing session ...' ); execute immediate REPLACE(i.command2,';',''); DBMS_OUTPUT.PUT_LINE( 'Session killed.' ); END LOOP; END; / BEGIN :SID := NULL; :INST_ID := NULL; END; / UNDEFINE TOP_EVENT_COUNT @@footer