会员名称:  密码:   验证码:     会员注册  忘记密码? 
设为首页
加入收藏
返回首页
媒体资讯>> 业界资讯 - 会展动态 - 竞赛&活动 - IT互联网  媒体学院>> 图形图像 - 网页制作 - 网络编程 - 数据库 - 服务器 - 网络应用  作品赏析>> 视频音响 - CG动画 - UI设计 - 平面设计 - 网页设计 - 摄影映象 - 三维2D - 其它设计  媒体工作室>> 视频影像 - 音频声响 - 三维2D - 平面视觉 - 软硬技术 - 摄影映象  人物访谈>> 人物访谈 - 华夏新锐  媒体杂志>> 媒体杂志  素材图库>> 丽景佳图 - 设计素材 - 资料图库 - 矢量图库 - 动态动画 - 特色图标  酷站赏析>> 韩国网站 - 国外网站 - 国内网站  会员中心>> 会员注册 - 会员登陆
当前位置:华夏媒体 - > 媒体学院 - > 数据库 - > DB2 - > 使用db2look 重新创建优化器访问计划
   
   
   
使用db2look 重新创建优化器访问计划 使用db2look 重...  [DB2]
More... 
   
网络协议X档案全集(十) 网络协议X档案...  [其它...]
不可忽视的BIOS参数设置 不可忽视的BIO...  [其它...]
微软IE浏览器非常规修改全攻略(上) 微软IE浏览器非...  [其它...]
微软IE浏览器非常规修改全攻略(下) 微软IE浏览器非...  [其它...]
网管十招 网管十招  [其它...]
微软安全问题 源自OS和IE中集成RSS 微软安全问题 ...  [其它...]
修改注册表使电脑更安全 修改注册表使电...  [其它...]
利用注册表管理IP地址 利用注册表管理...  [其它...]
有关IIS HACK的一些方法整理 有关IIS HACK的...  [其它...]
More 
使用db2look 重新创建优化器访问计划
编辑:华夏媒体     作者:未知     来源:网络     时间:2006-07-29     总浏览量:4723
文字大小:[      ]     文字颜色:      双击滚屏/单击停止

[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [下一页] 

简介
在作为 DB2 UDB 支持分析员(Support Analyst)工作时,我经常从处理优化器或查询计划问题的客户那里听到下列问题:
“我如何在接手生产环境的测试环境中重新创建相同的查询访问计划呢?”
我们常常需要将生产环境复制到测试环境中,包括为查询分析目的重新创建相同的访问计划。
例如,在生产中,您可能会遇到使用糟糕访问计划的查询所导致的性能问题,并且需要在测试系统上复制该访问计划以尝试一些不同的策略,例如操作统计数据,修改优化级别,对 DB2 注册表变量尝试不同的设置等等,以便提高性能。
在理想的世界中,您需要让测试环境尽可能接近地匹配生产。也就是说,您需要在两个环境中使用完全相同的硬件、操作系统维护级别和配置、DB2 级别和配置,以及在测试中使用与生产中相同的数据。然而,并非总是可以达到这种理想情况。如果生产环境具有极其大量的数据,您或许就没有容量来保存生产系统的测试副本。
db2look 实用程序可以用于达到该目标,即使您无法复制所有的生产细节。
本文将解释如何可以在测试系统上模拟生产系统,而无需真正的数据来重新创建查询计划问题。该功能将帮助您调试查询和理解访问计划问题,且不打断生产环境中的工作。但是请注意,如果需要测试结果访问计划的执行,则仍然需要将尽可能多的数据从生产环境装入测试环境。测试系统和生产系统之间的差别仍然总是可能足以导致测试上的执行特性不匹配生产上的。这部分的分析(性能调优)既是一门科学,又是一门艺术。
优化器或查询编译器领域中的其他问题,例如 SQL0901N 错误或实例崩溃,也可以使用本文中所解释的方法来重新创建。您可以尝试各种策略,如测试最新的补丁包(如果系统是处于更老的补丁级别),尝试不同的优化级别、不同的注册表变量等等,以便查看这些修改是否将解决问题。
让我们看一看 db2look 中用于达到该目标的选项。 

db2look 命令及其选项
下面是用于从生产系统捕获所需信息的命令:

清单 1. 重新创建优化器问题的命令

db2look -d <dbname> -l -o storage.out                        
db2look -d <dbname> -f -fd -o config.out
db2look -d <dbname> -e -a -m -o db2look.out 
db2look -d <dbname> -e -a -m -t table1 table2 .... tableX -o table.ddl
现在,让我们更详细地看一看这些 db2look 命令选项。
生成缓冲池、表空间和数据库分区组信息

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

下面是对以上 db2look 命令中所用选项的描述:
-d:数据库名 —— 该选项必须指定。 
-l:生成数据库布局。这是用于数据库分区组、缓冲池和表空间的布局。 
-o:将输出重新定向到给定的文件名。如果未指定 -o 选项,然么输出将为标准输出(stdout),通常是输出到屏幕。
-l 选项对于模拟生产环境十分重要。理想情况下,您需要具有相同的缓冲池、数据库分区组(如果处于多分区环境中)和表空间信息(包括临时表空间)。但是,如果您受到了内存约束,无法分配生产中所具有的大型缓冲池,那么就使用 db2fopt 命令。我稍后将在本小节中更详细地讨论该命令。
并非总是可以在测试中设置与生产中相同的表空间。例如,可能设置了大型设备,却无法灵活地在测试中创建相同的设备大小。或者,可能根本无法在测试环境中获得单独的表空间设备。此外,或许无法在测试中设置与生产中相同的路径。需要适当地更改路径、设备和文件以适应测试环境。
下面是优化器为表空间所使用的重要信息。这就是您需要确保在测试和生产中相同的信息。(注意:这里所展示的数字是一个例子。您应在测试中使用与您生产中相同的设置。)

PREFETCHSIZE 16
EXTENTSIZE 16
OVERHEAD 12.670000
TRANSFERRATE 0.180000

如果生产中表空间是“由数据库管理的”,那么在测试中也应该是“由数据库管理的”。如果它在生产中是“由系统管理的”,那在测试中也应该是这样的方式。
注意:如果这是具有多个物理分区(MPP)的系统,那么测试中数据库分区组中的分区数目就必须相同。然而,物理机器的数目不必相同。测试和生产中整个 MPP 环境中逻辑分区的数目必须相同。
生成配置参数和注册表变量

db2look -d <dbname> -f -fd -o config.out

这里,我将使用下列参数:
-f:提取配置参数和注册表变量。如果指定了该选项,就会忽略 -wrapper 和 -server 选项。 
-fd:为 opt_buffpage 和 opt_sortheap 生成 db2fopt 语句,以及其他配置和注册表设置。
该命令的输出如下所示:

清单 2. db2look 命令的示例输出

$ db2look -d sample -f -fd

-- No userid was specified, db2look tries to use Environment variable USER


[上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [下一页] 

打印   收藏   关闭   至顶部  


关于我们 | 联系我们 | 合作伙伴 | 站点地图 | 免责声明 | 版权声明 | 意见建议
版权所有  Copyright © 2005-2006 华夏媒体(Media86.Com). All Rights Reserved .
网站备案号:粤ICP备06055307号