服务器 频道

使用db2pd收集DB2配置信息

  【IT168 服务器学院】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

0
相关文章