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 で開く →

関連項目