変更履歴イベント・モニターを使用したユーティリティー履歴のモニター

変更履歴イベント・モニターは、ユーティリティーの実行に関するいくつかのイベントをキャプチャーできます。それらのイベントを使用すると、 データベース・サーバーのユーティリティー実行履歴をモニターできます。 このイベント履歴は、いくつかの論理データ・グループに書き込まれます。 各論理データ・グループには、関連付けられたイベント・モニター表が 1 つ存在します。

1 つのユーティリティーの実行で、変更履歴イベント・モニターに 1 つ以上のイベントが生成される場合があります。例えば、REORG ユーティリティーの実行では、 REORG 操作の開始と終了を示す 2 つのイベントが生成されます。 イベントと論理データ・グループは、1 対多でマッピングされます。 1 つのイベントで、複数の論理データ・グループに情報が書き込まれる場合があります。また、 1 つのイベントで、特定の論理データ・グループに関連付けられている表に、複数のエントリー (行) が書き込まれる場合があります。特定のユーティリティー呼び出しに対応する各イベントは、 utility_invocation_id エレメントで識別されます。 utility_invocation_id は、特定のユーティリティー呼び出しを一意的に識別するバイナリー・トークンです。utility_invocation_id は、 ユーティリティーを実行している全メンバーで同じです。utility_invocation_id の固有性は、 データベースの非アクティブ化、再活動化、およびメンバーのシャットダウンが行われても維持されます。 このため、特定のユーティリティー呼び出しに対応するすべてのイベント・モニター・レコードを迅速に識別することができます。他のフィールドと結合する必要もなければ、 重複 ID について懸念する必要もありません。

utility_invocation_id を使用すると、 特定のユーティリティー呼び出しに関するすべてのイベントを識別できます。例えば、 REORG コマンドを表に対して実行した場合、ユーティリティーが実行を開始したときに UTILSTART イベントが生成され、ユーティリティーが実行を完了したときに UTILSTOP イベントが生成されます。 この UTILSTART および UTILSTOP イベントの両方は、同じ REORG コマンド呼び出しに関するものであるため、 同じ utility_invocation_id を持つことになります。 これらのイベントを utility_invocation_id で結合すると、 ユーティリティーの経過時間を計算できます。

変更履歴イベント・モニターは、以下のユーティリティー・タイプの実行をモニターできます。
  • BACKUP
  • LOAD
  • MOVETABLE
  • ONLINERECOVERY
  • REDISTRIBUTE
  • REORG
  • RESTORE
  • ROLLFORWARD
  • RUNSTATS
変更履歴イベント・モニターは、オフラインのバックアップ、リストア、およびロールフォワード操作の実行はキャプチャーしません。オンライン・リカバリー操作がキャプチャーされるのは、それらの操作で非同期のバックワード・フェーズを実行する場合だけです。ユーティリティー・イベントがキャプチャーされるのは、 そのユーティリティーの実行時に変更履歴イベント・モニターがアクティブである場合に限られることに注意してください。 ユーティリティーの実行前にイベント・モニターが非アクティブ化された場合、 そのユーティリティーの実行に関するイベントはキャプチャーされません。 例えば、イベント・モニターのターゲット表が存在する表スペースに対して、 ユーティリティーが排他的アクセスを必要とする場合などがあります。
以下の表に、ユーティリティー実行イベントに関連する、変更履歴イベント・モニターの論理データ・グループおよび関連表をリストします。表名は、表にデータを設定するために使用される論理データ・グループの名前と、 CREATE EVENT MONITOR ステートメントによって作成したときにイベント・モニターに指定した名前が連結されて生成されます。 ここに示している表名は、 CREATE EVENT MONITOR ステートメントの一部として表名が指定されなかった場合のデフォルトの表名です。
表 1. ユーティリティーの実行時にデータが設定される論理データ・グループ
論理データ・グループ デフォルトの表名 内容
CHANGESUMMARY CHANGESUMMARY_evmon-name 変更履歴イベント・モニターによってキャプチャーされたすべてのイベントの要約
UTILSTART UTILSTART_evmon-name ユーティリティーの開始情報
UTILLOCATION UTILLOCATION_evmon-name ユーティリティーのパスまたはファイル情報
UTILSTOP UTILSTOP_evmon-name ユーティリティーの停止情報
UTILPHASE UTILPHASE_evmon-name ユーティリティーのフェーズ情報
CREATE EVENT MONITOR (変更履歴) ステートメントの WHERE EVENT IN 節は、 変更履歴イベント・モニターでモニターするユーティリティーを制御します。 以下のリストに、各制御によって、どのユーティリティーのキャプチャーが有効になるかを示します。
UTILALL
ロード、表移動、オンライン・バックアップ、オンライン・リカバリー、オンライン・リストア、オンライン・ロールフォワード、再配分、REORG、および RUNSTATS の各ユーティリティーの実行をキャプチャーします。
BACKUP
オンライン・バックアップ・ユーティリティーの実行をキャプチャーします。
LOAD
ロード・ユーティリティーの実行をキャプチャーします。
MOVETABLE
表移動ユーティリティー (ADMIN_MOVE_TABLE ストアード・プロシージャーの呼び出し) の実行をキャプチャーします。
ONLINERECOVERY
操作中のデータベース接続を許可された非同期のバックワード・フェーズを使用したクラッシュ・リカバリー操作の実行をキャプチャーします (これには、HADR TAKEOVER の間に実行された暗黙のクラッシュ・リカバリーが含まれます)。
REDISTRIBUTE
パーティション・グループ再配分ユーティリティーの実行をキャプチャーします。
REORG
REORG ユーティリティーの実行をキャプチャーします。
RESTORE
オンライン・リストア・ユーティリティーの実行をキャプチャーします。
ROLLFORWARD
オンライン・ロールフォワード・ユーティリティーの実行をキャプチャーします。
RUNSTATS
RUNSTATS ユーティリティーの実行をキャプチャーします。