例: 変更履歴イベント・モニターを使用した LOAD 操作のリスト
変更履歴イベント・モニターを使用して、データベースで実行されたすべての LOAD 操作を追跡することができます。
シナリオ
この例では、データベース管理者 (DBA) は、 データベース上のすべてのロード・ユーティリティー実行の履歴をキャプチャーしてリストすることが必要です。 LOAD ユーティリティー・イベントを追跡するには、以下のようにします。- LOAD イベントを追跡する変更履歴イベント・モニターを作成します。
例えば、
CREATE EVENT MONITOR MON_LOAD FOR CHANGE HISTORY WHERE EVENT IN (LOAD) WRITE TO TABLE CHANGESUMMARY (TABLE UTIL_COMMON), UTILSTART (TABLE LOAD_START), UTILSTOP (TABLE LOAD_STOP) UTILLOCATION (TABLE LOAD_INPUT_FILES) UTILPHASE (TABLE LOAD_PHASES); - イベント・モニターを活動化します。
SET EVENT MONITOR MON_LOAD STATE=1 - データベースで実行された LOAD 操作に関する情報を、論理データ・グループで照会します。
例えば、以下の照会を行うと、実行されたすべてのロード・ユーティリティーの開始時刻および終了時刻がリストされます。
この照会は、コーディネーターの開始時刻および終了時刻のみを表示します。
ユーティリティーの実行にかかった合計経過時間を示すために、停止レコードおよび再開レコードは無視します。
SELECT A.APPL_ID, A.COORD_MEMBER, A.EVENT_TIMESTAMP AS START_TIME, B.EVENT_TIMESTAMP AS STOP_TIME, A.TABLE_SCHEMA, A.TABLE_NAME, SQLCODE, VARCHAR(A.UTILITY_DETAIL, 200) AS DETAIL FROM LOAD_START AS A LOAD_STOP AS B UTIL_COMMON AS C WHERE A.UTILITY_INVOCATION_ID = B.UTILITY_INVOCATION_ID AND A.UTILITY_START_TYPE = 'START' AND B.UTILITY_STOP_TYPE = 'STOP' AND A.MEMBER = B.MEMBER AND A.MEMBER = A.COORD_MEMBER ORDER BY A.EVENT_TIMESTAMP ASC
照会結果には、
2 つのロード・ユーティリティーが実行されたことが示されています。また、それらの開始時刻および終了時刻の詳細、
ロードのターゲット (表名)、および実行されたロードの詳細も示しています。
APPL_ID START_TIME STOP_TIME
------------------------ -------------------------- --------------------------
*LOCAL.test.110131213809 2010-10-31-17.29.04.545210 2010-10-31-17.29.04.545210
*LOCAL.test.110131213809 2010-10-31-17.29.04.545210 2010-10-31-17.29.04.545210
TABLES_SCHEMA TABLE_NAME SQLCODE DETAIL
------------- ---------- ------- --------.....
TEST T1 0 LOAD CURSOR..
TEST T3 0 LOAD DEL...
2 record(s) selected.