使用db2pd收集DB2配置信息

发表于:2007-05-25来源:作者:点击数: 标签:db2pd配置收集信息db2
8.2的新工具,没用过,呵呵 db2pd是从DB2版本8.2开始提供的一个新工具,可以用来检测DB2的运行状况。对于问题定位来讲,操作系统以及DB2的配置信息非常重要。db2pd不仅能够监控DB2系统运行的动态信息,而且可以方便地获取操作系统和DB2的配置信息。注意:您
8.2的新工具,没用过,呵呵

db2pd是从DB2版本8.2开始提供的一个新工具,可以用来检测DB2的运行状况。对于问题定位来讲,操作系统以及DB2的配置信息非常重要。db2pd不仅能够监控DB2系统运行的动态信息,而且可以方便地获取操作系统和DB2的配置信息。注意:您必须使用DB2的实例用户来运行db2pd。 下面我们介绍几个用来收集配置信息的选项:

1、 收集操作系统信息,使用-osinfo选项我们可以方便的获取操作系统的一些配置信息和运行信息:

/home/db2inst1$ db2pd -osinfo

Operating System Information:

OSName: AIX
NodeName: p615
Version: 5
Release: 2
Machine: 005615ED4C00

CPU Information:
TotalCPU OnlineCPU ConfigCPU Speed(MHz) HMTDegree
1 1 1 1200 1

Physical Memory and Swap (Megabytes):
TotalMem FreeMem AvailMem TotalSwap FreeSwap
1024 18 n/a 3072 2307

Virtual Memory (Megabytes):
Total Reserved Available Free
4096 n/a n/a 2325

Message Queue Information:
MsgSeg MsgMax MsgMap MsgMni MsgTql MsgMnb MsgSsz

n/a 4194304 n/a n/a n/a 4194304 n/a


Shared Memory Information:
ShmMax ShmMin ShmIds ShmSeg
68719476736 1 131072 0

Semaphore Information:
SemMap SemMni SemMns SemMnu SemMsl SemOpm SemUme
SemUsz SemVmx SemAem
n/a 131072 n/a n/a 65535 1024 n/a
n/a 32767 16384

CPU Load Information:
Short Medium Long
0.000000 0.003067 0.011612
从上面收集的信息我们可以看到操作系统的版本、CPU配置、物理内存、虚拟内存、消息队列、共享内存、信号灯等信息。其中上面列出的消息队列、共享内存、信号灯都是与该DB2实例相关的信息。

2、收集数据库管理器配置参数,使用-dbmcfg选项:
/home/db2inst1$ db2pd -dbmcfg

Database Partition 0 -- Active -- Up 0 days 01:29:15

Database Manager Configuration Settings:
Description Memory Value Disk Value
RELEASE 0xa00 0xa00
CPUSPEED 5.825579e-07 5.825579e-07
COMM_BANDWIDTH 1.000000e+02 1.000000e+02
NUMDB 8 8
DATALINKS NO NO
FEDERATED YES YES
......

从中我们可以看到数据库管理器的运行时间,所有的配置参数,其中Memory Value为当前值,Disk Value为下一次启动DB2实例生效的值。

3、 数据库配置参数,使用-dbcfg可以获得数据库配置参数,配合-db <dbname>选项使用可以获取不同数据库的配置参数,注意,使用该命令收集数据库配置参数需要该数据库处于活动状态。如:

/home/db2inst1$ db2pd -db sample -dbcfg

Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:00:03

Database Configuration Settings:
Description Memory Value Disk Value
DB configuration release level 0xa00 0xa00
Database release level 0xa00 0xa00
Database territory US US
Database code page 819 819
Database code set ISO8859-1 ISO8859-1
Database country/region code 1 1
Database collating sequence UNIQUE UNIQUE
ALT_COLLATE NON_UNIQUE NON_UNIQUE
DYN_QUERY_MGMT DISABLE DISABLE
......

同样Memory Value为当前值,Disk Value为下一次启动该数据库时生效的值。

4、缓冲池信息,缓冲池设置对于数据库的性能影响非常大。可以使用-bufferpools 选项获取一个数据库的缓冲池信息。该选项同样需要-db <dbname>配合一起使用,如:
/home/db2inst1$ db2pd -db sample -bufferpools

Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:04:53

