イベント・モニターの出力オプション

イベント・モニターは、収集したデータをいくつかの方法でレポートできます。すべてのイベント・モニターは、収集したデータを表に書き込めます。 一部のイベント・モニターは、未フォーマット・イベント (UE) 表に書き込むことが可能で、これはパフォーマンスの向上に役立ちます。ファイルまたは名前付きパイプに直接書き込めるイベント・モニターもあります。

イベント・モニターによって収集する情報の用途、およびイベント・モニターのタイプに応じて、 イベント・モニターの収集した出力を、 さまざまな方法で生成するように選択することができます。 選択可能な出力タイプには以下があります。
通常表
すべてのイベント・モニターは、SQL を使用して直接照会できる通常の表に書き込めます。すべてのイベントにおいて、イベントに関して収集されたモニター・エレメントまたはメトリックは、それぞれ表の対応する列に書き込まれます。 したがって、SELECT ステートメントを使用して出力を照会して、 特定のモニター・エレメントの値を調べることが可能です。

表に書き込むイベント・モニターを作成するには、WRITE TO TABLE 節を CREATE EVENT MONITOR ステートメントに指定します。イベント・モニターに応じて、出力を格納するための表が 1 つ以上作成されます。各表には、単一の論理グループに属するモニター・エレメントが格納されます。

表は、選択した表スペース内に保管できます。 ただし、 CREATE EVENT MONITOR ステートメントのターゲット表は、パーティション表以外の表でなければなりません。

未フォーマット・イベント (UE) 表
UE 表はリレーショナル表ですが、列の数が限られています。 各イベントに関連付けられているデータのほとんどは、 インライン・バイナリー (BLOB) オブジェクトを格納する列に書き込まれます。イベント・データをバイナリー・フォーマットで書き込むことによって、各レコードを表に書き込む時間が削減されます。このため、 UE 表は、イベント・モニターのパフォーマンスが重要である場合に特に有用です。 例えば、入出力や CPU の制約が厳しいシステムのケースなどが考えられます。

ただし、 イベント・データがバイナリー・フォーマットで書き込まれるため、 SQL を使用して判読可能なデータを抽出することはできません。バイナリー・フォーマットで保管されているデータを抽出するには、 UE 表に対して後処理を実行する必要があります。UE 表を使用するもう 1 つの利点は、 後処理時に自動的に UE 表データを除去できる点です。 EVMON_FORMAT_UE_TO_TABLES プロシージャーには、 正常にデータを抽出した場合に、そのデータを UE 表から削除するオプションがあります。

未フォーマット・イベント表に書き込むイベント・モニターを作成するには、 WRITE TO UNFORMATTED EVENT TABLE 節を CREATE EVENT MONITOR ステートメントに指定します。UE 表は、イベント・モニターごとに 1 つのみ作成されます。

ファイル
一部のイベント・モニターは、ファイル・システムによって保守されるファイルに、 出力を直接送ることができます。イベント・モニターの出力にデータベース内での管理に伴う余分な処理時間の影響が及ばないようにしたい場合や、データベースがオフラインのときにデータを参照したい場合に、このタイプの出力が有用です。ファイルに書き込むイベント・モニターを作成するには、WRITE TO FILE 節を CREATE EVENT MONITOR ステートメントに指定します。
名前付きパイプ
アプリケーション・プロセスのイベント・データを、生成された直後に取得するには、 名前付きパイプのイベント・モニターを使用します。このタイプのイベント・モニターは、 名前付きパイプに直接出力を送るため、 別のアプリケーションでただちにデータを使用することができます。イベント・データをリアルタイムで処理する必要がある場合に有用であると考えられます。

名前付きパイプに書き込むイベント・モニターを作成するには、WRITE TO PIPE 節を CREATE EVENT MONITOR ステートメントに指定します。

要件によっては、 あるタイプのイベント・モニター出力が、他のタイプより適している場合があります。表 1 に、 特定の出力タイプが特に有用となる状況について要約します。
表 1. イベント・モニターのさまざまな出力タイプの要約
出力タイプ この出力タイプが有用なシナリオ
通常表
  • モニター・データを後ほど参照する場合
  • CPU、ログ・ファイル、またはディスク・ストレージの最大容量に接近していないシステム
  • SQL を使用したデータへの即時アクセスが望ましい場合
未フォーマット・イベント (UE) 表
  • モニター・データを後ほど参照する場合
  • イベント・モニターのパフォーマンスが優先されるシステム、あるいは CPU、ログ・ファイル、またはディスク使用量に制約があるシステム
  • データ後処理の追加ステップが問題にならない場合
ファイル
  • モニター・データをデータベースの一部として管理することが望ましくない、または管理する必要がないシステム (ロギング、挿入、整合性維持のための追加の処理時間が不要になります)。
  • モニター対象のデータベースの外にデータを保管する場合
  • データを後ほどオフラインのときに参照する場合
パイプ
  • イベント・データをただちに処理するアプリケーションにストリーミングする場合
  • イベント・データに後ほどアクセスする必要がない場合
すべてのイベント・モニターがすべての出力タイプをサポートしているわけではありません。例えば、 UE 表を生成できるのは、作業単位、パッケージ・キャッシュ、およびロックのイベント・モニターのみです。 表 2 に、 さまざまなタイプのイベント・モニターでどの出力オプションを使用できるのかを示します。
表 2. イベント・モニターの出力オプション
イベント・モニター・タイプ 通常の表 未フォーマット・イベント表 ファイル 名前付きパイプ
アクティビティー はい   はい はい
バッファー・プール はい   はい はい
変更履歴 はい      
接続 はい   はい はい
データベース はい   はい はい
デッドロック*(すべてのバリエーション) はい   はい はい
ロッキング はい はい    
パッケージ・キャッシュ はい はい    
ステートメント はい   はい はい
統計 はい   はい はい
表スペース はい   はい はい
はい   はい はい
しきい値違反 はい   はい はい
トランザクション* はい   はい はい
作業単位 はい はい    
* 推奨されないイベント・モニターです。