DBAtlas · Атлас эксплуатации баз данных

Завершить сессию (kill session)

OracleСессии и процессы

Команда

-- First find the session to kill:
SELECT sid, serial#, username, status, machine, program
FROM   v$session
WHERE  username = 'CUSTOMER_APP' AND status = 'ACTIVE';

-- Kill it (starts rollback immediately):
ALTER SYSTEM KILL SESSION '145,12345' IMMEDIATE;

-- If it hangs, the OS process can be terminated:
-- ALTER SYSTEM DISCONNECT SESSION '145,12345' IMMEDIATE;

Что делает

Завершает сессию с заданными SID,SERIAL#; её открытая транзакция откатывается.

Когда использовать

Чтобы остановить сессию, удерживающую блокировки, выполняющую неконтролируемый запрос или с утечкой подключений.

Внимание

При открытой транзакции откат может занять много времени (быстро завершается, если работы было мало). Сначала проверьте запросом, чтобы не завершить не тот SID. Откат большого DML создаёт нагрузку I/O.

Открыть в DBAtlas →

Связанные материалы