赛迪网 > IT技术 数据库 > DB2开发者园地
  IT资讯搜索
 
IT产品搜索

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

发布时间:2007.07.26 09:02     来源:赛迪网    作者:Ad

简介

在作为 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 storage.out

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 怎样对SQL 数据表和数据库进行迭代操作 (07-26) · 三步获取本机上配置完毕的Oracle服务名 (07-26)
· 初学Oracle最经常碰到的错误及解决方案 (07-26) · SQL应避免使用哪种格式的存储图象文件 (07-26)
· 推荐;适合SQL初学者学习的SQL FAQ集锦 (07-25) · 从SQL Server2000升级到2005的过程解析 (07-25)
· 解析Microsoft Sql Server中的like语句 (07-25) · 如何运用MSSQL sp自制未公开的加密函数 (07-25)
· MySQL导入导出的方法以及工具介绍 (07-25) · MySql 的常识 (07-25)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管