CREATE EVENT MONITOR (変更履歴) ステートメント
CREATE EVENT MONITOR (変更履歴) ステートメントは、構成パラメーターやレジストリー変数の変更、および DDL ステートメントやユーティリティーの実行に関するイベントを記録できるイベント・モニターを作成します。
CREATE EVENT MONITOR (変更履歴) ステートメントによって作成されるイベント・モニターは、イベント・モニターの起動時に、初期構成と初期レジストリーの値も記録できます。記録されるイベントの集合は、CREATE EVENT MONITOR ステートメントで指定されたイベント制御に応じて異なります。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
このステートメントの許可 ID が保持する特権には、以下のいずれかの権限が含まれている必要があります。
- SQLADM 権限
- DBADM 権限
構文
説明
- event-monitor-name
- イベント・モニターの名前。 これは、1 部構成の名前です。これは、SQL ID です (通常 ID または区切り ID)。event-monitor-name (イベント・モニター名) は、 カタログに存在するイベント・モニターを指定する名前であってはなりません (SQLSTATE 42710)。
- FOR
- 記録するイベント・タイプをこの後に指定します。
- CHANGE HISTORY
- このイベント・モニターが、構成変更、レジストリー変更、および DDL ステートメントやユーティリティーの実行に関するイベントを記録できることを指定します。また、イベント・モニターの起動時に、初期構成と初期レジストリーの値も記録できます。記録されるイベントの集合は、WHERE EVENT IN 節で指定されるイベント制御に応じて異なります。
- WHERE EVENT IN (event-control, ...)
- イベント・モニターによってキャプチャーされるイベントの識別に使用するイベント制御を 1 つ以上指定します。
- event-control
- ALL
- すべてのイベント・タイプをキャプチャーします。
- ADC
- 自動ディクショナリー作成 (ADC) ユーティリティーの実行をキャプチャーします。
- BACKUP
- オンライン・バックアップ・ユーティリティーの実行をキャプチャーします。
- CFGALL
- すべての構成パラメーターとレジストリー変数のイベント・タイプをキャプチャーします。
- DBCFG
- データベース構成パラメーターの変更をキャプチャーします。
- DBCFGVALUES
- イベント・モニターによってデータベース構成パラメーターの更新がキャプチャーされていない場合に、イベント・モニターの起動時にすべてのデータベース構成パラメーターの初期値を記録します。
- DBMCFG
- データベース・マネージャー構成パラメーターの変更をキャプチャーします。
- DBMCFGVALUES
- イベント・モニターによってデータベース・マネージャー構成パラメーターの更新がキャプチャーされていない場合に、イベント・モニターの起動時にすべてのデータベース・マネージャー構成パラメーターの初期値を記録します。
- DDLALL
- すべてのタイプの DDL ステートメントの実行をキャプチャーします。
- DDLDATA
- 索引、シーケンス、表、および一時表の DDL の実行をキャプチャーします。
- DDLFEDERATED
- ニックネーム、サーバー、タイプ・マッピング、ユーザー・マッピング、およびラッパーの DDL の実行をキャプチャーします。
- DDLMONITOR
- イベント・モニターと使用法リストの DDL の実行をキャプチャーします。
- DDLSECURITY
- 監査ポリシー、付与、マスク、権限ロール、取り消し、セキュリティー・ラベル、セキュリティー・ラベル・コンポーネント、セキュリティー・ポリシー、およびトラステッド・コンテキストの DDL の実行をキャプチャーします。
- DDLSQL
- 別名、関数、メソッド、モジュール、パッケージ、プロシージャー、スキーマ、シノニム、トランスフォーム、トリガー 、タイプ、変数、およびビューの DDL の実行をキャプチャーします。
- DDLSTORAGE
- ALTER DATABASE ステートメントと、バッファー・プール、パーティション・グループ、ストレージ・グループ、および表スペースの DDL の実行をキャプチャーします。
- DDLWLM
- ヒストグラム、サービス・クラス、しきい値、作業アクション・セット、作業クラス・セット、およびワークロードの DDL の実行をキャプチャーします。
- DDLXML
- XSROBJECT DDL の実行をキャプチャーします。
- LOAD
- ロード・ユーティリティーの実行をキャプチャーします。
- MOVETABLE
- 表移動ユーティリティーの実行 (ADMIN_MOVE_TABLE ストアード・プロシージャーの呼び出し) をキャプチャーします。
- ONLINERECOVERY
- 操作中のデータベース接続を可能にする非同期逆方向フェーズを使用した、クラッシュ・リカバリー操作の実行をキャプチャーします。 (HADR TAKEOVER 中に実行された暗黙的なクラッシュ・リカバリーも含まれます)。
- REDISTRIBUTE
- パーティション・グループ再配分ユーティリティーの実行をキャプチャーします。
- REGVAR
- レジストリー変数の即時変更をキャプチャーします。
- REGVARVALUES
- イベント・モニターの起動時にレジストリー変数の初期値を記録します。
- REORG
- REORG ユーティリティーの実行をキャプチャーします。
- RESTORE
- オンライン・リストア・ユーティリティーの実行をキャプチャーします。
- ROLLFORWARD
- オンライン・ロールフォワード・ユーティリティーの実行をキャプチャーします。
- RUNSTATS
- RUNSTATS ユーティリティーの実行をキャプチャーします。
- UTILALL
- ロード、表移動、オンライン・バックアップ、オンライン・リストア、オンライン・ロールフォワード、再配分、REORG、および RUNSTATS ユーティリティーの実行をキャプチャーします。
- WRITE TO
- データの出力先をこの後に指定します。
- TABLE
- イベント・モニターのデータの出力先が一連のデータベース表であることを示します。 イベント・モニターは、データ・ストリームを 1 つ以上の論理データ・グループに分け、 各グループを別個の表に挿入します。 グループに含まれる各モニター・エレメントは、同じ名前の表列にマップされます。 対応する表列を持つエレメントだけが表に挿入されます。
- formatted-event-table-info
- 論理データ・グループのターゲット表を定義します。記録する各グループにこの節を指定します。 ただし、evm-group 節を指定しない場合は、指定した event-control オプションに必要なグループが、CONTROL、CHANGESUMMARY、および EVMONSTART 論理グループと共に作成されます。
- AUTOSTART
- イベント・モニターを実行するデータベース・パーティションをアクティブ化した時点で、イベント・モニターも自動的にアクティブ化することを指定します。これがデフォルトの動作です。
- MANUALSTART
- SET EVENT MONITOR STATE ステートメントを使用してイベント・モニターを手動でアクティブ化しなければならないことを指定します。アクティブ化された MANUALSTART イベント・モニターは、SET EVENT MONITOR STATE ステートメントを使用するか、インスタンスを停止することによって、非活動状態にできます。
注
- ターゲット・イベント表の作成: ターゲット表が存在していない場合は、CREATE EVENT MONITOR FOR CHANGE HISTORY ステートメントが実行される際に、ターゲット・イベント表が作成されます。
- 以前に作成されたイベント表: CREATE EVENT MONITOR FOR CHANGE HISTORY 処理時に、別のイベント・モニター用にイベント表が既に定義されていれば、CREATE EVENT MONITOR FOR CHANGE HISTORY ステートメントは失敗し、アプリケーション・プログラムにエラーが戻されます。イベント表の名前が SYSCAT.EVENTTABLES カタログ・ビューの値と一致する場合には、 そのイベント表は別のイベント・モニターによって使用されるよう定義されています。イベント表が存在し、それが別のイベント・モニターによって使用されるよう定義されていない場合は、表は作成されずに、その他の表のオプション・パラメーターは無視され、処理が続行されます。警告がアプリケーション・プログラムに戻されます。
- イベント・モニターのドロップ: イベント・モニターをドロップしても、イベント表はドロップされません。関連するイベント表は、イベント・モニターをドロップした後に、手動でドロップする必要があります。
- 整理: イベント表の整理は、手動で実行する必要があります。
- パーティション環境での動作: パーティション環境で、いくつかのターゲット・イベント表がパーティションに存在しないものの、その同じパーティションに他のターゲット・イベント表がある場合には、そのパーティションにあるターゲット・イベント表についてのデータだけが記録されます。
- FLUSH EVENT MONITOR: このイベント・モニターには FLUSH EVENT MONITOR ステートメントは適用されないので、このイベント・モニターに対して発行しても効果はありません。
- モニター作成後のイベント制御の変更: 変更履歴イベント・モニターの作成後に、CREATE EVENT MONITOR ステートメント内で WHERE EVENT IN 節を使用して指定したイベント制御を変更することはできません。イベント制御を変更するには、イベント・モニターを非アクティブ化してドロップした後、WHERE EVENT IN 節を使用して新しいイベント制御の集合を指定して再作成する必要があります。
例
- 例 1: この例では、構成変更と構成の初期値を記録する、CFG_WITH_OFFLINE と呼ばれる変更履歴イベント・モニターを作成します。
CREATE EVENT MONITOR CFG_WITH_OFFLINE FOR CHANGE HISTORY WHERE EVENT IN (CFGALL) WRITE TO TABLE CHANGESUMMARY (TABLE CHG_SUMMARY_HISTORY), DBDBMCFG (TABLE DB_DBM_HISTORY), REGVAR (TABLE REGVAR_HISTORY) AUTOSTARTこの例では、ターゲット表は明示的に指定されています。このステートメントは、以下の表を作成します。
CHG_SUMMARY_HISTORY DB_DBM_HISTORY REGVAR_HISTORY - 例 2: この例では、すべてのオンライン・バックアップおよびリストア・ユーティリティーの実行を記述したイベントを収集する、BKP_REST と呼ばれる変更履歴イベント・モニターを作成します。
CREATE EVENT MONITOR BKP_REST FOR CHANGE HISTORY WHERE EVENT IN (BACKUP, RESTORE) WRITE TO TABLEこの例では、ターゲット表は明示的に指定されていません。CREATE EVENT MONITOR ステートメントは、CONTROL、CHANGESUMMARY、および EVMONSTART 論理データ・グループに関する表と一緒に、WHERE EVENT IN 節で指定された制御に基づいて必要なターゲット表のみ作成します。BACKUP 制御と RESTORE 制御を使用すると、オンライン・バックアップおよびリストアに関するユーティリティー・イベントを収集できます。これらの制御には UTILSTART、UTILSTOP、UTILLOCATION、および UTILPHASE 論理データ・グループが必要です。このステートメントは、以下の表を作成します。
CONTROL_BKP_REST CHANGESUMMARY_BKP_REST EVMONSTART_BKP_REST UTILSTART_BKP_REST UTILSTOP_BKP_REST UTILLOCATION_BKP_REST UTILPHASE_BKP_REST
