sql >> Databáze >  >> RDS >> Oracle

Jak zabít všechny aktivní a neaktivní relace oracle pro uživatele

KILL SESSION příkaz ve skutečnosti nezabije zasedání. Pouze žádá relaci, aby se zabila. V některých situacích, jako je čekání na odpověď ze vzdálené databáze nebo vrácení transakcí, se relace neukončí okamžitě a počká na dokončení aktuální operace. V těchto případech bude mít relace stav „označeno k zabití ". Potom bude zabit co nejdříve."

Zkontrolujte stav a potvrďte:

SELECT sid, serial#, status, username FROM v$session;

Můžete také použít IMMEDIATE klauzule:

ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;

IMMEDIATE klauzule neovlivňuje práci prováděnou příkazem, ale okamžitě vrací řízení zpět do aktuální relace, namísto čekání na potvrzení ukončení. Podívejte se na Killing Oracle Sessions.

Aktualizovat Pokud chcete zabít všechny relace, můžete si připravit malý skript.

SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;

Spool výše na .sql soubor a spusťte jej, nebo zkopírujte, vložte výstup a spusťte jej.



  1. Datový typ Postgres ENUM nebo CHECK CONSTRAINT?

  2. 8 způsobů, jak přidat mikrosekundy k hodnotě data a času v MariaDB

  3. Analyzujte velká data pomocí nástrojů Microsoft Azure

  4. Aritmetika sloupce data v dotazu PostgreSQL