ここでは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のセッションをキルしています。