


















与
自动维护 (AUTO_MAINT) = ON
自动数据库备份 (AUTO_DB_BACKUP) = OFF
自动表维护 (AUTO_TBL_MAINT) = ON
自动 runstats (AUTO_RUNSTATS) = ON
自动语句统计信息 (AUTO_STMT_STATS) = ON
自动统计信息概要分析 (AUTO_STATS_PROF) = ON
自动概要文件更新 (AUTO_PROF_UPD) = ON
自动重组 (AUTO_REORG) = ON
DB2 V9 可以对表和所以进行自动重组。要进行高效率的数据访问和获得最佳工作负载性能,具有组织良好的表数据是很关键的。在对表数据进行许多更改之后,逻辑上连续的数据可能会位于不连续的物理数据页上,在许多插入操作创建了溢出记录时尤其如此。按这种方式组织数据时,数据库管理器必须执行其他读操作才能访问顺序数据。另外,在删除大量行后,也需要执行其他的读操作。表重组操作会整理数据碎片来减少浪费的空间,并对行进行重新排序以合并溢出记录,从而加快数据访问速度并最终提高查询性能。还可以指定根据特定索引来重新排序数据,以便查询通过最少次数据读取操作就可以访问数据。既可重组系统目录表,也可以重组数据库表。由 RUNSTATS 收集的统计信息与其他信息一起来显示表中的数据分发情况。特别是,通过分析这些统计信息可以知道何时需要执行哪种类型的重组。自动重组通过使用 REORGCHK 公式来确定何时需要对表进行重组。它会定期评估已经更新了统计信息的表,以便了解是否需要重组。如果需要重组,则它会在内部调度对表进行传统重组。这将要求执行应用程序功能而不对正在重组的表进行写访问。可以使用 AUTO_REORG、AUTO_TBL_MAINT 和 AUTO_MAINT 数据库配置参数来启用或禁用自动重组功能部件。在分区数据库环境中,确定执行自动重组和启动自动重组是在目录分区上完成的。只需要在目录分区上启用数据库配置参数。将在目标表所在的所有数据库分区上运行重组。如果您不太确定何时以及如何重组表和索引,则可以将自动重组作为整个数据库维护方案的一部分。
统计信息概要文件是由 RUNSTATS 实用程序提供了一个选项来注册并使用的,该文件是一组选项,这些选项指定要对特定表收集的统计信息,例如,表统计信息、索引统计信息或分布统计信息。此功能部件简化了统计信息收集,它允许您存储在发出 RUNSTATS 命令时指定的一些选项,从而,可以对表反复收集相同的统计信息而不必重新输入命令选项。无论实际上是否正在收集统计信息,都可以注册或更新统计信息概要文件。例如,要同时注册概要文件和收集统计信息,可发出带有 SET PROFILE 选项的 RUNSTATS 命令。要在实际上并没有收集统计信息的情况下只注册概要文件,可发出带有SET PROFILE ONLY 选项的 RUNSTATS 命令。要使用已经注册的统计信息概要文件来收集统计信息,发出 RUNSTATS 命令,并且只指定表名和 USE PROFILE 选项。
统计信息概要文件还可以由 DB2 自动统计信息概要分析自动生成。当启用了此功能时,会收集有关数据库活动的信息,并将这些信息存储在查询反馈仓库中。可根据此数据来生成统计信息概要文件。启用此功能可以缓解统计信息与特定工作负载相关的不确定性问题,并可以收集最少的统计信息集来提供最佳的数据库工作负载性能。可以将此功能与自动收集统计信息功能配合使用,后一项功能会根据自动生成的统计信息概要文件中包含的信息来自动安排统计信息维护。要启用此功能,需要已经通过设置适当的配置参数启用了表的自动维护。AUTO_STATS_PROF 配置参数将激活查询反馈数据的收集,而 AOTO_PROF_UPD 配置参数将激活生成统计信息概要文件以供自动收集统计信息使用。
需要注意的是,生成统计信息概要文件不太适合 OLTP 环境中,比较适合 OLAP(运行使用许多谓词的大而复杂的查询、谓词列的数据中经常具有关联以及对几个表进行连接和分组)环境中使用。另外,自动生成统计信息概要文件只能以 DB2 串行方式激活,而对于联合环境、多分区 MPP 环境以及启用了分区内并行性的环境中的查询将禁用此功能。
接下来为了演示统计信息概要文件不能在联合环境中使用,我们先把 DBM CFG 中的 FEDERATED 配置参数设置成 ON,打开联合系统,提交,断开所有连接,重启示例,在 DB2CLP 窗口环境中,输入 UPDATE DBM CFG 等命令,具体如清单 1 所示:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
接下来我们连上数据库,对清单1中创建的示例数据库 DB2TEST1 启用自动统计信息概要分析和自动概要文件更新功能,在 DB2CLP 窗口环境中 ,连接上示例数据库 DB2TEST1,通过发出 UPDATE DB CFG 命令修改自动统计信息概要分析(AUTO_STATS_PROF)、自动概要文件更新(AOTO_PROF_UPD)参数,将其值置为 ON,具体如清单 2 所示:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
命令执行失败,报 SQL0270N 错误,通过查询 DB2 帮助得知这是由于在联合系统中自动统计信息概要分析和自动概要文件更功能,我们在 DB2CLP 窗口中发出“DB2 ? SQL错误号”命令查询 SQL0270N(原因码 = " 75 " )对应的错误,具体如清单 3 所示:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
通过帮助我们的用户响应,我们需要把系统更改为非联合的。接下来我们把我们先把DBM CFG中的FEDERATED配置参数设置成NO,关闭联合系统,提交,断开所有连接,重启示例,在DB2CLP窗口环境中,输入UPDATE DBM CFG 等命令,具体如清单12所示:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
接下来我们再次连上数据库,对示例数据库DB2TEST1启用自动统计信息概要分析和自动概要文件更新功能,在 DB2CLP 窗口环境中 ,连接上示例数据库 DB2TEST1,通过发出 UPDATE DB CFG 命令修改自动统计信息概要分析(AUTO_STATS_PROF)、自动概要文件更新(AOTO_PROF_UPD)参数,将其值置为 ON,具体如清单 13 所示:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
这样我们就成功地启用自动统计信息概要分析和自动概要文件更新功能,可以通过 GET DB CFG 查看配置参数,具体如清单 6 所示:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
接下来继续在DB2CLP窗口中中打开自动重组功能,输入UPDATGE DB CFG命令,把AUTO_REORG参数置成ON,打开自动重组功能(自动维护和自动表维护等父项开关必须都打开才有效),具体如清单 7 所示:
|
1 2 |
|
命令成功完成,这样我们就打开了自动重组功能。另外,同本文的第一部分和第二部分一样,对自动重组、自动统计信息概要分析、自动概要文件更新也可以在图形化界面的配置自动维护中进行。
在控制中心在示例数据库DB2TEST1上右键单击,选择自动维护窗口, 打开,在第五个页面“选择要配置的维护活动”页面中对“整理表和索引数据碎片( REORG )”这条记录中的“自动化”列打上勾即可,具体界面如图12所示:

双击“整理表和索引数据碎片( REORG )”记录,或者选中这条记录并单击页面下面的“配置设置”按钮,就会打开“配置设置-整理数据碎片( REORG )”窗口,在其第一个标签页“表作用域”中,可以指定要将数据库中的哪些表用于自动重组。要排除特定表,使用“选择的表”选项并标识要使用国旅排除哪些表。要限制将进行自动重组的表的大小,可以指定大小限制。具体界面如图13所示:

在其第二个标签页“重组选项”中,可以指定索引重组方式是使用联机还是脱机,联机的方式允许对索引进行写访问,联机索引重组将在联机维护窗口中运行,注意,如果不允许对表进行写访问,则将使用脱机方式并且将在脱机维护窗口中运行索引重组。脱机方式允许对索引进行读访问。脱机索引重组将在脱机维护窗口中运行,注意,如果不允许对表进行读访问,则将在不进行访问的情况下重试脱机索引重组。
另外,本窗口还可以指定要用于压缩数据字典的选项,默认是保留,也可以重新选择成重建。具体如图14所示:

关于配置自动维护窗口的其他页面和上面所述的差不多,不再累述。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。