10.54 V$SQL_MONITOR
V$SQL_MONITOR
は、実行がOracleによって監視された(または監視されている)SQL文を示します。
このビューには、単純データベース操作と複合データベース操作に関するグローバルな上位レベルの情報が含まれます。
Oracle Databaseでは、次のいずれかの条件に該当する場合、上位のSQL文およびPL/SQLサブプログラムである単純なデータベース操作が監視されます。
-
操作がパラレルで実行される。
-
1回の操作実行で少なくとも5秒間のCPUまたはI/O時間が消費される。
-
操作のトラッキングが/*+ MONITOR */ヒントによって強制される。
単純なデータベース操作の場合、監視の統計は複数の実行処理にわたって累積されません。この場合、V$SQL_MONITOR
の1つのエントリが、SQL文の1回の実行のみに対応します。同じSQL文の2つの実行を監視する場合、V$SQL_MONITOR
に各実行のエントリが個別に作成されます。
単純なデータベース操作の場合、V$SQL_MONITOR
には、パラレル実行のコーディネータ・プロセスに対して1つのエントリと、パラレル実行のサーバー・プロセスごとに1つのエントリが割り当てられます。各エントリにはV$SQL_PLAN_MONITOR
の対応するエントリがあります。SQL文のパラレル実行に割り当てられた各プロセスは、同じ実行に対して連携動作するため、これらのエントリは同じ実行キー(SQL_ID
、SQL_EXEC_START
およびSQL_EXEC_ID
の組合せ)を共有します。
Oracle Databaseでは、次のいずれかの条件に該当する場合、複合データベース操作が監視されます。
-
データベース操作が
DBMS_SQL_MONITOR.BEGIN_OPERATION
によって開始され、操作でCPUまたはI/O時間が少なくとも5秒間消費された。 -
DBMS_SQL_MONITOR.BEGIN_OPERATION
のFORCE_TRACKING
をY
に設定することによって操作のトラッキングが強制された。
複合データベース操作の場合、各行には、操作の一部として同一セッションで実行されるPL/SQLサブプログラムおよびSQL文で統計が蓄積される操作が含まれます。
V$SQL_MONITOR
ビューには、V$SQL
で使用可能な統計のサブセットが含まれます。ただし、V$SQL
とは異なり、監視の統計は複数の実行処理にわたって累積されません。かわりに、V$SQL_MONITOR
の1つのエントリは、SQL文の1回の実行のみに対応します。同じSQL文の2つの実行を監視する場合、V$SQL_MONITOR
に各実行のエントリが個別に作成されます。
主キーは、SQL_ID
、SQL_EXEC_START
およびSQL_EXEC_ID
の各列を組み合せたものです。
V$SQL_MONITOR
には、パラレル実行のコーディネータ・プロセスに対して1つのエントリと、パラレル実行のサーバー・プロセスごとに1つのエントリが割り当てられます。各エントリにはV$SQL_PLAN_MONITOR
の対応するエントリがあります。SQL文のパラレル実行に割り当てられた各プロセスは、同じ実行に対して連携動作するため、これらのエントリは同じ実行キー(コンポジットSQL_ID
、SQL_EXEC_START
,およびSQL_EXEC_ID
)を共有します。実行キーを集計することで、パラレル実行の全体的な統計を確認できます。
監視対象のSQL文の実行中、V$SQL_MONITOR
内の統計は通常、毎秒ほぼリアルタイムで更新されます。実行の終了後、監視情報はすぐに削除されません。かわりに、最低1分間、V$SQL_MONITOR
に保存されます。エントリは最終的に削除され、その領域が新しい文の監視時に再利用されます。
列 | データ型 | 説明 |
---|---|---|
|
|
|
|
|
この監視エンティティについて自動ワークロード・リポジトリ(AWR)に保管されたXMLレポートの固有ID |
|
|
SQL実行のステータス:
|
|
|
監視対象のSQLを発行したデータベース・ユーザーのユーザーID |
|
|
監視対象のSQLを発行したデータベース・ユーザーのユーザー名 |
|
|
|
|
|
|
|
|
ユーザー・セッションのサービス名 |
|
|
ユーザー・セッションのクライアント識別子 |
|
|
ユーザー・セッションのクライアント情報 |
|
|
監視SQLを発行したオペレーティング・システム・プログラムの名前 |
|
|
スタック上の最上位PL/SQLサブプログラムのオブジェクトID(PL/SQLサブプログラムがスタック上にない場合は、NULL) |
|
|
スタック上の最上位PL/SQLサブプログラムのサブプログラムID(PL/SQLサブプログラムがスタック上にない場合は、NULL) |
|
|
現在実行中のPL/SQLサブプログラムのオブジェクトID(SQLの実行中はNULL) |
|
|
現在実行中のPL/SQLオブジェクトのサブプログラムID(SQLの実行中はNULL) |
|
|
SQL文の監視が開始した時刻。通常は、SQL実行開始時刻の数秒後。 |
|
|
|
|
|
|
|
|
現在の実行に対するデータベース操作実行識別子。タイプがSQLの場合、 |
|
|
データベース操作名。タイプがSQLの場合、 |
|
|
監視対象のSQL文を実行している(または実行が完了した)セッション識別子 |
|
|
文を実行している(または実行を完了した)プロセス名識別子。プロセスがフォアグラウンドの場合は |
|
|
監視対象の文のSQL識別子 |
|
|
監視対象のSQLテキストの最初の2000文字(最大) |
|
|
|
|
|
実行の開始時刻 |
|
|
実行識別子。3つの列 |
|
|
SQLプランのハッシュ値 |
|
|
このカーソルに対する完全なSQLプランの数値表現。ある |
|
|
正規化されたSQLテキストに対して計算されたシグネチャ。正規化には、空白の削除と非リテラル文字列の大文字化が含まれる。 |
|
|
|
|
|
子カーソルのアドレス( |
|
|
監視対象の文を実行しているセッション・シリアル番号 |
|
|
SQL文が複数のインスタンスにまたがってパラレルに実行されたかどうか( |
|
|
監視対象のSQLのかわりに実行されたプラン操作の最大並列度 |
|
|
最大並列度でアクセスされたデータベース・インスタンスの数 |
|
|
監視対象のSQLの実行を要求されたパラレル実行サーバーの合計数 |
|
|
問合せを実行するために割り当てられたパラレル実行サーバーの実際の数 |
|
|
監視対象の文を実行している(または実行を完了した)論理パラレル実行サーバーのプロセス番号。この監視エントリが実行サーバーに関連付けられていない場合はNULL。これは、パラレル・サーバー・セット内の論理番号( |
|
|
|
|
|
|
|
|
パラレル実行コーディネータが実行されているインスタンス識別子。 |
|
|
パラレル実行コーディネータのセッション識別子。 |
|
|
SQLが実行に失敗した場合に示されるエラー番号(たとえば、ORA-00932の場合は932) |
|
|
SQLが実行に失敗した場合に示されるエラー機構(たとえば、ORA-00932の場合はORA) |
|
|
SQLが実行に失敗した場合に表示される詳細なエラー・メッセージ(エラー番号およびエラー機構に対応している) |
|
|
SQLとともに使用されるバインド変数の情報で、名前、位置、値、データ・タイプなど(XML形式で格納される) |
|
|
XML形式で格納される、SQL実行文に関する追加情報 |
|
|
経過時間(マイクロ秒)。文の実行時に更新される。 |
|
|
文のキューでSQLが費した時間(マイクロ秒) |
|
|
CPU時間(マイクロ秒)。文の実行時に更新される。 |
|
|
SQL文に関連するフェッチ数。文の実行時に更新される。 |
|
|
バッファ取得操作数。文の実行時に更新される。 |
|
|
ディスク読取り数。文の実行時に更新される。 |
|
|
直接書込み数。文の実行時に更新される。 |
|
|
Oracle Databaseとストレージ・システムの間で交換されたI/Oのバイト数 |
|
|
監視対象のSQLによって発行された物理読取りI/O要求の数 |
|
|
監視対象のSQLによってディスクから読み取られたバイト数 |
|
|
監視対象のSQLによって発行された物理書込みI/O要求の数 |
|
|
監視対象のSQLによってディスクに書き込まれたバイト数 |
|
|
アプリケーション待機時間(マイクロ秒)。文の実行時に更新される。 |
|
|
同時実行性待機時間(マイクロ秒)。文の実行時に更新される。 |
|
|
クラスタの待機時間(マイクロ秒)。文の実行時に更新される。 |
|
|
ユーザーI/O待機時間(マイクロ秒)。文の実行時に更新される。 |
|
|
PL/SQL実行時間(マイクロ秒)。文の実行時に更新される。 |
|
|
Java実行時間(マイクロ秒)。文の実行時に更新される。 |
|
|
このSQL操作に対してリソース・マネージャによって実行された最新のアクション。値は次のいずれか。
最後の値の<CG NAME>は、SQL操作の切替え先コンシューマ・グループの名前である。それ以降にリソース・プランが変更された場合、<CG NAME>はコンシューマ・グループのIDになる。 |
|
|
このSQL操作に対してリソース・マネージャによって実行された最新のアクションの理由。値は次のいずれか。
|
|
|
このSQL操作に対してリソース・マネージャによって実行された最新のアクションの時間。 |
|
|
このSQL操作の現在のコンシューマ・グループ |
|
|
データが関係するコンテナのID。可能な値は次のとおり。
|
|
|
オブジェクトのコンテナ名。非CDBでは、この列の値はNULLです。 |
|
|
アプリケーション・サーバーから送信された実行コンテキストの識別子 |
|
|
統計が適応可能なプランからのものか(Y)そうでないか(N)を示す。 |
|
|
統計が最終プランからのものか(Y)そうでないか(N)を示す。 |
|
|
監視されているSQLが、それもまたデータベース操作(DBOP)によって監視されているセッションで実行された場合は、この列にはそのDBOPの名前を指定する |
|
|
監視されているSQLが、それもまたデータベース操作(DBOP)によって監視されているセッションで実行された場合は、この列にはそのDBOの実行IDを指定する |
|
|
Exadataセルにオフロードされる非圧縮バイト数(解凍後のサイズ) 関連項目: 詳細は、Oracle Exadata Storage Serverのソフトウェアのマニュアルを参照。 |
|
|
Exadataストレージ・システムによるフィルタリングが可能なI/Oのバイト数 関連項目: 詳細は、Oracle Exadata Storage Serverのソフトウェアのマニュアルを参照。 |
|
|
Exadataセルによって戻された、フィルタ処理されたバイト数(処理がExadataセルでオフロードされた後に戻されたバイト数) 関連項目: 詳細は、Oracle Exadata Storage Serverのソフトウェアのマニュアルを参照。 |
|
|
現在のユーザーを識別する一意の番号 |
|
|
現在のユーザーのユーザー名 |
脚注1 この列は、Oracle Databaseリリース19c, バージョン19.1以降で使用可能です。
関連項目:
-
データベース操作の監視の詳細は、『Oracle Database SQLチューニング・ガイド』を参照してください
-
DBMS_APPLICATION_INFO.SET_MODULE
プロシージャの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。 -
DBMS_APPLICATION_INFO.SET_ACTION
プロシージャの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。