ここではOracleのセッションの情報を取得するSQL文について紹介します。
セッションの情報を取得する
セッションの情報を取得するには、V$SESSIONビューを参照します。
以下はsampleスキーマのセッション情報を取得するSQL文です。V$SESSIONビューの列は多いので主要な列のみ取得しています。
SELECT
SID
, USERNAME
, LOCKWAIT
, STATUS
, SCHEMANAME
, OSUSER
, MACHINE
, TERMINAL
, PROGRAM
, TYPE
, MODULE
, ACTION
, LOGON_TIME
, STATE
, SERVICE_NAME
FROM
V$SESSION
WHERE
USERNAME = 'sample'
| 列名 | 説明 |
|---|---|
| SID | セッション識別子 |
| USERNAME | Oracleユーザー名 |
| LOCKWAIT | セッションが待機しているロックのアドレス ロックがない場合はNULL |
| STATUS | セッションの状態 ・ACTIVE:セッションがSQLを実行中 ・INACTIVE:非アクティブで、制限が構成されていないか構成された制限を超えていないセッション ・KILLED:消去予定のマーク付きセッション ・CACHED:Oracle*XAで使用するために一時的にキャッシュに入っているセッション ・SNIPED:非アクティブ・セッション |
| SCHEMANAME | スキーマ・ユーザー名 |
| OSUSER | オペレーティング・システムのクライアント・ユーザー名 |
| MACHINE | オペレーティング・システムのマシン名 |
| TERMINAL | オペレーティング・システムの端末名 |
| PROGRAM | オペレーティング・システムのプログラム名 |
| TYPE | セッション・タイプ |
| MODULE | DBMS_APPLICATION_INFO.SET_MODULEプロシージャをコールして設定された、現在実行中のモジュール名 |
| ACTION | DBMS_APPLICATION_INFO.SET_ACTIONプロシージャをコールして設定された、現在実行中のアクション名 |
| LOGON_TIME | ログイン時刻 |
| STATE | 待機状態 ・WAITING:セッションは現在待機中 ・WAITED UNKNOWN TIME:前回の待機時間が不明。パラメータ・TIMED_STATISTICSがfalseに設定されている場合はこの値 ・WAITED SHORT TIME:前回の待機は1/100秒未満だった ・WAITED KNOWN TIME:前回の待機時間は、WAIT_TIME列で指定される |
| SERVICE_NAME | セッションのサービス名 |
V$SESSIONのすべての列の説明については、Oracleのデータベース・リファレンスを参照してください。
以上、Oracleのセッションの情報を取得するSQL文について解説しました。