Saltar al contenido

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

Solución:

los KILL SESSION el comando en realidad no matar La sesión. Simplemente pide a la sesión que se mate. En algunas situaciones, como esperar una respuesta de una base de datos remota o deshacer transacciones, la sesión no se matará inmediatamente y esperará a que se complete la operación actual. En estos casos, la sesión tendrá un estado de “marcado para matar“. Entonces será asesinado lo antes posible.

Verifique el estado para confirmar:

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

También podrías usar INMEDIATO cláusula:

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

los 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 del cierre. Eche un vistazo a Killing Oracle Sessions.

Actualizar Si desea eliminar todas las sesiones, puede preparar un pequeño guión.

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

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

BEGIN
  FOR r IN (select sid,serial# from v$session where username="user")
  LOOP
      EXECUTE IMMEDIATE 'alter system kill session ''' || r.sid  || ',' 
        || r.serial# || ''' immediate';
  END LOOP;
END;

Esto debería funcionar, acabo de cambiar su secuencia de comandos para agregar el immediate palabra clave. Como se señaló en las respuestas anteriores, el kill session solo marca las sesiones para matar; no lo hace inmediatamente, sino más tarde cuando es conveniente.

De su pregunta, parecía que esperaba ver el resultado de inmediato. Entonces immediate La palabra clave se utiliza para forzar esto.

Ejecute este script:

SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' 
FROM v$session 
where username="YOUR_USER";

Imprimirá sqls, que debe ejecutarse.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *