KILL SESSION
командата всъщност не убива сесията. Той просто иска сесията да се самоубие. В някои ситуации, като чакане на отговор от отдалечена база данни или връщане на транзакции, сесията няма да се самоубие веднага и ще изчака текущата операция да завърши. В тези случаи сесията ще има състояние „маркирана за убийство ". След това ще бъде убит възможно най-скоро.
Проверете състоянието, за да потвърдите:
SELECT sid, serial#, status, username FROM v$session;
Можете също да използвате НЕЗАБАВНО клауза:
ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
IMMEDIATE
клаузата не засяга работата, извършена от командата, но връща контрола обратно към текущата сесия незабавно, вместо да чака потвърждение на убийството. Разгледайте Killing Oracle Sessions.
Актуализиране Ако искате да убиете всички сесии, можете просто да подготвите малък скрипт.
SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;
Шпула горното към .sql
файл и го изпълнете или копирайте и поставете изхода и го стартирайте.