DBAtlas · Atlas de operações de banco de dados

Encerrar uma sessão (kill session)

OracleSessões e processos

Comando

-- 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;

O que faz

Encerra a sessão com o SID,SERIAL# informado; sua transação aberta sofre rollback.

Quando usar

Para interromper uma sessão que mantém locks, executa uma consulta descontrolada ou vaza conexões.

Atenção

Se houver uma transação aberta, o rollback pode demorar (termina rápido se pouco trabalho foi feito). Verifique antes com uma consulta para não encerrar o SID errado. O rollback de DML grande gera carga de I/O.

Abrir no DBAtlas →

Relacionados