Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak zabić wszystkie aktywne i nieaktywne sesje Oracle dla użytkownika?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaktualizuj wiele kolumn w instrukcji MERGE ORACLE

  2. Jak wypełnić zbiór danych za pomocą C# z bazy danych Oracle

  3. Jak wyodrębnić numer tygodnia w sql

  4. Błąd podczas dodawania trybu gotowości

  5. Dlaczego otrzymuję java.lang.AbstractMethodError podczas próby załadowania obiektu BLOB do bazy danych?