3.8 リアルタイムSQLモニターの使用

リアルタイムSQLモニター機能では、SQL問合せの実行をリアルタイムでモニターするためのダッシュボード・インタフェースが提供されます。ユーザーは、長時間実行SQL文とパラレルSQL文、および関連するパフォーマンス・メトリックを、単一の場所で一元的に表示できます。

SQLモニタリングは、次のときに自動的に開始されます:

  • SQL文がパラレルで実行された。
  • SQL文によって1回の実行でCPUまたはI/O時間が5秒以上消費された。
  • SQL文の実行で/*+ MONITOR +*/ヒントが使用された。

前提条件

リアルタイムSQLモニターには次のものが必要です:

  • Oracle Database Tuning Pack。

  • データベース管理者ロール。所有するスキーマ・オブジェクトに対するSQLをこの機能を使用してモニターするために特別なデータベース権限は必要ありません。ただし、データベース内のモニターされたSQLをすべて表示するには、SELECT_CATALOG_ROLEが必要です。

リアルタイムSQLモニターのビューは、選択したデータベース接続に対して現在実行中または実行が完了した問合せについて情報が各行に表示される、1つの表からなります。

「モニターされた文」表

「モニターされた文」表には、次の情報が含まれています:

  • ステータス: SQL文の実行の現在の状態。たとえば、実行が終了したSQL文には、「DONE」ステータスが示されます。
  • 所要時間: 文の実行にかかった時間、または文の実行までにかかった待機時間。
  • タイプ: 文のタイプ(SQLまたはPL/SQL)。
  • SQL ID: モニターされた文のSQL識別子。
  • ユーザー: その文を実行したユーザーの名前。
  • パラレル: この列には、割り当てられているインスタンスおよびパラレル実行サーバーの数が表示されます。これは、インスタンスの数|パラレル・サーバーの数という形式で示されます。
  • データベース時間: データベース時間の上にカーソルを置いて、時間および待機イベントの内訳を示すポップアップを表示します。
  • 開始時間: SQL文の実行が開始された時間。
  • 終了時間: SQL文の実行が終了した時間。
  • SQLテキスト: モニターされているSQL文。

リアルタイムSQLモニターへのアクセス

リアルタイムSQLモニターは、接続のコンテキスト・メニュー(右クリック)で使用できます。「リアルタイムSQLモニター」を選択すると、現在モニター中または過去にモニターされていたすべての文を示す表が開きます。

行の任意の場所をクリックして、対応する文についての次の詳細にアクセスします:

  • 概要: モニターされた文についての一般情報、時間と待機の統計、およびIO統計。

  • 計画統計: 表形式での、SQL文の実行の実行計画。それぞれの行は、SQL文の実行に伴う異なる操作であり、「Operation」列のテキストの冒頭にスペースを追加することで、階層的な従属関係が示されます。

  • 計画: ツリー構造でSQL文の実行計画について説明します。

  • メトリック: このエントリでは、CPU、使用済メモリー、I/Oスループット、I/Oリクエスト時間など、その実行について収集された主要なパフォーマンス・メトリックが追跡されます。

「モニターされた文」表のツールバー

  • 自動リフレッシュ: 「モニターされた文」表をリフレッシュする時間間隔(秒単位)を選択します。
  • 名前を付けて保存: 「モニターされた文」表からの選択した文についての詳細情報をレポートとして保存します。
  • 「リフレッシュ」アイコン: 「モニターされた文」表を更新します。