Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como matar todas as sessões oracle ativas e inativas para o usuário


A KILL SESSION comando na verdade não mata a sessão. Ele apenas pede que a sessão se mate. Em algumas situações, como aguardar uma resposta de um banco de dados remoto ou reverter transações, a sessão não será encerrada imediatamente e aguardará a conclusão da operação atual. Nesses casos, a sessão terá um status de "marcado para eliminação ". Ele será morto o mais rápido possível.

Verifique o status para confirmar:
SELECT sid, serial#, status, username FROM v$session;

Você também pode usar IMEDIATO cláusula:
ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;

O IMMEDIATE A cláusula não afeta o trabalho realizado pelo comando, mas retorna o controle de volta à sessão atual imediatamente, em vez de aguardar a confirmação do kill. Dê uma olhada em Killing Oracle Sessions.

Atualizar Se você quiser matar todas as sessões, basta preparar um pequeno script.
SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;

Carretel acima para um .sql arquivo e executá-lo, ou, copie e cole a saída e execute-o.