dp2pd工具.docx

上传人:b****4 文档编号:5504092 上传时间:2023-05-08 格式:DOCX 页数:14 大小:627.93KB
下载 相关 举报
dp2pd工具.docx_第1页
第1页 / 共14页
dp2pd工具.docx_第2页
第2页 / 共14页
dp2pd工具.docx_第3页
第3页 / 共14页
dp2pd工具.docx_第4页
第4页 / 共14页
dp2pd工具.docx_第5页
第5页 / 共14页
dp2pd工具.docx_第6页
第6页 / 共14页
dp2pd工具.docx_第7页
第7页 / 共14页
dp2pd工具.docx_第8页
第8页 / 共14页
dp2pd工具.docx_第9页
第9页 / 共14页
dp2pd工具.docx_第10页
第10页 / 共14页
dp2pd工具.docx_第11页
第11页 / 共14页
dp2pd工具.docx_第12页
第12页 / 共14页
dp2pd工具.docx_第13页
第13页 / 共14页
dp2pd工具.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

dp2pd工具.docx

《dp2pd工具.docx》由会员分享,可在线阅读,更多相关《dp2pd工具.docx(14页珍藏版)》请在冰点文库上搜索。

dp2pd工具.docx

dp2pd工具

db2pd工具

用于监控DB2实例和数据库的新的DB2UDB工具

级别:

初级

SamuelPoon(poons@),DB2顾问,IBMToronto

2005年4月01日

在8.2版中,IBM®DB2®UniversalDatabase™引入一种新的工具db2pd来监控和管理DB2数据库和实例。

使用这一工具可以跟踪事务、表空间、表统计信息、动态SQL和所有配置信息。

对于故障检修、确定问题和性能调优等非常方便。

简介

DB2UDBV8.2带来了一种新工具称为db2pd,用于收集DB2实例和数据库的统计信息。

与Informix®DynamicServer的onstat工具类似,db2pd提供了20多个选项显示关于数据库事务、表空间、表统计信息、动态SQL、数据库配置和其他很多数据库细节的信息。

单个db2pd命令可以检索多个领域的信息,并把结果保存到文件中。

也可以在特定时期内调用该工具一定的次数,帮助您了解随着时间的变化数据库中的变动情况。

该工具可用于故障检修、问题确定、数据库监控、性能调优和帮助应用程序的开发设计。

本文介绍了这种新的工具,并通过例子说明如何使用它来提高生产率。

级别:

初级

SamuelPoon(poons@),DB2顾问,IBMToronto

2005年4月01日

在8.2版中,IBM®DB2®UniversalDatabase™引入一种新的工具db2pd来监控和管理DB2数据库和实例。

使用这一工具可以跟踪事务、表空间、表统计信息、动态SQL和所有配置信息。

对于故障检修、确定问题和性能调优等非常方便。

简介

DB2UDBV8.2带来了一种新工具称为db2pd,用于收集DB2实例和数据库的统计信息。

与Informix®DynamicServer的onstat工具类似,db2pd提供了20多个选项显示关于数据库事务、表空间、表统计信息、动态SQL、数据库配置和其他很多数据库细节的信息。

单个db2pd命令可以检索多个领域的信息,并把结果保存到文件中。

也可以在特定时期内调用该工具一定的次数,帮助您了解随着时间的变化数据库中的变动情况。

该工具可用于故障检修、问题确定、数据库监控、性能调优和帮助应用程序的开发设计。

本文介绍了这种新的工具,并通过例子说明如何使用它来提高生产率。

使用db2pd工具

使用这种强大的工具,必须具有SYSADMIN权限,而且在UNIX®或Linux™环境中必须是实例的所有者。

该命令的语法和选项说明,可以在DB2UDBInformationCenter中在线找到。

查找db2pd命令语法最简单的办法是使用Web搜索引擎,比如下面使用Google:

1打开Google搜索引擎,如图1所示。

图1.使用Google搜索引擎搜索DB2命令db2pd

2搜索“db2pd”,如图2所示。

1图2.DB2命令dp2pd在Google的搜索结果

