V$SQL_WORKAREA_ACTIVE
には、現在システムによって割り当てられている作業領域の瞬間ビューが含まれます。このビューをV$SQL_WORKAREA
に対してWORKAREA_ADDRESS
で結合し、作業領域の定義にアクセスできます。作業領域がディスクに収容される場合、このビューにはこの作業領域のかわりに作成された一時セグメントの情報が含まれます。
最後の3列は、V$SQL_WORKAREA_ACTIVE
をV$TEMPSEG_USAGE
と結合して、この一時セグメントの詳細情報を取り出せるように含まれています。
このビューを使用して、次の内容を確認できます。
システムに現在割り当てられている10個の最大作業領域
過剰割当てメモリーの割合(EXPECTED_SIZE
<
ACTUAL_MEM_USED
)および過小割当てメモリーの割合(EXPECTED_SIZE
>
ACTUAL_MEM_USED
)
メモリー・マネージャで予期されるより大きなメモリーを使用するアクティブな作業領域
ディスクに収容されたアクティブな作業領域
列 | データ型 | 説明 |
---|---|---|
SQL_HASH_VALUE |
NUMBER |
現在実行されているSQL文のハッシュ値 |
SQL_ID |
VARCHAR2(13) |
現在実行されているSQL文のSQL識別子 |
SQL_EXEC_START |
DATE |
このセッションにより現在実行中のSQLの実行が開始された時刻 |
SQL_EXEC_ID |
NUMBER |
SQL実行識別子(V$SQL_MONITOR を参照) |
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(6) |
この作業領域のサイズ指定方法(MANUAL またはAUTO ) |
SID |
NUMBER |
セッション識別子 |
QCINST_ID |
NUMBER |
問合せコーディネータのインスタンス識別子。QCSID とともに使用すると、問合せコーディネータを一意に識別できる。 |
QCSID |
NUMBER |
問合せコーディネータのセッション識別子。シリアル・カーソルによって作業領域が割り当てられている場合、これはSIDと同じ。 |
ACTIVE_TIME |
NUMBER |
この作業領域がアクティブな平均時間(マイクロ秒) |
WORK_AREA_SIZE |
NUMBER |
現在、操作で使用されている作業領域の最大サイズ(バイト) |
EXPECTED_SIZE |
NUMBER |
この作業領域の予測サイズ(バイト)。EXPECTED_SIZE は、メモリー・マネージャによる操作のかわりに設定される。WORK_AREA_SIZE が、EXPECTED_SIZE より大きな値を持つ場合、メモリーが過剰に割り当てられている可能性がある。この過剰割当ては、作業領域を使用する操作がそのサイズ変更に長時間を費やすときに、発生する場合がある。 |
ACTUAL_MEM_USED |
NUMBER |
この作業領域のかわりに現在割り当てられているPGAメモリー量(バイト)。この値は、0 からWORK_AREA_SIZE の範囲内である必要がある。 |
MAX_MEM_USED |
NUMBER |
この作業領域が使用するメモリーの最大量(バイト) |
NUMBER_PASSES |
NUMBER |
この作業領域に対応するパス数(OPTIMAL モードで実行中の場合は0 ) |
TEMPSEG_SIZE |
NUMBER |
この作業領域のかわりに使用される一時セグメントのサイズ(バイト)。この作業領域がディスクに(まだ)収容されていない場合、この列はNULL。 |
TABLESPACE |
VARCHAR2(30) |
この作業領域のかわりに作成された一時セグメントの表領域名。この作業領域がディスクに(まだ)収容されていない場合、この列はNULL。 |
SEGRFNO# |
NUMBER |
この作業領域のかわりに作成された一時セグメント用の表領域内の相対ファイル番号。この作業領域がディスクに(まだ)収容されていない場合、この列はNULL。 |
SEGBLK# |
NUMBER |
この作業領域のかわりに作成された一時セグメントのブロック番号。この作業領域がディスクに(まだ)収容されていない場合、この列はNULL。 |
関連項目: SQL作業領域の監視方法の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 |