在嵌入式数据库环境中自动化 DB2 9.7 数据库维护
2010-08-25 00:00:00 来源:WEB开发网配置自动 RUNSTATS 策略
可以使用一个 XML 文档来指定哪个表应该包括以及哪个表不应该包括在自动统计信息收集中。在这个工具箱内,名为 DB2AutoRunstatsPolicy.xml 的文件内包含了一个用来定义过滤条件的样例文件。正如图 11 中所示,AutoRunstatsPolicy.xml 内的过滤条件指定了统计信息应该为所有表收集,包括系统表。
清单 11. DB2AutoRunstatsPolicy.xml 文件内的过滤条件
<RunstatsTableScope>
<FilterCondition/>
</RunstatsTableScope>
清单 12 显示了借助 sysproc.automaint_set_policyfile 存储过程用 DB2AutoRunstatsPolicy.xml 文件内指定的参数设置自动 RUNSTATS 策略的一个例子。 工具箱内的 runstatssetup.sh 脚本中使用了相同的命令。若按如下的指导使用这个工具箱脚本,则无需手动运行此命令。
清单 12. 用来设置自动 RUNSTATS 策略的命令
db2 "call sysproc.automaint_set_policyfile('AUTO_RUNSTATS', 'DB2AutoRunstatsPolicy.xml')"
设置指导
使用 embed-bundle.zip 工具箱文件按如下步骤设置自动 RUNSTATS:
确保 DB2 在运行。
以 DB2 实例所有者身份(比如,db2inst1)登录到目标计算机。
运行 /home/db2inst1/embed-bundle 目录下的 runstatssetup.sh 脚本,如清单 13 所示。
清单 13. 如何使用 runstatssetup.sh 脚本
Syntax:
runstatssetup.sh <dbname>
Example:
./runstatssetup.sh mydb
自动的表及索引重组
组织良好的表和索引数据对于高效的数据访问和最佳的工作负载性能非常关键。在进行了很多插入、更新和删除操作后, 逻辑上连续的表数据可能会处于非连续的数据页,这会导致数据库管理器必须要执行额外的读操作才能访问数据。当访问从中删除了大量数据行的表中的数据时,额外的读操作也是必须的。可以启用 DB2 服务器来重组系统目录表以及用户表。
更多精彩
赞助商链接