2打开db2pd–MonitorandTroubleshootDBCommand,如图3所示。

图3.DB2InformationCenter中关于db2pd工具的信息

调用db2pd工具有两种方式。

可以用交互模式调用db2pd工具,或者直接在操作系统命令提示符下运行。

要是用交互模式执行该工具,可以在操作系统命令提示符下输入db2pd–interactive或者直接输入db2pd,这样将看到db2pd命令提示符db2pd>,可以输入命令选项。

使用–help选项可以获得帮助信息。

退出db2pd命令提示符只需要输入quit或者q。

图4中的例子说明了如何使用交互模式显示当前的代理。

图4.用交互模式调用db2pd

在操作系统命令提示符下调用该工具可以输入带有命令选项的db2pd命令。

下面的例子(图5)使用-agents选项显示了所有的活动代理。

图5.在操作系统命令提示符下调用db2pd

此外,还可以通过将选项保存在文件中或者在DB2PDOPT环境变量中设置选项来控制该命令。

下面的例子(图6)说明可以将-agents选项保存在一个(在该例中)名叫file.out的文件中,然后使用db2pd–commandfile.out执行选项。

图6.将db2pd选项保存在文件中

如果要使用DB2PDOPT环境变量,可以将DB2PDOPT设成需要的选项然后像下面这样调用db2pd:

图7.在DB2PDOPT环境变量中设置db2pd选项

db2pd命令有22个选项。

如果要对所有数据库分区服务器上、所有活动的本地数据库运行所有这些选项,只需要输入db2pd–everything,也可通过下表所示的范围选项限制信息的范围。

表1.db2pd范围选项

范围

范围选项

说明

实例

-inst或-ins

用于实例

数据库

-databasex或–dbx

用于特定的数据库x

数据库

-alldatabase或–alldb

用于所有数据库

分区

-dbpartitionnumn或–dbpn

用于特定的数据库分区服务器n

分区

-alldbpartitionnums或–alldbp

用于实例中的所有数据库分区服务器

注意,dbp2pd选项可以在实例的范围内,也可以在数据库的范围内。

如果使用数据库范围,指定的数据库必须已经激活。

表2显示了每个db2pd选项、选项的说明和对应的范围。

表2.db2pd选项的范围

db2pd选项

说明

范围

agents

返回关于代理的信息

实例

applications

返回应用程序的信息

数据库

bufferpools

返回缓冲池的信息

数据库

Catalogcache

返回目录缓冲的信息

数据库

dbcfg

返回数据库配置参数的设置

数据库

dbmcfg

返回数据库管理器配置参数的设置

实例

dynamic

返回动态SQL的执行信息

数据库

fcm

返回快速通信管理器的信息

实例

help

返回db2pd命令的帮助信息

logs

返回日志信息

数据库

locks

返回锁定信息

数据库

mempools

返回内存池的信息

两者

memsets

返回内存设置的信息

两者

osinfo

返回操作系统信息

Instance

recovery

返回恢复活动的信息

数据库

reopt

返回使用REOPTONCE选项应用程序重新优化的CachedSQL语句的信息

数据库

reorg

返回表重组的信息

数据库

static

返回静态SQL和包的执行信息

数据库

sysplex

返回和所有数据库或者某个数据库的别名相关的服务器列表信息

实例

tablespace

返回表空间的信息

数据库

tcbstats

返回表和索引的信息

数据库

transactions

返回活动事务的信息

数据库

version

返回当前DB2版本和级别的信息

实例

更好的是,可以指定–repeat参数重复该命令。

比方说,下面的命令每2秒钟显示一次DB2内存信息,共5次:

db2pd–mempools–repeat25

此外,通过file=参数还可以将特定db2pd命令选项的结果保存到文件中。

file和repeat参数可以结合使用:

db2pd–mempoolsfile=memp.txt–repeat25

其中,memp.txt保存输出结果。

监控的例子

下面这些例子说明了如何用db2pd工具监控您的数据库环境。

例1:

如果希望了解当前DB2的级别和当前操作系统的信息,可以输入以下命令:

db2pd–version–osinfo

图8.监控例子1

