表に書き込むイベント・モニターの作成
イベント・モニターを作成するには、CREATE EVENT MONITOR STATEMENT を使用します。
このステートメントは、モニターしようとするイベントのタイプに応じて、さまざまな形で使用されます。
始める前に
- 表イベント・モニターを作成するには、SQLADM 権限または DBADM 権限が必要です。
- CREATE EVENT MONITOR ステートメントのターゲット表 (つまり、イベント・モニターがその出力を書き込む表) は、非パーティション表でなければなりません。
このタスクについて
手順
出力を通常表に書き込むイベント・モニターを作成するには、以下のステップを実行します。
追加のオプション
さまざまなイベント・モニターにより、さまざまな構成オプションが提供されています。 特定のタイプのイベント・モニターで使用可能なオプションについて詳しくは、使用するイベント・モニターのタイプに関する CREATE EVENT MONITOR ステートメントの資料を参照してください。 次に示す例では、各種のイベント・モニターで選択できる構成オプションの一部を紹介しています。- 1 つのイベント・モニターによる複数のイベント・タイプのキャプチャー
- 一部のタイプ
1 のイベント・モニターでは、1 つのイベント・モニターでさまざまなタイプのイベントをキャプチャーできます。
このイベント・モニターで複数のタイプのイベントをキャプチャーしようとする場合は、
eventtypeに追加の値をコンマで区切って指定します。 例えば、1 つのイベント・モニターの中で、バッファー・プールと表スペース・モニタリングを組み合わせることができます。CREATE EVENT MONITOR myevmon FOR BUFFERPOOLS, TABLESPACES WRITE TO TABLEこのイベント・モニターは、BUFFERPOOL イベント・タイプと TABLESPACE イベント・タイプについてモニターします。 上記のステートメントがユーザー dbadmin によって発行されたとすると、ターゲット表の派生名および表スペースは以下のようになります。- DBADMIN.BUFFERPOOL_MYEVMON
- DBADMIN.TABLESPACE_MYEVMON
- DBADMIN.CONTROL_,MYEVMON
- イベント・モニター出力バッファーのサイズ調整
- 一部のタイプ1 のイベント・モニターでは、表イベント・モニター・バッファーのサイズは、BUFFERSIZE 値を調整することにより、(4K ページ単位で) 変更できます。
例えば、次のステートメントの場合、
CREATE EVENT MONITOR myevmon FOR BUFFERPOOLS, TABLESPACES WRITE TO TABLE BUFFERSIZE 88は、2 つのイベント表バッファーを合わせた容量です (4K ページ単位)。 それぞれのバッファーが 16K で、最大 32K までバッファー・スペースが追加されます。各バッファーのデフォルト・サイズは 4 ページです (16K バッファーが 2 個割り振られます)。最小サイズは 1 ページです。バッファーはモニター・ヒープから割り振られるので、バッファーの最大サイズはこのヒープのサイズによって制限されます。パフォーマンス上の理由で、アクティブ率の高いイベント・モニターには、 アクティブ率が比較的低いものよりも大きなバッファーが必要です。
- イベント・モニターの出力をブロック化するか非ブロック化するかの制御
- 一部のイベント・モニター1 では、イベント・モニターの出力バッファーが満杯になったときに、その後の処理をどのようにするか制御できます。
ブロック化イベント・モニターの場合、イベントを生成する各エージェントは、
イベント・バッファーが満杯であれば、それが表に書き込まれるまで待機します。
これは、データベースのパフォーマンスを低下させることがあります。
なぜなら、バッファーがクリアされるまで、
延期されたエージェントおよび従属エージェントが実行できなくなるからです。
イベント・データが脱落しないようにするには、BLOCKED 節を使用します。
CREATE EVENT MONITOR myevmon FOR BUFFERPOOLS, TABLESPACES WRITE TO TABLE BUFFERSIZE 8 BLOCKEDすべての単一イベント・レコードを収集することよりも、 データベース・パフォーマンスのほうが重要な場合には、 非ブロック化イベント・モニターを使用してください。 その場合、イベントを生成する各エージェントは、 イベント・バッファーが満杯のときに、それが表に書き込まれるのを待機しません。 結果として、非ブロック化イベント・モニターは、 アクティブ率の高いシステムではデータの脱落という影響を受けます。 イベント・モニターによって生じる処理時間の増加を最小限に抑えるには、NONBLOCKED 節を使用します。CREATE EVENT MONITOR myevmon FOR BUFFERPOOLS, TABLESPACES WRITE TO TABLE BUFFERSIZE 8 NONBLOCKED - どのデータに関するどのモニター・エレメントを収集するかの制御
- どのモニター・エレメントに関するデータを収集しますか。
少数のモニター・エレメントにしか興味がない場合、一部のイベント・モニター1 では、CREATE EVENT MONITOR ステートメントにエレメント名を指定することによって、どのモニター・エレメントを収集するかを指定することができます。
CREATE EVENT MONITOR myevmon FOR DATABASE, BUFFERPOOLS, TABLESPACES WRITE TO TABLE DB, DBMEMUSE, BUFFERPOOL (EXCLUDES(db_path, files_closed)), TABLESPACE (INCLUDES (tablespace_name, direct_reads, direct_writes)) BUFFERSIZE 8 NONBLOCKEDDB 論理データ・グループおよび DBMEMUSE 論理データ・グループのすべてのモニター・エレメントがキャプチャーされます (これがデフォルトの動作です)。 BUFFERPOOL の場合は、db_path および files_closed 以外のすべてのモニター・エレメントがキャプチャーされます。 最後に、TABLESPACE の場合は、モニター・エレメント tablespace_name、direct_reads および direct_writes だけがキャプチャーされます。
- イベント・モニターを非アクティブ化する際の、使用する表スペースに基づくしきい値の設定
- すべてのイベント・モニターで、表スペースがどの程度満杯になれば、イベント・モニターが自動的に非アクティブ化するのかを指定するオプションが提供されています。
CREATE EVENT MONITOR myevmon FOR BUFFERPOOLS, TABLESPACES PCTDEACTIVATE 90表スペースが 90% の容量に達すれば、myevmon イベント・モニターが自動的にシャットオフします。 DMS 表スペースには PCTDEACTIVATE 節のみを使用できます。 ターゲット表スペースで自動サイズ変更が有効な場合は、PCTDEACTIVATE 文節を 100 に設定してください。
次のタスク
1 BUFFERPOOLS、CONNECTIONS、DATABASE、DEADLOCKS、STATEMENTS、TABLES、および TABLESPACES のイベント・モニターは、このオプションをサポートしています。