プライマリ・コンテンツに移動
Oracle® Databaseリファレンス
11gリリース2 (11.2)
B56311-12
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

V$SQL_PLAN_MONITOR

V$SQL_PLAN_MONITORは、V$SQL_MONITORにある、各SQL文に対するプラン・レベルの監視統計を示します。V$SQL_PLAN_MONITOR内の各行は、監視対象の実行計画の操作に対応します。V$SQL_MONITORと同様に、V$SQL_PLAN_MONITOR内で公開された統計は、通常、文の実行中に毎秒更新されます。これらの統計は、V$SQL_MONITORと同様、再利用されます。

SQLプラン監視のオーバーヘッドを回避するために、プランの各操作で収集される統計では、経過時間、CPU時間、I/O時間などの時間情報を記録しません。かわりに、この時間情報は、SQL_IDSQL_EXEC_STARTSQL_EXEC_IDおよびSQL_PLAN_LINE_ID(V$SQL_PLAN_MONITORでは単純にPLAN_LINE_IDという)のV$ACTIVE_SESSION_HISTORYV$SQL_PLAN_MONITORを結合することによって、きわめて正確に見積もることができます。この結合の結果は、プラン内の各操作によって実行されるアクティビティのサンプルで、ここからCPU時間および待機時間の見積りを導出できます。これは、V$ACTIVE_SESSION_HISTORYで検出される対応アクティビティ・タイプのサンプル数に応じて、V$SQL_MONITORで検出される文レベル監視時間の統計情報をブレークすることによって達成されます。

データ型 説明
KEY NUMBER V$SQL_PLAN_MONITORV$SQL_MONITORに効率的に結合するための外部キー(V$SQL_MONITORを参照)
STATUS VARCHAR2(19) SQL実行のステータス:
  • EXECUTING - SQL文は現在も実行中

  • DONE (ERROR) - エラーが発生して、実行が終了した

  • DONE (FIRST N ROWS) - すべての行がフェッチされる前に、実行はアプリケーションにより終了された

  • DONE (ALL ROWS) - 実行が終了して、すべての行はフェッチされた

  • DONE - 実行が終了した(パラレル実行)

