统计信息日志是对特定数据库进行的所有统计信息收集活动(既包括手动活动也包括自动活动)的记录。

统计信息日志的缺省名称为 db2optstats.number.log。 此日志在 $diagpath/events 目录中。 统计信息日志是旋转日志。 日志行为由 DB2_OPTSTATS_LOG 注册表变量控制。

您可以直接查看统计信息日志,也可以使用 SYSPROC.PD_GET_DIAG_HIST 表函数对其进行查询。 此表函数返回许多列,其中包含有关任何已记录事件的标准信息,例如时间戳记, Db2® 实例名称,数据库名称,进程标识,进程名称和线程标识。 日志还包含供不同日志记录功能使用的通用列。 下表描述了统计信息日志如何使用这些通用列。

表 1. 统计信息日志文件中的通用列
列名
数据类型
描述
OBJTYPE VARCHAR(64) 事件所应用于的对象的类型。 对于统计信息日志记录,这是要收集的统计信息的类型。 OBJTYPE 可以在统计信息收集后台进程启动或停止时引用该进程。 它还可以引用由自动收集统计信息功能执行的活动,例如采样测试、初始采样和表求值活动。

可能的统计信息收集活动值包括:

TABLE STATS
将收集表统计信息。
INDEX STATS
将收集索引统计信息。
TABLE AND INDEX STATS
将同时收集表统计信息和索引统计信息。

可能的自动收集统计信息值包括:

EVALUATION
自动收集统计信息后台进程已开始求值阶段。 在此阶段,将检查表以确定它们是否需要更新后的统计信息,并在必要时收集统计信息。
INITIAL SAMPLING
正在使用采样方法来收集表的统计信息。 所采样的统计信息将存储在系统目录中。 这将允许自动收集统计信息功能快速处理没有统计信息的表。 后续操作将在不进行采样的情况下收集统计信息。 初始采样在自动收集统计信息的求值阶段执行。
SAMPLING TEST
正在使用采样方法来收集表的统计信息。 所采样的统计信息将不会存储在系统目录中。 所采样的统计信息将与当前目录统计信息进行比较,以便确定是否以及何时应收集此表的完整统计信息。 采样在自动收集统计信息过程的求值阶段执行。
STATS DAEMON
统计信息守护程序是用来处理实时统计信息处理所提交的请求的后台进程。 当后台进程启动或停止时,将对此对象类型进行日志记录。
COLUMN GROUP STATS
统计信息收集就是执行发现以标识要收集的列组统计信息。
OBJNAME VARCHAR(255) 事件所应用于的对象的名称(如果可用)。 对于统计信息日志记录,这是表名或索引名。 如果 OBJTYPE 是 STATS DAEMON 或 EVALUATION,那么 OBJNAME 是数据库名称,而 OBJNAME_QUALIFIER 是 NULL。
OBJNAME_QUALIFIER VARCHAR(255) 对于统计信息日志记录,这是表或索引的模式。
EVENTTYPE VARCHAR(24) 事件类型是与此事件相关联的操作。 统计信息日志记录的可能值包括:

COLLECT
为统计信息收集操作对此操作进行日志记录。
START
当实时统计信息后台进程(OBJTYPE = STATS DAEMON)或自动收集统计信息求值阶段(OBJTYPE = EVALUATION)启动时,对此操作进行日志记录。
STOP
当实时统计信息后台进程(OBJTYPE = STATS DAEMON)或自动收集统计信息求值阶段(OBJTYPE = EVALUATION)停止时,对此操作进行日志记录。
ACCESS
当尝试访问一个表以收集统计信息时,将记录此操作。 当对象不可用时,此事件类型用于对不成功的访问尝试进行日志记录。
WRITE
将先前已收集并且存储在统计信息高速缓存中的统计信息写入系统目录时,将记录此操作。
DISCOVER
为统计信息发现操作记录此操作。
FIRST_EVENTQUALIFIERTYPE VARCHAR(64) 第一个事件限定符的类型。 事件限定符用于描述受事件影响的对象。 对于统计信息日志记录,第一个事件限定符是事件发生时的时间戳记。 对于第一个事件限定符类型,值为 AT。
FIRST_EVENTQUALIFIER CLOB(16k) 事件的第一个限定符。 对于统计信息日志记录,第一个事件限定符是统计事件发生时的时间戳记。 统计事件的时间戳记可能与 TIMESTAMP 列所表示的日志记录的时间戳记不同。
SECOND_EVENTQUALIFIERTYPE VARCHAR(64) 第二个事件限定符的类型。 对于统计信息日志记录,值可以为 BY 或 NULL。 此字段不用于其他事件类型。
SECOND_EVENTQUALIFIER CLOB(16k) 事件的第二个限定符。 对于统计信息日志记录,它表示收集 COLLECT 事件类型的统计信息的方式。 可能的值包括:

用户
统计信息收集操作由 DB2 用户通过调用 LOADREDISTRIBUTE 或 RUNSTATS 命令或通过发出 CREATE INDEX 语句执行。
同步
统计信息收集操作由 DB2 服务器在编译 SQL 语句时执行。 统计信息将存储在统计信息高速缓存中,而不是系统目录中。
同步采样
统计信息收集操作由 DB2 服务器在编译 SQL 语句时使用采样方法执行。 统计信息将存储在统计信息高速缓存中,而不是系统目录中。
生成
在编译 SQL 语句时通过使用数据和索引管理器维护的信息来生成统计信息。 统计信息将存储在统计信息高速缓存中,而不是系统目录中。
部分生成
在编译 SQL 语句时通过使用数据和索引管理器维护的信息仅生成某些统计信息。 特别是,仅生成某些列的 HIGH2KEY 和 LOW2KEY 值。 统计信息将存储在统计信息高速缓存中,而不是系统目录中。
异步
统计信息由 DB2 后台进程收集并存储在系统目录中。

此字段不用于其他事件类型。

THIRD_EVENTQUALIFIERTYPE VARCHAR(64) 第三个事件限定符的类型。 对于统计信息日志记录,值可以为 DUE TO 或 NULL。
THIRD_EVENTQUALIFIER CLOB(16k) 事件的第三个限定符。 对于统计信息日志记录,它表示统计信息活动无法完成的原因。 可能的值包括:

超时
同步收集统计信息操作超过时间预算。
错误
由于发生错误,统计信息活动失败。
RUNSTATS 错误
由于发生 RUNSTATS 错误,同步收集统计信息失败。 对于某些错误,即使未能收集统计信息,SQL 语句编译操作也可能成功完成。 例如,在没有足够的内存来收集统计信息时,将继续编译 SQL 语句。
对象不可用
由于无法访问数据库对象,未能收集该对象的统计信息。 某些可能的原因包括:

  • 对象以超级互斥(Z)方式被锁定
  • 对象所在的表空间不可用
  • 需要重新创建表索引
冲突
由于另一个应用程序已在收集同步统计信息,所以未能执行同步统计信息收集。

请检查 FULLREC 列或 db2diag 日志文件以了解错误详细信息。

EVENTSTATE VARCHAR(255) 由于事件导致的对象或操作的状态。 对于统计信息日志记录,它指示统计信息操作的状态。 可能的值包括:

  • 启动
  • 成功
  • 失败
   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));
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

 

 

By admin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注