sql >> Base de Datos >  >> RDS >> Oracle

Cómo eliminar todas las sesiones de Oracle activas e inactivas para el usuario

La KILL SESSION el comando en realidad no mata La sesión. Simplemente le pide a la sesión que se suicide. En algunas situaciones, como esperar una respuesta de una base de datos remota o revertir transacciones, la sesión no se cerrará automáticamente y esperará a que se complete la operación actual. En estos casos, la sesión tendrá un estado de "marcada para eliminar ". Entonces será asesinado lo antes posible.

Verifique el estado para confirmar:

SELECT sid, serial#, status, username FROM v$session;

También podría usar IMMEDIATE cláusula:

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

El IMMEDIATE La cláusula no afecta el trabajo realizado por el comando, pero devuelve el control a la sesión actual inmediatamente, en lugar de esperar la confirmación de la eliminación. Eche un vistazo a Killing Oracle Sessions.

Actualizar Si desea eliminar todas las sesiones, puede preparar un pequeño script.

SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;

Carrete lo anterior a un .sql y ejecútelo, o copie y pegue el resultado y ejecútelo.