FIRST_REFRESH_TIME DATE SQL文の監視の開始時刻
LAST_REFRESH_TIME DATE SQL文の統計が前回更新された時刻
FIRST_CHANGE_TIME DATE この操作によって最初に行が生成された時刻
LAST_CHANGE_TIME DATE この操作によって最後に行が生成された時刻
REFRESH_COUNT NUMBER 統計がリフレッシュされた回数
SID NUMBER 監視対象のSQL文を実行している(または実行が完了した)セッション識別子
PROCESS_NAME VARCHAR2(5) プロセス名識別子
SQL_ID VARCHAR2(13) SQL識別子
SQL_EXEC_START DATE 実行の開始時刻
SQL_EXEC_ID NUMBER 実行識別子
SQL_PLAN_HASH_VALUE NUMBER SQLプランのハッシュ値
SQL_CHILD_ADDRESS RAW(4 | 8) 子カーソルのアドレス
PLAN_PARENT_ID NUMBER 現行の手順の出力に基づいて動作する、次の実行手順のID
PLAN_LINE_ID NUMBER エントリのプランの行番号
PLAN_OPERATION VARCHAR2(30) プランの操作の名前(V$SQL_PLANからの)
PLAN_OPTIONS VARCHAR2(30) プランのオプション名(V$SQL_PLANからの)
PLAN_OBJECT_OWNER VARCHAR2(30) 表または索引を含むスキーマを持つユーザーの名前
PLAN_OBJECT_NAME VARCHAR2(30) 表名または索引名
PLAN_OBJECT_TYPE VARCHAR2(20) オブジェクトのタイプ
PLAN_DEPTH NUMBER ツリー内の操作の深さ(レベル)。レベル情報を取得するために、必ずしもCONNECT BY文(通常、PLAN_TABLE表からの行をインデントするために使用)を発行する必要はない。ルート操作(文)は、レベル0です。
PLAN_POSITION NUMBER 同じPARENT_IDを持つすべての操作の処理順序
PLAN_COST NUMBER オプティマイザのコストベース方法で見積もった操作コスト。ルールベース方法を使用する文の場合、この列はNULL。
PLAN_CARDINALITY NUMBER コストベースのオプティマイザによる操作によって作成された行数の見積り
PLAN_BYTES NUMBER コストベースのオプティマイザによる操作によって作成されたバイト数の見積り
PLAN_TIME NUMBER オプティマイザのコストベース方法で見積もった、操作の経過時間(秒)。ルールベース方法を使用する文の場合、この列はNULL。
PLAN_PARTITION_START VARCHAR2(64) アクセスされたパーティション範囲の開始パーティション
PLAN_PARTITION_STOP VARCHAR2(64) アクセスされたパーティション範囲の終了パーティション
PLAN_CPU_COST NUMBER オプティマイザのコストベース方法で見積もった操作のCPUコスト。ルールベース方法を使用する文の場合、この列はNULL。
PLAN_IO_COST NUMBER オプティマイザのコストベース方法で見積もった操作のI/Oコスト。ルールベース方法を使用する文の場合、この列はNULL。
PLAN_TEMP_SPACE NUMBER オプティマイザのコストベース方法で見積もった操作(ソートまたはハッシュ結合)の一時領域の使用方法。ルールベース方法を使用する文の場合、この列はNULL。
STARTS NUMBER この操作が実行された回数。たとえば、操作は、ネステッド・ループ結合の右側にある場合には複数回実行される(ネステッド・ループ結合左側に入力されている各行の場合は1回)。
OUTPUT_ROWS NUMBER 実行が開始されてからこの操作によって生成された行数。この数は、この操作の実行数すべてに対して累積される。STARTS列の値で割ると、操作の実行当たりの平均行数が算出される。STARTS列の値は、OUTPUT_ROWS列の値以上になる。値は通常等しくなるが、内部の最適化の状況次第で大きくなることもある。
IO_INTERCONNECT_BYTES NUMBER Oracle Databaseとストレージ・システムの間で交換されたI/Oのバイト数。Oracleが実行の監視を開始した後のみ保持される。
PHYSICAL_READ_REQUESTS NUMBER 監視対象のSQLによって発行された物理読取りI/Oリクエスト数。Oracleが実行の監視を開始した後のみ保持される。
PHYSICAL_READ_BYTES NUMBER 監視対象のSQLによってディスクから読み取られたバイト数。Oracleが実行の監視を開始した後のみ保持される。
PHYSICAL_WRITE_REQUESTS NUMBER 監視対象のSQLによって発行された物理書込みI/Oリクエスト数。Oracleが実行の監視を開始した後のみ保持される。
PHYSICAL_WRITE_BYTES NUMBER 監視対象のSQLによってディスクに書き込まれたバイト数。Oracleが実行の監視を開始した後のみ保持される。
WORKAREA_MEM NUMBER 問合せ実行時に操作が使用するメモリー量(バイト)。実行が終了している場合はNULL。これは、ソート、ハッシュ結合、グループ化など、作業領域を使用した操作に対してのみ適用される。
WORKAREA_MAX_MEM NUMBER WORKAREA_MEMの最大値(バイト)。操作が作業領域を使用していない場合はNULL。実行が終了した時点で、この値は、文の実行中にこの操作が消費した最大メモリー量を保持する。
WORKAREA_TEMPSEG NUMBER 問合せ実行時に操作が使用する一時領域の量(バイト)。操作がディスクに収容されていないか、実行が終了している場合はNULL。
WORKAREA_MAX_TEMPSEG NUMBER WORKAREA_TEMPSEGの最大値(バイト)。この操作がディスクに収容されていない場合はNULL。実行が終了した時点で、この値は、実行時全体でこの操作が消費した最大一時領域量を保持する。