–version选项显示了系统上运行的当前DB2的版本和级别。

输入db2level命令也可以得到同样的信息。

–osinfo选项显示OS、CPU、物理内存和虚拟内存信息。

类似的OS信息也可以在DB2启动时的db2diag.log中找到。

这个例子也说明了获得版本信息和OS信息是多么简单,只需要在一个db2pd命令中指定两个选项。

例2:

如果希望了解谁给数据库加了锁,可以使用下面的命令确定这个人:

db2pd–databasesample–locks–transactions–agents–filelock.txt

db2pd命令的所有选项都可以使用前三个字符的缩写,只有两个除外:

-mempools和–memsets。

使用缩写形式,上面的例子可以改写为:

db2pd–dbsample–loc–tra–age–fillock.txt

上面的命令使用了混合范围选项。

–lock/-loc和–transactions/-tra是数据库范围内的选项,agents/–age是实例范围内的选项。

虽然范围选项是混合的,仍然可以显示当前活动代理的锁定和事务信息。

使用–file/-fil选项,命令的输出保存到lock.txt文件中。

该命令的消息显示如下。

图9a.监控例子2

要注意,–db选项被–agents选项忽略了。

下图(图9b)显示了lock.txt文件的部分内容。

图9b.lock.txt文件的内容

通过以下步骤很容易发现谁加了锁。

1图9b中,–lock选项生成的第一段输出表明,一个共享锁(Mode=S)被句柄号为3(TranHdl=3)的事务持有,而且锁定的状态是授权(Sts=G)。

2–transactions选项生成的第二部分输出表明,事务句柄号3具有应用程序句柄号28(AppHandl=28)。

3最后,可以在输出的第三部分中发现,ID为POONS的用户拥有应用程序句柄号28。

事务在等到被锁定的资源时,–locks在输出中的状态(Sts)将是W,代表Waiting(等待)状态。

然后使用上面的方法很容易确定谁在等待锁定的资源。

这个例子说明,一个简单的命令可以检索必要的信息确定谁加了锁,也说明可以将多个选项的输出保存到一个文件中,还说明了选项的缩写形式。

一旦熟悉了db2pd工具,为了更快地执行命令可以使用缩写形式减少按键的次数。

但是为了清晰起见,在脚本文件中可能希望避免使用缩写形式。

例3:

如果需要检查动态SQL语句的当前隔离级别,可以使用下面的命令:

db2pd–dbsample–dynamic

图10.监控例子3

图10中,在DynamicSQLEnvironments部分可以找到执行中的动态SQL语句的当前隔离级别。

该例中,散列的锚标识符171(AnchID=171)具有最严格的隔离级别,RepeatableRead(可重复读,RR)。

通过交叉参照DynamicSQLStatements,可以确定哪个具体的SQL语句具有RR隔离级别:

select*fromemployee

例4:

如果希望监控表的重组(reorg)状态,在v8.2之前可以使用GETSNAPSHOTFORTABLESON数据库名检查重组状态。

使用db2pd工具,执行下面的命令就能获得重组状态:

db2pd–dbsample–reorgfile=reorg.txt

reorg.txt文件包含以下信息:

图11a.监控开始的重组状态

图11a中,对表STAFF运行了一个离线的重组工具。

如果稍后再执行相同的命令,结果将如图11b所示,状态已经从“Started”变为了“Done”。

“Done”状态表明重组已经完成了。

图11b.监控结束的重组状态

例5:

V8.2之前的DB2UDB版本中,可以使用命令DB2LISTTABLESPACESSHOWDETAIL检查表空间的状态,现在只需要在操作系统命令提示符下输入以下命令。

db2pd-dbsample–tablespace

图12中可以看到,SAMPLE数据库中共有三个表:

SYSCATSPACE、USERSPACE1和SYSTOOLSPACE,在Tablespaces节中说明表空间状态为0x00000800。

图12a.监控例子5

可以使用db2tbst命令对表空间状态解码。

可以发现,表空间处于“Backupinprogress(备份中)”状态。

结果如图12b所示。

图12b.db2tbst命令

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2