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.