新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > DB2教程 > 正文:使用DB2look重新创建优化器访问计划(6)

使用DB2look重新创建优化器访问计划(6)

新客网 XKER.COM 2007-08-02 来源: huawuque 收藏本文

示例 3:

 

您需要在单分区的环境中模拟生产中的整个数据库以进行测试。

 

注意:如果测试中的数据库名与生产中的不同,那么可能需要修改每个 db2look 输出中的数据库名。

 

步骤 1:

使用 -l 选项收集 db2look,以收集表空间/缓冲池/数据库节点组信息。

 

db2look -d <dbname> -l -o storage.out

 

 

 

修改表空间信息以适应您的测试环境。例如:在生产中,您具有下列表空间:

 

------------------------------------ 

-- DDL Statements for TABLESPACES -- 

------------------------------------ 

CREATE REGULAR TABLESPACE DMS1 IN DATABASE 
PARTITION GROUP IBMDEFAULTGROUP 

PAGESIZE 4096 MANAGED BY DATABASE 

USING ( FILE ’/data/dms1’20000, 

FILE ’/data/dms2’20000, 

FILE ’/data/dms3’20000) 

EXTENTSIZE 32 

PREFETCHSIZE 32 

BUFFERPOOL IBMDEFAULTBP 

OVERHEAD 12.670000 

TRANSFERRATE 0.180000 

DROPPED TABLE RECOVERY ON;

 

 

如果测试上没有设置相同的路径,那么就要修改上面的位置。如果您仅仅计划模拟环境,而不要复制整个数据,那么就减小文件的大小,并在必要时使用较少容器。如果没有创建相同的缓冲池,那么您还可能修改缓冲池名称。缓冲池必须具有相同的页面大小(pagesize)。不要修改表空间的页面大小。一旦处理了这些并创建了数据库,就运行 storage.out 文件:

 

db2 -tvf storage.out

 

 

 

如果需要,就重新定向输出以确保都成功运行了。例如:

 

db2 -tvf storage.out > storage_results.out

 

 

 

步骤 2:从生产中收集配置和环境变量信息,并在测试系统上运行它:

 

db2look -d sample -f -fd -o config.out

 

 

 

请记住,在 MPP 环境中,这将为运行该命令的节点收集该信息。如果不同的数据库分区上的 DB2 注册表和数据库以及数据库管理器配置不同,您将需要为每个节点分别收集该信息。然而,如果测试中无法具有与生产中相同的分区,那么就从生产中执行该查询的节点中收集该信息,然后在测试中使用该信息。

 

请注意:如果测试中具有不同的分区数目,那么您的模拟将有所欠缺。

 

在测试系统上,运行 config.out 文件,如下:

 

db2 -tvf config.out

 

上面考虑到优化器将使用 db2fopt 信息来查看所分配的总的缓冲池和排序堆,现在将成为测试环境中的设置。而且,这也是在测试中由于内存约束而不具有与生产中相同的缓冲池以及排序堆时所使用的技术。同时,本文前面所讨论的配置参数以及环境变量也将进行更新。

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