V$SQL_WORKAREAは、SQLカーソルによって使用される作業領域の情報を示します。共有プールに格納されている各SQL文には、V$SQLビューに示される子カーソルが1つ以上あります。V$SQL_WORKAREAは、これらの子カーソルが必要とするすべての作業領域を示します。V$SQL_WORKAREAは、(ADDRESS、HASH_VALUE)でV$SQLAREAと結合でき、(ADDRESS、HASH_VALUE、CHILD_NUMBER)でV$SQLと結合できます。
このビューを使用して、次の内容を確認できます。
最大のキャッシュ領域を必要とする上位10個の作業領域
AUTOモードで割り当てられた作業領域で、最大のメモリーを使用して実行中の作業領域の割合
| 列 | データ型 | 説明 |
|---|---|---|
ADDRESS |
RAW(4 | 8) |
親カーソル・ハンドルのアドレス |
HASH_VALUE |
NUMBER |
ライブラリ・キャッシュ内の親文のハッシュ値。2つの列PARENT_HANDLEおよびHASH_VALUEを使用し、V$SQLAREAと結合して親カーソルを特定できる。 |
SQL_ID |
VARCHAR2(13) |
ライブラリ・キャッシュ内の親文のSQL識別子 |
CHILD_NUMBER |
NUMBER |
この作業領域を使用する子カーソルの数。列PARENT_HANDLE、HASH_VALUEおよびCHILD_NUMBERを使用し、V$SQLと結合して、この領域を使用する子カーソルを特定できる。 |
WORKAREA_ADDRESS |
RAW(4 | 8) |
作業領域ハンドルのアドレス。これは、ビューの主キーに該当する。 |
OPERATION_TYPE |
VARCHAR2(20) |
作業領域を使用する操作のタイプ(SORT、HASH JOIN、GROUP BY、BUFFERING、BITMAP MERGEまたはBITMAP CREATE) |
OPERATION_ID |
NUMBER |
実行計画内の操作を識別するための一意の番号。この識別子は、V$SQL_PLANと結合して、この作業領域を使用する操作の位置を特定できる。 |
POLICY |
VARCHAR2(10) |
この作業領域のサイズ指定方法(MANUALまたはAUTO) |
ESTIMATED_OPTIMAL_SIZE |
NUMBER |
メモリー内で操作を完全に実行(最適実行)するために、この作業領域が必要とする推定サイズ(バイト)。オプティマイザ統計または以前の実行のいずれかから導出される。 |
ESTIMATED_ONEPASS_SIZE |
NUMBER |
単一のパスで操作を実行するために、この作業領域が必要とする推定サイズ(バイト)。オプティマイザ統計または以前の実行のいずれかから導出される。 |
LAST_MEMORY_USED |
NUMBER |
カーソルの前回の実行時に、この作業領域が使用したメモリー(バイト) |
LAST_EXECUTION |
VARCHAR2(10) |
カーソルの前回の実行時に、この作業領域が、OPTIMAL、ONE PASSまたはONE PASSメモリー要件(またはMULTI-PASS)を使用して実行されたかどうかを示す。 |
LAST_DEGREE |
NUMBER |
この操作の前回の実行中に使用された並列度 |
TOTAL_EXECUTIONS |
NUMBER |
この作業領域がアクティブになった回数 |
OPTIMAL_EXECUTIONS |
NUMBER |
この作業領域が最適モードで実行した回数 |
ONEPASS_EXECUTIONS |
NUMBER |
この作業領域が1パス・モードで実行した回数 |
MULTIPASSES_EXECUTIONS |
NUMBER |
この作業領域が1パスのメモリー要件以下で実行した回数 |
ACTIVE_TIME |
NUMBER |
この作業領域がアクティブな平均時間(1/100秒) |
MAX_TEMPSEG_SIZE |
NUMBER |
この作業領域のインスタンス化によって作成された最大一時セグメント・サイズ(バイト)。この作業領域がディスクに収容されない場合、この列はNULL。 |
LAST_TEMPSEG_SIZE |
NUMBER |
この作業領域の前回のインスタンス化によって作成された一時セグメントのサイズ(バイト)。この作業領域の前回のインスタンス化がディスクに収容されなかった場合、この列はNULL。 |