自動統計収集アクティビティーのロギング
統計ログは、特定のデータベースに対して生じたすべての統計収集アクティビティー (手動と自動の両方) に関する記録です。
統計ログのデフォルト名は db2optstats.number.log です。 これは $diagpath/events ディレクトリーにあります。 統計ログは回転ログです。 ログの動作は、DB2_OPTSTATS_LOG レジストリー変数によって制御します。
統計ログは直接表示することもできますし、SYSPROC.PD_GET_DIAG_HIST 表関数を使用して照会することもできます。 この表関数は、ログに記録されたイベントに関する標準情報 (タイム・スタンプ、 Db2® インスタンス名、データベース名、プロセス ID、プロセス名、スレッド ID など) を含むいくつかの列を戻します。 またログには、別のログ機能で使用するための汎用列も含まれます。 以下の表で、統計ログにおけるこうした汎用列の使用法について説明します。
列名 | データ・タイプ | 説明 |
---|---|---|
OBJTYPE | VARCHAR(64) | イベントが適用されるオブジェクトのタイプ。 統計ロギングの場合、これは収集される統計のタイプです。 OBJTYPE は、プロセス開始時または停止時の統計収集バックグラウンド・プロセスを指すことがあります。 さらに、自動統計収集によって実行されるアクティビティー (サンプリング・テスト、初期サンプリング、表評価など) のこともあります。 統計収集アクティビティーに可能な値は、以下のとおりです。
自動統計収集に可能な値は、以下のとおりです。
|
OBJNAME | VARCHAR(255) | 該当する場合には、イベントが適用されるオブジェクトの名前。 統計ロギングの場合、これは表または索引の名前です。 OBJTYPE が STATS DAEMON または EVALUATION の場合、OBJNAME はデータベース名で、OBJNAME_QUALIFIER は NULL になります。 |
OBJNAME_QUALIFIER | VARCHAR(255) | 統計ロギングの場合、これは表または索引のスキーマです。 |
EVENTTYPE | VARCHAR(24) | イベント・タイプは、このイベントに関連付けられているアクションです。 統計ロギングに可能な値は、以下のとおりです。
|
FIRST_EVENTQUALIFIERTYPE | VARCHAR(64) | 最初のイベント修飾子のタイプです。 イベント修飾子は、イベントによって影響を受けた対象について記述するために使用します。 統計ロギングの場合、最初のイベント修飾子はイベントが発生した際のタイム・スタンプです。 最初のイベント修飾子タイプの値は、AT です。 |
FIRST_EVENTQUALIFIER | CLOB(16k) | イベントの最初の修飾子です。 統計ロギングの場合、最初のイベント修飾子は統計イベントが発生した際のタイム・スタンプです。 統計イベントのタイム・スタンプは、TIMESTAMP 列によって表されるログ・レコードのタイム・スタンプとは異なる場合があります。 |
SECOND_EVENTQUALIFIERTYPE | VARCHAR(64) | 2 番目のイベント修飾子のタイプです。 統計ロギングの場合、可能な値は BY または NULL です。 その他のイベント・タイプではこのフィールドは使用されません。 |
SECOND_EVENTQUALIFIER | CLOB(16k) | イベントの 2 番目の修飾子です。 統計ロギングの場合、COLLECT イベント・タイプで統計が収集された方法を示します。 可能な値は以下のとおりです。
|
THIRD_EVENTQUALIFIERTYPE | VARCHAR(64) | 3 番目のイベント修飾子のタイプです。 統計ロギングの場合、可能な値は DUE TO または NULL です。 |
THIRD_EVENTQUALIFIER | CLOB(16k) | イベントの 3 番目の修飾子です。 統計ロギングの場合、統計アクティビティーを完了できなかった理由を示します。 可能な値は以下のとおりです。
|
EVENTSTATE | VARCHAR(255) | イベントの結果のオブジェクトまたはアクションの状態。 統計ロギングの場合、統計操作の状態を示します。 可能な値は以下のとおりです。
|
例
以下の例に挙げる照会では、PD_GET_DIAG_HIST を呼び出し、最大で、現在のタイム・スタンプからさかのぼって過去 1 年分のイベントの統計ログ・レコードを返します。
select pid, tid,
substr(eventtype, 1, 10),
substr(objtype, 1, 30) as objtype,
substr(objname_qualifier, 1, 20) as objschema,
substr(objname, 1, 10) as objname,
substr(first_eventqualifier, 1, 26) as event1,
substr(second_eventqualifiertype, 1, 2) as event2_type,
substr(second_eventqualifier, 1, 20) as event2,
substr(third_eventqualifiertype, 1, 6) as event3_type,
substr(third_eventqualifier, 1, 15) as event3,
substr(eventstate, 1, 20) as eventstate
from table(sysproc.pd_get_diag_hist
('optstats', 'EX', 'NONE',
current_timestamp - 1 year, cast(null as timestamp))) as sl
order by timestamp(varchar(substr(first_eventqualifier, 1, 26), 26));
結果は、FIRST_EVENTQUALIFIER 列に格納されているタイム・スタンプ順に並べられます。この列は、統計イベントの時間を表します。
PID TID EVENTTYPE OBJTYPE OBJSCHEMA OBJNAME EVENT1 EVENT2_ EVENT2 EVENT3_ EVENT3 EVENTSTATE
TYPE TYPE
----- ------------- --------- --------------------- --------- ---------- -------------------------- ------- -------------------- ------- -------- ----------
28399 1082145120 START STATS DAEMON - PROD_DB 2007-07-09-18.37.40.398905 - - - - success
28389 183182027104 COLLECT TABLE AND INDEX STATS DB2USER DISTRICT 2007-07-09-18.37.43.261222 BY Synchronous - - start
28389 183182027104 COLLECT TABLE AND INDEX STATS DB2USER DISTRICT 2007-07-09-18.37.43.407447 BY Synchronous - - success
28399 1082145120 COLLECT TABLE AND INDEX STATS DB2USER CUSTOMER 2007-07-09-18.37.43.471614 BY Asynchronous - - start
28399 1082145120 COLLECT TABLE AND INDEX STATS DB2USER CUSTOMER 2007-07-09-18.37.43.524496 BY Asynchronous - - success
28399 1082145120 STOP STATS DAEMON - PROD_DB 2007-07-09-18.37.43.526212 - - - - success
28389 183278496096 COLLECT TABLE STATS DB2USER ORDER_LINE 2007-07-09-18.37.48.676524 BY Synchronous sampled - - start
28389 183278496096 COLLECT TABLE STATS DB2USER ORDER_LINE 2007-07-09-18.37.53.677546 BY Synchronous sampled DUE TO Timeout failure
28389 1772561034 START EVALUATION - PROD_DB 2007-07-10-12.36.11.092739 - - - - success
28389 8231991291 COLLECT TABLE AND INDEX STATS DB2USER DISTRICT 2007-07-10-12.36.30.737603 BY Asynchronous - - start
28389 8231991291 COLLECT TABLE AND INDEX STATS DB2USER DISTRICT 2007-07-10-12.36.34.029756 BY Asynchronous - - success
28389 1772561034 STOP EVALUATION - PROD_DB 2007-07-10-12.36.39.685188 - - - - success
28399 1504428165 START STATS DAEMON - PROD_DB 2007-07-10-12.37.43.319291 - - - - success
28399 1504428165 COLLECT TABLE AND INDEX STATS DB2USER CUSTOMER 2007-07-10-12.37.43.471614 BY Asynchronous - - start
28399 1504428165 COLLECT TABLE AND INDEX STATS DB2USER CUSTOMER 2007-07-10-12.37.44.524496 BY Asynchronous - - failure
28399 1504428165 STOP STATS DAEMON - PROD_DB 2007-07-10-12.37.45.905975 - - - - success
28399 4769515044 START STATS DAEMON - PROD_DB 2007-07-10-12.48.33.319291 - - - - success
28389 4769515044 WRITE TABLE AND INDEX STATS DB2USER CUSTOMER 2007-07-10-12.48.33.969888 BY Asynchronous - - start
28389 4769515044 WRITE TABLE AND INDEX STATS DB2USER CUSTOMER 2007-07-10-12.48.34.215230 BY Asynchronous - - success