使用 db2support 收集环境信息


对 DB2® 问题收集信息时,您需要运行的最重要的 DB2 实用程序是 db2support。db2support 实用程序用于自动收集所有可用的 DB2 诊断信息和系统诊断信息。它还有一个可选的交互式“问与答”会话,该会话会提出有关问题的详情。



使用 db2support 实用程序可以避免可能的用户错误,这是因为您不必手动输入“GET DATABASE CONFIGURATION FOR <database name>”或“LIST TABLESPACES SHOW DETAIL”之类的命令。而且,您不需要有关要运行的命令或要收集的文件的指示信息,因此收集数据的速度会比较快。



  • 执行 db2support -h
  • 使用相应的 db2support 此外,必须先激活数据库,然后再运行 db2support
    db2support 实用程序应该由具有 SYSADM 权限的用户(如实例所有者)运行,以便该实用程序可以收集所有必需的信息而不发生错误。如果没有 SYSADM 权限的用户运行 db2support,那么在实用程序运行“QUERY CLIENT”或“LIST ACTIVE DATABASE”之类的命令时,可能会产生 SQL 错误(SQL1092)。
    如果使用 db2support 实用程序来帮助将信息传送至 IBM® 支持机构,那么在系统遇到问题时运行 db2support命令。这样工具就会及时地收集信息,例如操作系统性能详细信息。如果在出现问题时无法运行实用程序,您仍可以在问题停止之后发出 db2support
    对于调试问题所需的大多数信息的收集而言,以下基本调用通常已经足够(注意,如果使用 -c db2support <output path> -d <database name> -c 输出的收集非常方便,并且会存储在压缩的 ZIP 归档 db2support.zip

db2support



  • db2diag.log
  • 所有陷阱文件
  • 锁定列表文件
  • 转储文件
  • 各种与系统有关的文件
  • 各种系统命令的输出
  • db2cli.ini



  • 活动日志文件
  • 缓冲池和表空间(SQLSPCS.1 和 SQLSPCS.2)控制文件(使用 -d
  • db2dump 目录的内容
  • 扩展系统信息(使用 -s
  • 数据库配置设置(使用 -d
  • 数据库管理器配置设置文件
  • 日志文件头文件(使用 -d
  • 恢复历史记录文件(使用 -d



db2support.html 将总是包括下列信息:

  • 问题记录(PMR)编号(如果指定了 -n)
  • 操作系统和级别(如 AIX® 5.1)
  • DB2 发行版信息
  • 是 32 位还是 64 位环境的指示信息
  • DB2 安装路径信息
  • db2nodes.cfg
  • CPU 和磁盘数目及内存量
  • 实例上的数据库列表
  • 注册表信息和环境,包括 PATH 和 LIBPATH
  • UNIX® 的当前文件系统和索引节点的磁盘可用空间
  • Java™ SDK 级别
  • Java JCC 版本
  • Java JCC 配置
  • 数据库管理器配置
  • 数据库恢复历史记录文件列表
  • sqllib 目录的 ls -lR
  • LIST NODE DIRECTORY 命令的结果
  • LIST ADMIN NODE DIRECTORY 命令的结果
  • LIST DCS DIRECTORY 命令的结果
  • LIST DCS APPLICATIONS EXTENDED 命令的结果
  • 所有已安装软件的列表



-s 选项时,以下信息将出现在  db2support.html 文件中:

  • 详细的磁盘信息(分区布局、类型、LVM 信息等等)
  • 详细的网络信息
  • 内核统计信息
  • 固件版本
  • 其他特定于操作系统的命令



db2support.html 文件包含下列附加信息:

  • 客户机连接状态
  • 数据库和数据库管理器配置(数据库配置需要 -d
  • CLI 配置
  • 内存池信息(大小和耗用大小)。如果使用 -d
  • LIST ACTIVE DATABASES 命令的结果
  • LIST DCS APPLICATIONS 命令的结果



-c 并且已成功连接至数据库,那么  db2support.html 文件包含以下信息:

  • 用户表的数目
  • 数据库数据的大概大小
  • 数据库快照
  • 应用程序快照
  • 缓冲池信息
  • LIST APPLICATIONS 命令的结果
  • LIST COMMAND OPTIONS 命令的结果
  • LIST DATABASE DIRECTORY 命令的结果
  • LIST INDOUBT TRANSACTIONS 命令的结果
  • LIST DATABASE PARTITION GROUPS 命令的结果
  • LIST DBPARTITIONNUMS 命令的结果
  • LIST ODBC DATA SOURCES 命令的结果
  • LIST PACKAGES/TABLES 命令的结果
  • LIST TABLESPACE CONTAINERS 命令的结果
  • LIST TABLESPACES 命令的结果
  • LIST DRDA® IN DOUBT TRANSACTIONS 命令的结果



db2support.zip 文件内容示例



db2support.zip 文件的内容示例,已执行以下命令:

db2support . -d sample -c -f -st "select * from staff"



db2support.zip 文件解压缩,收集了下列文件和目录:

  • DB2CONFIG/ - 配置信息(例如数据库、数据库管理器、BP、CLI、Java 开发者套件及其他)
  • DB2DUMP/ - 过去三天生成的 db2diag.log
  • DB2MISC/ - sqllib
  • DB2SNAP/ - DB2 命令的输出(例如,db2set、LIST TABLES、LIST INDOUBT TRANSACTIONS、LIST APPLICATIONS
  • db2supp_opt.zip - 优化器问题的诊断信息
  • db2supp_system.zip - 操作系统信息
  • db2support.html - 格式化为 HTML 节的诊断信息
  • db2support.log - db2support
  • db2support_options.in - 用来启动 db2support



db2supp_opt.zip 文件包含关于优化器的信息。将此文件解压缩将生成下列目录:

  • OPTIMIZER/ - 优化器问题的诊断信息
  • OPTIMIZER/optimizer.log - 此文件包含所有活动的日志
  • OPTIMIZER/CATALOGS - 下列子目录中所有包含 LOB 的目录:
  • FUNCTIONS
  • ROUTINES
  • SEQUENCES
  • TABLES
  • VIEWS
  • OPTIMIZER/DB2DUMP - db2serv 输出(serv.* 和 serv2.* 输出文件)



db2supp_system.zip 文件包含系统信息。将此文件解压缩将生成下列文件和目录:

  • DB2CONFIG/ - db2cli.ini(~/sqllib/cfg
  • DB2MISC/ - DB2SYSTM 文件(二进制)及其他
  • OSCONFIG/ - 不同的操作系统信息文件(例如,netstat、services、vfs、ulimit、hosts 及其他)
  • OSSNAP/ - 操作系统快照(例如,iostat、netstat、uptime、vmstat、ps_elf 及其他)
  • SQLDBDIR/ - 重要的缓冲池元文件(~/sqllib/sqldbdir)
  • SQLGWDIR/ - DCS 目录(~/sqllib/sqlgwdir
  • SQLNODIR/ - 节点目录(~/sqllib/sqlnodir
  • SPMLOG/ - ~/sqllib/spmlog
  • report.log - 所有收集活动的日志





配餐:关于解压缩小技巧



一时手快,直接操作



[db2inst2@cognoswithdb2 db2dump]$ unzip db2support.zip 



发现所有的文件都解压在当前目录,一时很混乱,不知道那些事刚解压的



怎么办?如何删除这些刚解压的文件



本来想用find ./ -ctime .......... -exec ......



但是又想到了一种小技巧



我重新解压一边到特定目录



unzip db2support.zip -d unzipsupport/



然后执行



[db2inst2@cognoswithdb2 db2dump]$ rm -rf `cd unzipsupport/;ls`