Para matar sesiones de un usuario especifico en Oracle, se usa el siguiente SQL
SELECT s.inst_id,
s.sid,
s.serial#,
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.username='USUARIO'
Su salida sera
INST_ID SID SERIAL# SPID USERNAME PROGRAM
---------- ---------- ---------- ---------- ---------- ---------------------------------------------
1 52 36402 593 USUARIO
1 78 53716 593 USUARIO
1 86 28117 593 USUARIO
1 106 44233 593 USUARIO
1 108 5693 593 USUARIO
1 129 45897 593 USUARIO
1 250 56905 593 USUARIO
Con las sesiones identificadas, procedo entonces a ejecutar los siguientes comandos…
ALTER SYSTEM KILL SESSION '52,36402'; ALTER SYSTEM KILL SESSION '78,53716'; ALTER SYSTEM KILL SESSION '86,28117'; ALTER SYSTEM KILL SESSION '106,44233'; ALTER SYSTEM KILL SESSION '108,5693'; ALTER SYSTEM KILL SESSION '129,45897'; ALTER SYSTEM KILL SESSION '250,56905'; SYS @oracle10g AS SYSDBA -> ALTER SYSTEM KILL SESSION '52,36402'; System altered. SYS @oracle10g AS SYSDBA ->
La orden generica es la siguiente….
ALTER SYSTEM KILL SESSION 'sid,serial#';
Y eso es todo….
Sin respuestas