ファイル・イベント・モニターの作成

イベント・モニターの作成時に、 それが収集した情報の保管場所を決定する必要があります。 ファイル・イベント・モニターは、イベント・レコードをファイルに保管します。 ファイル・イベント・モニターとそのオプションは、CREATE EVENT MONITOR ステートメントによって定義されます。

始める前に

ファイル・イベント・モニターを作成するには、SQLADM または DBADM 権限が必要です。

このタスクについて

ファイル・イベント・モニターは、 8 桁の番号の付いた、拡張子 "evt" のファイル (例えば 00000000.evt、 00000001.evt、00000002.evt) にイベント・レコードを流します。 データを小さく分割した場合でも、 全体を 1 つの論理ファイルと見なす必要があります (つまり、 データ・ストリームの開始はファイル 00000000.evt の最初のバイトであり、 データ・ストリームの終了はファイル nnnnnnnn.evt 内の最後のバイトです)。 イベント・モニターでは、 1 つのイベント・レコードが 2 つのファイルにわたって入ることはありません。

手順

  1. イベント・モニター・データがファイル (またはファイルのセット) に収集されることを指定し、 イベント・ファイルが保管されるディレクトリーの場所を指定します。
    CREATE EVENT MONITOR dlmon FOR eventtype
                         WRITE TO FILE '/tmp/dlevents'

    dlmon はイベント・モニターの名前です。

    /tmp/dlevents は、イベント・モニターがイベント・ファイルを書き込むディレクトリー・パス (UNIX システム上) の名前です。

  2. モニター対象のイベントのタイプを指定します。 単一イベント・モニターで、1 つ以上のイベント・タイプをモニターすることができます。
    CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                         WRITE TO FILE '/tmp/dlevents'
    このイベント・モニターは、CONNECTIONS および DEADLOCKS WITH DETAILS イベント・タイプをモニターします。
  3. BUFFERSIZE 値を調整することによって、 ファイル・イベント・モニター・バッファーのサイズを指定します (4K ページ単位)。
    
    CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                         WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
    8 は、2 つのイベント・ファイル・バッファーの容量です (4K ページ単位)。

    個々のバッファーのデフォルト・サイズは 4 ページです (16K のバッファーが 2 つ割り振られます)。最小サイズは 1 ページです。 バッファーはモニター・ヒープから割り振られるので、バッファーの最大サイズはこのヒープのサイズによって制限されます。パフォーマンス上の理由で、アクティブ率の高いイベント・モニターには、 アクティブ率が比較的低いものよりも大きなバッファーが必要です。

  4. イベント・モニターをブロック化または非ブロック化する必要があるかどうかを指定します。ブロック化イベント・モニターの場合、イベントを生成する各エージェントは、 イベント・バッファーが満杯であれば、それがファイルに書き込まれるまで待機します。これは、データベースのパフォーマンスを低下させることがあります。 なぜなら、バッファーがクリアされるまで、 延期されたエージェントおよび従属エージェントが実行できなくなるからです。 イベント・データが脱落しないようにするには、BLOCKED 節を使用します。
    CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                         WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
                         BLOCKED 
    イベント・モニターはデフォルトではブロック化されます。すべての単一イベント・レコードを収集することよりも、 データベース・パフォーマンスのほうが重要な場合には、 非ブロック化イベント・モニターを使用してください。 その場合、イベントを生成する各エージェントは、 イベント・バッファーが満杯のときに、それがファイルに書き込まれるのを待機しません。結果として、非ブロック化イベント・モニターは、 アクティブ率の高いシステムではデータの脱落という影響を受けます。イベント・モニターによって生じる処理時間の増加を最小限に抑えるには、NONBLOCKED 節を使用します。
    CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                         WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
                         NONBLOCKED 
  5. イベント・モニターについて収集できるイベント・ファイルの最大数を指定します。この限度に達すると、イベント・モニターは自分自身を非アクティブ化します。
    CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                         WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
                         NONBLOCKED MAXFILES 5 
    5 は、作成されるイベント・ファイルの最大数です。
    イベント・モニターが作成できるイベント・ファイルの数に制限がないことを指定することもできます。
    
    CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                         WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
                         NONBLOCKED MAXFILES NONE
  6. イベント・モニターによって作成されるそれぞれのイベント・ファイルごとに、 最大サイズを指定します (4K ページ単位)。この限度に達すると、新規ファイルが作成されます。
    CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                         WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
                         NONBLOCKED MAXFILES 5 MAXFILESIZE 32
    32 は、1 つのイベント・ファイルに入れることができる 4K ページ単位の最大数です。
    この値は、BUFFERSIZE パラメーターによって指定された値よりも大きくなければなりません。また、イベント・ファイルのサイズに制限がないことを指定することもできます。
    
    CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                         WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
                         NONBLOCKED MAXFILES NONE MAXFILESIZE NONE
  7. データベースを開始するたびに、イベント・モニターが自動的に活動化されるかどうかを指定します。デフォルトでは、データベースの開始時にイベント・モニター (WLM イベント・モニターは例外) は自動的には活動化されません。
    • データベースの開始時に自動的に開始するイベント・モニターを作成するには、次のステートメントを発行する。
      CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                           WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
                           NONBLOCKED AUTOSTART
    • データベースの開始時に自動的に開始しないイベント・モニターを作成するには、次のステートメントを発行する。
      
      CREATE EVENT MONITOR dlmon FOR CONNECTIONS, DEADLOCKS WITH DETAILS
                           WRITE TO FILE '/tmp/dlevents' BUFFERSIZE 8 
                           NONBLOCKED MANUALSTART
  8. イベント・モニターを活動化または非アクティブ化するには、SET EVENT MONITOR STATE ステートメントを使用します。

タスクの結果

ファイル・イベント・モニターが作成されて活動化されると、 指定されたイベントが発生するたびに、モニター・データを記録します。