Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да убия всички активни и неактивни сесии на оракул за потребителя

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 файл и го изпълнете или копирайте и поставете изхода и го стартирайте.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Водещи въпроси относно JAVA/JRE в приложенията на Oracle

  2. Лабиринтът за настройка на производителността

  3. NLS_CHARSET_ID() Функция в Oracle

  4. COSH() Функция в Oracle

  5. Какво е Oracle Database?