您的位置:首页 > 其它

db2 中索引统计信息(防止失效) 以及如何定时执行

2010-07-26 11:26 405 查看
1.表的分布统计信息

runstats on table table_name with distribution on columns(columnA,columnB) and indexes all ;

运行后生成分布统计信息

2.

reorgchk on table table_name;
runstats on table table_name and detailed indexes all;

运行后索引中的统计信息被更新。

3.一定要小心,分布统计信息在2执行后,被洗掉了,分布统计信息也就失效。所以应该执行如下的sql

reorgchk on table table_name;
runstats on table table_name with distribution and detailed indexes all;

4.定时执行策略

A:可以通过Quest Central for DB2 v5.0 的job manager 来定义job ,job 中可以选择*.sql脚本。

B:通过控制中心---工具---任务中心来定制

5.控制中心任务定制出错处理:

当 DB2 的用户启动 DB2 任务中心时,有时会遇到如下错误信息:DBA1177N 不能与“工具目录数据库” "<数据库名>" 建立数据库连 接。SQLCODE=1013

  而进一步的 SQLCODE=1013 表明:SQL1013N 找不到数据库别名或数据库名 "<名称>"。

  解释:命令中指定的数据库名或别名不是现有的数据库,或在(客户机或服务器)数据库目录中找不到该数据库。

解决;
get admin cfg
得到如下字段的配置
EXEC_EXP_TASK、SCHED_ENABLE、SMTP_SERVER、TOOLSCAT_DB、TOOLSCAT_INST、TOOLSCAT_SCHEMA、User ID
用如下命令将它置为空

update admin cfg using <参数> <值>

然后db2admin stop
db2admin start

就可以!

解答:(从网上找的资料)

在 DB2 任务中心里创建的任务是存放在工具目录数据库中,由 DB2 管理服务器(DAS)的调度程序来管理的。调度程序作为 DB2 的一个代理进程对工具目录数据库进行读取,然后在其指定的时间执行。调度程序可从 DB2 管理服务器配置文件中获取到工具目录数据库的位置,以及调度程序是否被启用的信息。当工具目录数据库创建后, DB2 将自动修改 DAS 配置参数中相应的 SCHED_ENABLE,TOOLSCAT_DB,TOOLSCAT_INST 和 TOOLSCAT_SCHEMA 的状态,以便在不用重新启动 DAS 的情况下启用调度程序和定义工具目录数据库的位置。下面一段配置参数的内容就是在创建了工具目录数据库之后利用 “ get admin cfg ” 命令取得的:

Execute Expired Tasks (EXEC_EXP_TASK) = NO
Scheduler Mode (SCHED_ENABLE) = ON
SMTP Server (SMTP_SERVER) =
Tools Catalog Database (TOOLSCAT_DB) = TOOLSDB
Tools Catalog Database Instance (TOOLSCAT_INST) = DB2
Tools Catalog Database Schema (TOOLSCAT_SCHEMA) = TOOLSDB
Scheduler User ID =

其中:

SCHED_ENABLE - 表明调度程序是否被管理服务器启动。

TOOLSCAT_DB - 表明调度程序所使用的工具目录数据库,此数据库必须在由 TOOLSCAT_INST 指定的实例的目录数据库中。

TOOLSCAT_INST - 表明调度程序使用的工具目录数据库的本地实例名,它与 TOOLSCAT_DB 和 TOOLSCAT_SCHEMA 一起用于标识工具目录数据库。

TOOLSCAT_SCHEMA - 表明调度程序使用的工具目录数据库的模式名。此模式名用来唯一标识在数据库内的一套工具目录表和视图。

如果 DAS 被删除后又重新创建,则上述 DAS 的参数将被重新置回缺省值,即:

Execute Expired Tasks (EXEC_EXP_TASK) = NO
Scheduler Mode (SCHED_ENABLE) = OFF
SMTP Server (SMTP_SERVER) =
Tools Catalog Database (TOOLSCAT_DB) =
Tools Catalog Database Instance (TOOLSCAT_INST) =
Tools Catalog Database Schema (TOOLSCAT_SCHEMA) =
Scheduler User ID =

此时任何试图启动任务中心的操作都会返回上述 DBA1177N 的错误信息。当用户使用:

update admin cfg using <参数> <值>

的命令将上述各参数重新配置成删除之前的值后,重新启动任务中心,便可成功打开任务中心,最终解决该问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