未フォーマット・イベント (UE) 表に書き込むイベント・モニターの作成
イベント・モニター・データ収集のパフォーマンスが特に重要である場合は、イベント・モニターがその出力を未フォーマット・イベント (UE) 表に書き込むようにすることができます。 UE 表へのデータ書き込みの多くは、インライン・バイナリー・データとして書き込まれます。 このようにすると、データ収集時の入出力をより高速にできます。
UE 表がイベント・モニターの通常表よりも優っているもう 1 つの点は、通常、イベント・モニターの作成時点でさまざまなオプション (使用するバッファーのサイズ、イベント・モニターをブロック化するか非ブロック化するか、どのタイプのデータ (論理グループ) を収集する必要があるか) を考慮する必要がないということです。 ただし、収集されるデータの大部分がバイナリー・フォーマットであるため、イベント・データを調査できるようにするには、UE 表を後処理する必要があります。
注: UE 表に関連する以下の機能が使用可能です。
- プロシージャー EVMON_UPGRADE_TABLES を使用して、以前のリリースのイベント・モニターにより生成された UE 表をアップグレードできます。 この機能を使用すると、過去に記録されたイベント・モニター・データを簡単に保持することができます。
- 出力を UE 表に書き込めるすべてのイベント・モニターは、通常表にも書き込むことができます。
- プロシージャー EVMON_FORMAT_UE_TO_TABLES のオプション PRUNE_UE_TABLE を使用して、不要なデータを UE 表から除去することができます。
始める前に
- UE 表に書き込むイベント・モニターを作成するには、SQLADM 権限または DBADM 権限が必要です。
- 未フォーマット・イベント表には、パフォーマンスが最適になるような表スペースを使用します。 表スペースを作成するときは、以下のガイドラインに留意してください。
- ページ・サイズ (PAGESIZE) を可能な限り大きく指定します (最大で 32KB)。 ページ・サイズが大きいと、表の行を使用して、イベント・データを含む BLOB をインラインで書き込むことができます。 ページ・サイズが小さすぎて BLOB をインライン化できない場合、イベント・モニターのパフォーマンスが低下することがあります。 データベース・マネージャーは、未フォーマット・イベント表内の event_data BLOB 列をインライン化しようとしますが、これは必ずしも可能ではありません。 未フォーマット・イベント表内の行がインライン化されているかどうかを確認するには、ADMIN_IS_INLINED 関数を使用します。 行がインライン化されていない場合は、行が必要とするスペースを判別するために、ADMIN_EST_INLINE_LENGTH 関数を使用します。
- NO FILE CACHING SYSTEM オプションを指定します。
- パーティション・データベース環境では、表スペースが存在するパーティションを考慮します。 ターゲットの未フォーマット・イベント表の表スペースが、あるデータベース・パーティション上に存在していない場合、そのターゲットの未フォーマット・イベント表のデータは無視されます。 この動作を利用すると、ユーザーは、特定のデータベース・パーティションにのみ存在する表スペースを作成することにより、選択するモニター用にデータベース・パーティションのサブセットを選択できることになります。
このタスクについて
- 作業単位
- パッケージ・キャッシュ
- ロック
注: 名前にかかわらず、未フォーマット・イベント表は引き続きリレーショナル表です。 例えばロッキング・イベント・モニターにより生成される UE 表と、ロッキング・イベント・モニターにより生成される通常表との主な違いは、UE 表の大部分のデータが EVENT_DATA 列にバイナリー・フォーマットで書き込まれるということです。 UE 表の構造について詳しくは、 未フォーマット・イベント表の列定義 を参照してください。
プロシージャー
UE 表に書き込むイベント・モニターを作成するには、以下のようにします。