V$SESSION ビュー

現在のセッション情報を提供するビュー
Oracle のバージョンによってカラムの追加やサイズの拡張が行われているのをマニュアルを突き合わせて整理している。
Windows + Oracle 11g ベースで一部のカラムサイズの表記が実際のサイズと異なっているようなので、他のバージョンでも誤記があるかもしれない。

カラム名データタイプ説明
SADDR-RAW(4 or 8)セッション・アドレス (サーバー の OS によって 4byte または 8byte)
SIDNUMBERセッション識別子
SERIAL#NUMBERセッション・シリアル番号。
セッション識別子とともに使用して一意にする。セッション識別子は再利用される場合があるので SID のみでは一意とならない。
AUDSIDNUMBER監査セッションID
⇒ DBA_AUDIT_SESSION.SESSIONID など
PADDRRAW(4 or 8)このセッションを所有するプロセスのアドレス
⇒ V$PROCESS.ADDR
USER#NUMBEROracle ユーザー識別子
⇒ DBA_USERS.USER_ID など
USERNAMEVARCHAR2(30)Oracle ユーザー名
COMMANDNUMBER進行中のコマンド、または、最後に解析された文。
OWNERIDNUMBER移行可能なセッションを持つユーザーの識別子。
値が 2147483644 の場合は無効。
TADDRVARCHAR2(8)トランザクション・ステート・オブジェクトのアドレス
⇒ V$TRANSACTION.ADDR (注)RAW 型でデータ型は同じではない
LOCKWAITVARCHAR2(8)セッションが待機しているロックのアドレス。ロックがない場合は NULL。
⇒ V$LOCK.KADDR (注)RAW 型でデータ型は同じではない
STATUSVARCHAR2(8)セッションの状態:
ACTIVE − SQL を実行中のセッション
INACTIVE − 非アクティブ・セッション
KILLED − 消去予定のマーク付きセッション
SNIPED − クライアントで待機中の非アクティブ・セッション
CACHED − Oracle*XA (分散トランザクション(XA)モード)で使用するために一時的にキャッシュに入っているセッション
SERVERVARCHAR2(9)サーバー・タイプ: DEDICATED / SHARED / PSEUDO / POOLED / NONE
SCHEMA#NUMBERスキーマ・ユーザー識別子
SCHEMANAMEVARCHAR2(30)スキーマ・ユーザー名 ⇒ CURRENT_SCHEMA 設定により変化する。
OSUSERVARCHAR2(30)(クライアント)OS 上でのユーザー名
PROCESSVARCHAR2(9)
VARCHAR2(12) Oracle 10g
VARCHAR2(24) Oracle 11g
OS 上でのプロセス ID、または、スレッド ID
もしくは、プロセスID + ':' + スレッドID(クライアントアプリケーション)
MACHINEVARCHAR2(64)(クライアント)OS 上でのマシン名
PORTOracle 11g Release2NUMBERポート番号
TERMINAL-VARCHAR2(30)
VARCHAR2(16)
(クライアント)OS 上での端末名 (注)マニュアルと実サイズが異なる
PROGRAMVARCHAR2(48)
VARCHAR2(64)
(クライアント)OS 上でのプログラム名 (注)マニュアルと実サイズが異なる
TYPEVARCHAR2(10)セッション・タイプ: BACKGROUND / USER / RECURSIVE
SQL_ADDRESSRAW(4)
RAW(4 or 8) Oracle 10g
SQL_HASH_VALUEとともに使用し、実行中の SQL 文を一意に特定する
⇒ V$SQL.ADDRESS など
SQL_HASH_VALUENUMBERSQL_ADDRESS とともに使用し、実行中の SQL 文を一意に特定する
⇒ V$SQL.HASH_VALUE など
SQL_IDOracle 10g
(※1)
VARCHAR2(13)実行中の SQL 文の SQL 識別子
V$SQLSTATS.SQL_ID など
SQL_CHILD_NUMBERNUMBER実行中の SQL 文の子番号
⇒ V$SQL.SQL_CHILD_NUMBER など
SQL_EXEC_STARTOracle 11gDATE実行中の SQL が開始された日時。SQL_ID が NULL の場合は NULL。
SQL_EXEC_IDNUMBERSQL 実行識別子。SQL_ID が NULLの場合、または SQL がまだ実行されていない場合は NULL。
PREV_SQL_ADDR-RAW(4)
RAW(4 or 8) Oracle 10g
PREV_HASH_VALUE とともに使用し、前回実行した SQL 文を一意に特定する
PREV_HASH_VALUENUMBERSQL_HASH_VALUE とともに使用し、前回実行した SQL 文を一意に特定する
PREV_SQL_IDOracle 10g
(※1)
VARCHAR2(13)前回実行した SQL 文の SQL 識別子
PREV_CHILD_NUMBERNUMBER前回実行した SQL 文の子番号
PREV_EXEC_STARTOracle 11gDATE前回実行した SQL 文の SQL 実行開始日時
PREV_EXEC_IDNUMBER前回実行した SQL 文の SQL 実行識別子
PLSQL_ENTRY_OBJECT_IDNUMBERスタック上の最上位 PL/SQL サブプログラムの OBJECT_ID(PL/SQL がスタック上にない場合は、NULL)
PLSQL_ENTRY_SUBPROGRAM_IDNUMBERスタック上の最上位 PL/SQL サブプログラムの SUBPROGRAM_ID(PL/SQL がスタック上にない場合は、NULL)
PLSQL_OBJECT_IDNUMBER現在実行中の PL/SQL のオブジェクト ID(SQL の実行中は NULL)
⇒ DBA_PROCEDURES.OBJECT_ID など
PLSQL_SUBPROGRAM_IDNUMBER現在実行中の PL/SQL オブジェクトの SUBPROGRAM_ID(SQL の実行中は NULL)
⇒ DBA_PROCEDURES.SUBPROGRAM_ID など
MODULE-VARCHAR2(48)DBMS_APPLICATION_INFO.SET_MODULE によって設定されたモジュール名
MODULE_HASHNUMBERMODULE 列のハッシュ値 ⇒ ORA_HASH
ACTIONVARCHAR2(32)DBMS_APPLICATION_INFO.SET_ACTION によって設定されたアクション名
ACTION_HASHNUMBERACTION 列のハッシュ値
CLIENT_INFOVARCHAR2(64)DBMS_APPLICATION_INFO.SET_CLIENT_INFO によって設定された文字列
FIXED_TABLE_SEQUENCENUMBERセッションがデータベースのコールするたびに加算される
ROW_WAIT_OBJ#NUMBERROW_WAIT_ROW#に 指定されている行を含む表の OBJECT_ID。
⇒ DBMS_ROWID
ROW_WAIT_FILE#NUMBERROW_WAIT_ROW#に 指定されている行を含むデータ・ファイルの識別子。この列が有効なのは、セッションが別のトランザクションのコミットを待機しており、ROW_WAIT_OBJ# の値が -1 以外の値の場合。
⇒ DBMS_ROWID
ROW_WAIT_BLOCK#NUMBERROW_WAIT_ROW# に指定されている行を含むブロックの識別子。この列が有効なのは、セッションが別のトランザクションのコミットを待機しており、ROW_WAIT_OBJ# の値が -1 以外の値の場合。
⇒ DBMS_ROWID
ROW_WAIT_ROW#NUMBER現在ロック中の行。この列が有効なのは、セッションが別のトランザクションのコミットを待機しており、ROW_WAIT_OBJ# の値が -1 以外の値の場合。
⇒ DBMS_ROWID
TOP_LEVEL_CALL#Oracle 11g Release2NUMBEROracle の最上位のコール番号
LOGON_TIME-DATEログイン日時
LAST_CALL_ETNUMBERセッションが ACTIVE(STATUS 列)になってからの経過秒数、または、セッションが INACTIVE になってからの経過秒数
PDML_ENABLEDVARCHAR2(3)この列は、PDML_STATUS 列に置き換えられた(下位互換用)
FAILOVER_TYPEVARCHAR2(13)透過的アプリケーション・フェイルオーバー(TAF)が セッションで可能かどうか、およびどの程度まで可能かを示す。
NONE − このセッションで、フェイルオーバーは使用できない。
SESSION − 切断後にクライアントによるセッションのフェイルオーバーが可能。
SELECT − 進行中の選択についてもクライアントによるフェイルオーバー問合せが可能。
FAILOVER_METHODOracle 10gVARCHAR2(10)セッションでの透過的アプリケーション・フェイルオーバーを示す。
NONE − このセッションでフェイルオーバーは使用できない。
BASIC − 切断後にクライアントが再接続する。
PRECONNECT − バックアップ対象となる各インスタンスからのすべての接続をバックアップ・インスタンスがサポートできる。
FAILED_OVERVARCHAR2(3)セッションがフェイルオーバー・モードで実行中かどうか、およびフェイルオーバーが発生したかどうか(YES or NO)
RESOURCE_CONSUMER_GROUPVARCHAR2(32)セッションのカレント・リソース・コンシューマ・グループ名
PDML_STATUSVARCHAR2(8)ENABLED − PARALLEL DML 使用可能。
DISABLED − PARALLEL DML は使用されない。
FORCED − FORCE PARALLEL DML に変更されている。
PDDL_STATUSVARCHAR2(8)ENABLED − PARALLEL DDL 使用可能。
DISABLED − PARALLEL DDL は使用されない。
FORCED − FORCE PARALLEL DDL に変更されている。
PQ_STATUSVARCHAR2(8)ENABLED − PARALLEL QUERY 使用可能。
DISABLED − PARALLEL QUERY は使用されない。
FORCED − FORCE PARALLEL QUERY に変更されている。
CURRENT_QUEUE_DURATIONNUMBERセッションがキューされている場合、キューイングされてからの秒数。キューされていない場合は 0。
CLIENT_IDENTIFIERVARCHAR2(64)セッションのクライアント識別子。DBMS_SESSION.SET_IDENTIFIER などから設定
BLOCKING_SESSION_STATUSVARCHAR2(11)ブロックしているセッションの状態:
VALID / NO HOLDER / GLOBAL / NOT IN WAIT / UNKNOWN
BLOCKING_INSTANCEOracle 10g Release2NUMBERブロックしているセッションのインスタンス識別子
BLOCKING_SESSIONOracle 10gNUMBERブロックしているセッションのセッション識別子
SEQ#Oracle 10g (※2)NUMBER現行または前回の待機を一意に識別する番号(待機ごとに増分される)
EVENT#NUMBERイベント番号
EVENTVARCHAR2(64)セッションが待機しているリソースまたはイベント
P1TEXTVARCHAR2(64)第1待機イベント・パラメータの説明
P1NUMBER第1待機イベント・パラメータ(10進数)
P1RAWRAW(4)
RAW(8) Oracle 11g
第1待機イベント・パラメータ(16進数表記)
P2TEXTVARCHAR2(64)第2待機イベント・パラメータの説明
P2NUMBER第2待機イベント・パラメータ(10進数)
P2RAWRAW(4)
RAW(8) Oracle 11g
第2待機イベント・パラメータ(16進数表記)
P3TEXTVARCHAR2(64)第3待機イベント・パラメータの説明
P3NUMBER第3待機イベント・パラメータ(10進数)
P3RAWRAW(4)
RAW(8) Oracle 11g
第3待機イベント・パラメータ(16進数表記)
WAIT_CLASS_IDNUMBER待機イベントのクラスの識別子
WAIT_CLASS#NUMBER待機イベントのクラスの番号
WAIT_CLASSVARCHAR2(64)待機イベントのクラスの名前
WAIT_TIMENUMBERセッションが現在待機中の場合、値は0。
セッションが待機中でない場合、値は次のとおり。
> 0 − 値は、前回の待機時間(1/100秒)
-1 − 前回の待機時間は1/100秒未満だった
-2 − パラメータTIMED_STATISTICSは、falseに 設定された 
WAIT_TIME_MICRO およびSTATE列が設定されている場合、この列は非推奨になる。
SECONDS_IN_WAITNUMBERセッションが現在待機中の場合、値は現在の待機が開始されるまで待機した時間。
セッションが待機中でない場合、値は前回の待機開始以降の時間。
WAIT_TIME_MICRO および TIME_SINCE_LAST_WAIT_MICRO 列が設定されている場合、この列は非推奨になる。
STATEVARCHAR2(19)待機状態: WAITING − セッションは現在待機中。
WAITED UNKNOWN TIME − 前回の待機時間が不明。パラメータTIMED_STATISTICSがfalseに 設定されている場合はこの値。
WAITED SHORT TIME − 前回の待機は1/100秒未満だった
WAITED KNOWN TIME − 前回の待機時間は、WAIT_TIME 列で指定される
WAIT_TIME_MICROOracle 11gNUMBER待機時間(マイクロ秒)。セッションが現在待機中の場合、値は現在の待機に費やされた時間。セッションが現在待機中でない場合、値は前回の待機の待機時間。
TIME_REMAINING_MICRONUMBER> 0 − 現在の待機の残り時間(マイクロ秒)
0 − 現在の待機はタイムアウトした
-1 − セッションは現在の待機内で無期限に待機できる
NULL − セッションは現在待機中でない
TIME_SINCE_LAST_WAIT_MICRONUMBER前回の待機終了後の経過時間(マイクロ秒)。セッション が現在待機中の場合、値は0。
SERVICE_NAME-VARCHAR2(64)セッションのサービス名
SQL_TRACEOracle 10gVARCHAR2(8)ENABLED − SQL トレース有効
DISABLED − SQL トレース無効
SQL_TRACE_WAITSVARCHAR2(5)TRUE − 待機トレース有効
FALSE − 待機トレース無効
SQL_TRACE_BINDSVARCHAR2(5)TRUE − バインド・トレース有効
FALSE − バインド・トレース無効
SQL_TRACE_PLAN_STATSOracle 11gVARCHAR2(10)行ソース統計が各カーソルのトレース・ファイルにダンプされる頻度
NEVER: never / FIRST_EXEC: first_execution / ALL_EXEC : all_executions
SESSION_EDITION_IDNUMBERエディションID(プロシージャの複数エディション化など)
CREATOR_ADDRRAW(4 or 8)プロセスまたはサーキット作成のアドレス
CREATOR_SERIAL#NUMBERプロセスまたはサーキット作成のシリアル番号
ECIDOracle 11g Release2VARCHAR2(64)アプリケーション・サーバーから送信された実行コンテキストの識別子

(※1) SQL を一意に識別する SQL_ID(子カーソルを識別する SQL_CHILD_NUMBER ) が新設されている。

(※2) Oracle 10g にて V$SESSION_WAIT の一部分のカラムを取り込んでいる。

 

V$SESSION ビューを参照するための権限付与

V$SESSION の実体は正確にはビューではなく PUBLIC シノニム であるため、個別に参照権限を付与するにはビューの本体である SYS.V_$SESSION に対して設定を行なう。 ⇒ ORA-02030: 固定表/固定ビューでは選択のみ可能です。

SQL> GRANT SELECT ON V$SESSION TO rivus;
GRANT SELECT ON V$SESSION TO rivus
                *
行1でエラーが発生しました。:
ORA-02030: 固定表/固定ビューでは選択のみ可能です。
SQL> GRANT SELECT ON SYS.V_$SESSION TO rivus;
 
権限付与が成功しました。


V$SEESION 関連

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle Web セミナー