BufferPools:
First Active Pool ID 1
Max Bufferpool ID 1
Max Bufferpool ID on Disk 1
Num Bufferpools 5

Address Id Name PageSz PA-NumPgs BA-NumPgs
BlkSize ES NumTbsp PgsLeft CurrentSz PostAlter SuspndTSCt
0x0780000020332F20 1 IBMDEFAULTBP 4096 1000 0
0 N 6 0 1000 1000 0
0x07800000203320A0 4096 IBMHIDDENBP4K 4096 16 0
0 N 0 0 16 16 0
0x0780000020332440 4097 IBMHIDDENBP8K 8192 16 0
0 N 0 0 16 16 0
0x07800000203327E0 4098 IBMHIDDENBP16K 16384 16 0
0 N 0 0 16 16 0
0x0780000020332B80 4099 IBMHIDDENBP32K 32768 16 0
0 N 0 0 16 16 0

注意:其中IBMHIDDENBP4K、IBMHIDDENBP8K、IBMHIDDENBP16K、IBMHIDDENBP32K为DB2默认创建的隐藏缓冲池,只有在正常的数据库缓冲池因为各种原因无法生效时使用,如果在db2diag.log中看到使用这些缓冲池的消息,请检查缓冲池的设置。因为这些缓冲池都非常小,如果使用到这些缓冲池的话,性能一定会非常差。

5、表空间信息,可以使用-tablespaces选项获得表空间信息,同样需要配合-db <dbname>选项使用:
/home/db2inst1$ db2pd -db sample -tablespaces

Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:09:16

Tablespaces:
Address Id Type Content PageSize ExtentSize Auto Prefetch BufI
D BufIDDisk State TotPages UsablePgs UsedPgs PndFreePgs FreePgs
HWM MinRecTime NQuiescers NumCntrs MaxStripe Name
0x078000002033E6E0 0 SMS Any 4096 32 Yes 32 1
1 0x00000000 0 0 0 0 0
0 0 0 1 0 SYSCATSPACE
0x078000002033EE60 1 SMS SysTmp 4096 32 Yes 32 1
1 0x00000000 0 0 0 0 0
0 0 0 1 0 TEMPSPACE1
0x078000002033F5E0 2 SMS Any 4096 32 Yes 32 1
1 0x00000000 0 0 0 0 0
0 0 0 1 0 USERSPACE1
0x078000002098A8C0 3 DMS Any 4096 32 Yes 32 1
1 0x00000000 7680 7648 3616 0 4032
3616 0 0 1 0 USERTEST1
0x078000002098AEE0 4 DMS Any 4096 32 Yes 32 1
1 0x00000000 7680 7648 160 0 7488
160 0 0 1 0 USERIND1
0x078000002098B500 5 SMS Any 4096 32 Yes 32 1
1 0x00000000 0 0 0 0 0
0 0 0 1 0 SYSTOOLSPACE

Containers:
Address TspId ContainNum Type TotalPages UseablePgs StripeSet Con
tainer
0x078000002033ED00 0 0 Path 0 0 0 /ho
me/db2inst1/db2inst1/NODE0000/SQL00002/SQLT0000.0
0x078000002033F480 1 0 Path 0 0 0 /ho
me/db2inst1/db2inst1/NODE0000/SQL00002/SQLT0001.0
0x078000002033FC00 2 0 Path 0 0 0 /ho
me/db2inst1/db2inst1/NODE0000/SQL00002/SQLT0002.0
0x078000002033FDC0 3 0 File 7680 7648 0 /ho
me/db2inst1/chris/usertest1
0x0780000020358080 4 0 File 7680 7648 0 /ho
me/db2inst1/chris/userind1
0x078000002098BB20 5 0 Path 0 0 0 /ho
me/db2inst1/db2inst1/NODE0000/SQL00002/SYSTOOLSPACE

该命令可以显示出表空间的信息和容器的信息。

db2pd是一个非常强大的监控工具。这只是db2pd很小的一部分功能,关于db2pd的其他功能请参阅命令参考:
http://publib.boulder.ibm.com/infocenter
/db2help/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0011729.htm

原文转自:http://www.ltesting.net