La KILL SESSION
il comando in realtà non uccide la sessione. Chiede semplicemente alla sessione di uccidersi. In alcune situazioni, come l'attesa di una risposta da un database remoto o il rollback delle transazioni, la sessione non si interromperà immediatamente e attenderà il completamento dell'operazione corrente. In questi casi, la sessione avrà lo stato "contrassegnata per l'eliminazione ". Verrà quindi ucciso il prima possibile.
Controlla lo stato per confermare:
SELECT sid, serial#, status, username FROM v$session;
Puoi anche utilizzare IMMEDIATO clausola:
ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
Il IMMEDIATE
La clausola non influisce sul lavoro svolto dal comando, ma restituisce immediatamente il controllo alla sessione corrente, anziché attendere la conferma dell'eliminazione. Dai un'occhiata a Killing Oracle Sessions.
Aggiorna Se vuoi terminare tutte le sessioni, puoi semplicemente preparare un piccolo script.
SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;
Spool quanto sopra in un .sql
file ed eseguilo, oppure copia incolla l'output ed eseguilo.