KILL SESSION
polecenie nie zabija sesja. Po prostu prosi sesję, by się zabiła. W niektórych sytuacjach, takich jak oczekiwanie na odpowiedź ze zdalnej bazy danych lub wycofywanie transakcji, sesja nie zabije się natychmiast i będzie czekać na zakończenie bieżącej operacji. W takich przypadkach sesja będzie miała stan „oznaczona do zabicia ". Następnie zostanie zabity tak szybko, jak to możliwe.
Sprawdź status, aby potwierdzić:
SELECT sid, serial#, status, username FROM v$session;
Możesz także użyć NATYCHMIAST klauzula:
ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
IMMEDIATE
Klauzula nie wpływa na pracę wykonywaną przez polecenie, ale natychmiast zwraca sterowanie z powrotem do bieżącej sesji, zamiast czekać na potwierdzenie zabicia. Spójrz na Zabijanie sesji Oracle.
Aktualizacja Jeśli chcesz zabić wszystkie sesje, możesz po prostu przygotować mały skrypt.
SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;
Szpula powyższe do pliku .sql
plik i uruchom go lub skopiuj, wklej dane wyjściowe i uruchom je.