【ORACLE】起動中のプロセスやセッションの確認と強制終了(キル)する方法


ここではORACLEデータベースで、起動・接続中のプロセスの確認と強制終了(キル)する方法を紹介します。

バックグラウンドプロセスについては↓で詳しく解説していますので参考にしてください。
>>【ORACLE】バックグラウンドプロセスとは

起動中のプロセスを確認する方法

起動中のプロセスはv$processから確認することが出来ます。

SELECT * FROM v$process;
列名 意味
ADDR プロセスのアドレス
PID ORACLEracleプロセス識別子
SPID OSのプロセス識別子
PNAME プロセスの名前
USERNAME OSのプロセスユーザー名。
SERIAL# プロセスシリアル番号
TERMINAL OSの端末識別子
PROGRAM 進行中のプログラム
TRACEID トレースファイル識別子
TRACEFILE プロセスのトレースファイル名
BACKGROUND 1はSYSTEMバックグラウンド・プロセス
NULLはフォアグラウンド・プロセスまたはSYSTEM以外のバックグラウンド・プロセス
LATCHWAIT プロセスが待機しているラッチのアドレス
ラッチがない場合はNULL
PGA_USED_MEM プロセスで現在使用されているPGAメモリ(バイト)
PGA_ALLOC_MEM プロセスによって現在割り当てられているPGAメモリ(バイト)
PGA_FREEABLE_MEM 解放できる割当て済PGAメモリ(バイト)
PGA_MAX_MEM プロセスによってこれまでに割り当てられた最大PGAメモリ(バイト)

接続中のセッションを確認する方法

接続されているセッションはv$sessionで確認することが出来ます。

・セッション情報を確認する方法
select * from v$session where type = 'USER';

セッションを強制終了する方法

セッションを強制終了するときはALTER SYSTEM KILL SESSION文で、SIDとSERIALを指定して実行します。

・強制終了する方法
alter system kill session '100,200';
※例はsidが100、serialが200のセッションをキルしています。