快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰官网7598522_龟发之家论坛



在作为 DB2 UDB 支持阐发员(Support Analyst)事情时,我常常从处置惩罚优化器或查询计划问题的客户那里听到下列问题:

我若何在接手临盆情况的测试情况中从新创建相同的调查计划呢?

我们常常必要将临盆情况复制到测试情况中,包括为查询阐发目的从新创建相同的造访计划。

例如,在临盆中,您可能会碰着应用糟糕造访计划的查询所导致的机能问题,并且必要在测试系统上复制该造访计划以考试测验一些不合的策略,例如操作统计数据,改动优化级别,对 DB2 注册表变量考试测验不合的设置等等,以便前进机能。

在抱负的天下中,您必要让测试情况尽可能靠近地匹配临盆。也便是说,您必要在两个情况中应用完全相同的硬件、操作系统掩护级别和设置设置设备摆设摆设、DB2 级别和设置设置设备摆设摆设,以及在测试中应用与临盆中相同的数据。然而,并非老是可以达到这种抱负环境。要是临盆情况具有极其大年夜量的数据,您或许就没有容量来保存临盆系统的测试副本。

db2look 实用法度榜样可以用于达到该目标,纵然您无法复制所有的临盆细节。

本文将解释若何可以在测试系统上模拟临盆系统,而无需真正的数据来从新创建查询计划问题。该功能将赞助您调试查询和理解造访计划问题,且不打断临盆情况中的事情。然则请重视,要是必要测试结果造访计划的履行,则仍旧必要将尽可能多的数据从临盆情况装入测试情况。测试系统和临盆系统之间的区别仍旧老是可能足以导致测试上的履行特点不匹配临盆上的。这部分的阐发(机能调优)既是一门科学,又是一门艺术。

优化器或查询编译器领域中的其他问题,例如 SQL0901N 差错或实例崩溃,也可以应用本文中所解释的措施来从新创建。您可以考试测验各类策略,如测试最新的补丁包(要是系统是处于更老的补丁级别),考试测验不合的优化级别、不合的注册表变量等等,以便查看这些改动是否将办理问题。;

让我们看一看 db2look 顶用于达到该目标的选项。

db2look 敕令及其选项

下面是用于从临盆系统捕捉所需信息的敕令:

清单 1. 从新创建优化器问题的敕令db2look -d-l -o storage.out

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

db2look -d-e -a -m -o db2look.out

db2look -d-e -a -m -t table1 table2 ....

tableX -o table.ddl

现在,让我们更详细地看一看这些 db2look 敕令选项。

天生缓冲池、表空间和数据库分区组信息。db2look -d-l -o storage.out  db2look -d -l -o storage.out

下面是对以上 db2look 敕令中所用选项的描述:

-d:数据库名 —— 该选项必须指定。

-l:天生数据库结构。这是用于数据库分区组、缓冲池和表空间的结构。

-o:将输出从新定向到给定的文件名。要是未指定 -o 选项,然么输出将为标准输出(stdout),平日是输出到屏幕。

-l 选项对付模拟临盆情况十分紧张。抱负环境下,您必要具有相同的缓冲池、数据库分区组(要是处于多分区情况中)和表空间信息(包括临时表空间)。然则,要是您受到了内存约束,无法分配临盆中所具有的大年夜型缓冲池,那么就应用 db2fopt 敕令。我稍后将在本小节中更详细地评论争论该敕令。

并非老是可以在测试中设置与临盆中相同的表空间。例如,可能设置了大年夜型设备,却无法机动地在测试中创建相同的设备大年夜小。或者,可能根澳门新葡亰官网7598522本无法在测试情况中得到零丁的表空间设备。此外,或许无法在测试中设置与临盆中相同的路径。必要适当地变动路径、设备和文件以适应测试情况。;

下面是优化器为表空间所应用的紧张信息。这便是您必要确保澳门新葡亰官网7598522在测试澳门新葡亰官网7598522和临盆中相同的信息。(重视:这里所展示的数字是一个例子。您应在测试中应用与您临盆中相同的设置。)PREFETCHSIZE 16

EXTENTSIZE 16

OVERHEAD 12.670000

TRANSFERRATE 0.180000

要是临盆中表空间是“由数据库管理的,那么在测试中也应该是“由数据库管理的。要是它在临盆中是“由系统管理的,那在测试中也应该是这样的要领。

重视:要是这是具有多个物理分区(MPP)的系统,那么测试中数据库分区组中的分区数目就必须相同。然而,物理机械的数目不必相同。测试和临盆中全部 MPP 情况中逻辑分区的数目必须相同。

天生设置设置设备摆设摆设参数和注册表变量db2look -d-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

-- USER is: SKAPOOR

-- This CLP file was created using DB2LOOK Version 8.2

-- Timestamp: Sat Mar 26 00:13:36 EST 2005

-- Database Name: SAMPLE

-- Database Manager Version: DB2/6000 Version 8.2.2

-- Database Codepage: 819

-- Database Collating Sequence is: UNIQUE

CONNECT TO SAMPLE;

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

-- Database and Database Manager configuration parameters

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

UPDATE DBM CFG USING cpuspeed 6.523521e-07;

UPDATE DBM CFG USING intra_parallel NO;

UPDATE DBM CFG USING federated NO;

UPDATE DBM CFG USING fed_noauth NO;

!db2fopt SAMPLE update opt_buffpage 50000;

!db2fopt SAMPLE update opt_sortheap 10000;

UPDATE DB CFG FOR SAMPLE USING locklist 1000;

UPDATE DB CFG FOR SAMPLE USING dft_degree 1;

UPDATE DB CFG FOR SAMPLE USING maxlocks 10;

UPDATE DB CFG FOR SAMPLE USING avg_appls 1;

UPDATE DB CFG FOR SAMPLE USING stmtheap 2048;

UPDATE DB CFG FOR SAMPLE USING dft_queryopt 5;

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

-- Environment Variables se澳门新葡亰官网7598522ttings

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

!db2set DB2_ANTIJOIN=yes;

!db2set DB2_INLIST_TO_NLJN=yes;

COMMIT WORK;

CONNECT RESET;

TERMI澳门新葡亰官网7598522NATE;

-f 和 -fd 选项是用于提取设置设置设备摆设摆设参数和注册表变量的症结选项,而优化器将在造访计划阶段应用这些设置设置设备摆设摆设参数和情况。在上面的 清单 2 中,请重视下列 -fd 选项所孕育发生的输出:!db2fopt SAMPLE update opt_buffpage 50000;

!db2fopt SAMPLE update opt_sortheap 10000;

db2fopt 敕令奉告优化器为“缓冲池大年夜小(Buffer pool size)应用指定的值,而非将可用缓冲池变量的页面加起来。(db2exfmt 输出中的缓冲池大年夜小将鄙人面的 缓冲池大年夜小 一节中进行进一步的评论争论。)例如,假设因为测试系统上的内存约束,您无法得到大年夜型的缓冲池,并且盼望将大年夜小设置设置设备摆设摆设得相同,实际上却不是真正有这么大年夜。应用将天生需要的 db2fopt 敕令的 -fd 选项来奉告优化器应用指定大年夜小,而非基于对该数据库可用的缓冲池进行谋略。;

您可能还会对下面的文章感兴趣: