diagpath -“诊断数据目录路径”配置参数

此参数允许您指定 Db2® 诊断信息的标准主路径。

配置类型
数据库管理器
适用于
  • 带有本地和远程客户机的数据库服务器
  • 客户机
  • 带有本地客户机的数据库服务器
  • 带有本地客户机和远程客户机的分区数据库服务器
参数类型
可联机配置
传播类
立即
缺省值 [范围]
$INSTHOME/sqllib/db2dump/ $m [任何有效路径名(请参阅以下部分以了解解析变量选项)]
$INSTHOME/sqllib/db2dump ,用于单个成员环境中的实例配置
符号
pathname
要使用的目录路径,而不是缺省诊断数据目录
$h
解析为 HOST_hostname
注: 从 V10 开始,在 Db2 pureScale® 环境中, $h 是指 成员的主主机。
$n
解析为 NODEnumber
$m
解析为 DIAGnumber。 请注意,无论 DIAGnumber 是指数据库分区, CF还是 成员,都将使用。
/trailing-dir
单个目录,或者是跟在 $h$n 后面的目录和子目录
有下列值可用:
  • '"$h"'
  • '"$h/trailing-dir"'
  • '"pathname $h"'
  • '"pathname $h/trailing-dir"'
  • '"$n"'1
  • '"$n/trailing-dir"'
  • '"pathname $n"'
  • '"pathname $n/trailing-dir"'
  • '"$m"'
  • '"$m/trailing-dir"'
  • '"pathname $m"'
  • '"pathname $m/trailing-dir"'
  • '"$h$n"'2
  • '"$h$n/trailing-dir"'
  • '"pathname $h$n"'
  • '"pathname $h$n/trailing-dir"'
  • '"$h$m"'
  • '"$h$m/trailing-dir"'
  • '"pathname $h$m"'
  • '"pathname $h$m/trailing-dir"'

根据您使用的平台不同,主诊断数据目录可包含转储文件、陷阱文件、错误日志、通知文件、警报日志文件和“首次出现数据收集”(FODC) 包。

如果此参数为空,那么诊断信息将写入下列其中一个目录或文件夹中的缺省诊断路径目录字符串:
  • 在 Windows 环境中:
    • 用户数据文件 (例如,实例目录下的文件) 的缺省位置因操作系统的 Windows 系列的版本而异。 使用 DB2SET DB2INSTPROF 命令来获取实例目录的位置。 该文件位于 DB2INSTPROF 注册表变量指定的目录的 instance 子目录中。
  • 在 Linux® 和 UNIX 环境中: 信息写入 INSTHOME/sqllib/db2dump/ $m,其中 INSTHOME 是实例的主目录。

V 10.1开始,缺省情况下,诊断数据目录路径将写入每个 成员CF的专用 db2diag 日志文件。 要还原到将诊断数据写入同一目录的先前发行版的行为,请使用 pathname 指定 diagpath ,而不使用任何令牌 ($h$n$m)。

要分割诊断数据目录路径以按物理主机收集诊断信息,请将此参数设置为下列其中一个值:
  • 分割缺省诊断数据目录路径:
    db2 update dbm cfg using diagpath '"$h"'
    此命令将在缺省诊断数据目录下使用主机名创建一个子目录,如下所示:
    Default_diagpath/HOST_hostname
  • 使用结尾目录来分割缺省诊断数据目录路径:
    db2 update dbm cfg using diagpath '"$h/trailing-dir"'
    此命令将在缺省诊断数据目录下使用主机名和结尾目录创建一个子目录,如下所示:
    Default_diagpath/HOST_hostname/trailing-dir
  • 分割您自己指定的诊断数据目录路径(pathname$h 之间有个空格):
    db2 update dbm cfg using diagpath '"pathname $h"'
    此命令将在您自己指定的诊断数据目录下使用主机名创建一个子目录,如下所示:
    pathname/HOST_hostname
  • 使用结尾目录分割您自己指定的诊断数据目录路径(pathname$h 之间有个空格):
    db2 update dbm cfg using diagpath '"pathname $h/trailing-dir"'
    此命令将在您自己指定的诊断数据目录下使用主机名和结尾目录创建一个子目录,如下所示:
    pathname/HOST_hostname/trailing-dir
要分割诊断数据目录路径以按物理主机和按物理主机的数据库分区收集诊断信息,请将此参数设置为下列其中一个值:
  • 分割缺省诊断数据目录路径:
    db2 update dbm cfg using diagpath '"$h$n"'
    此命令将在缺省诊断数据目录下使用主机名和分区号为主机中的每个逻辑分区创建一个子目录,如下所示:
    Default_diagpath/HOST_hostname/NODEnumber
  • 使用结尾目录来分割缺省诊断数据目录路径:
    db2 update dbm cfg using diagpath '"$h$n/trailing-dir"'
    此命令将在缺省诊断数据目录下使用主机名、分区号和结尾目录为主机中的每个逻辑分区创建一个子目录,如下所示:
    Default_diagpath/HOST_hostname/NODEnumber/trailing-dir
  • 分割您自己指定的诊断数据目录路径(pathname$h$n 之间有个空格):
    db2 update dbm cfg using diagpath '"pathname $h$n"'
    此命令将在您自己指定的诊断数据目录下使用主机名和分区号为主机中的每个逻辑分区创建一个子目录,如下所示:
    pathname/HOST_hostname/NODEnumber
    例如,名为 boson 的 AIX® 主机具有节点号为 0 , 1 和 2 的 3 数据库分区。 目录的列表输出示例与以下内容类似:
    usr1@boson /home/user1/db2dump->ls -R *
    HOST_boson:
    
    HOST_boson:
    NODE0000 NODE0001 NODE0002
    
    HOST_boson/NODE0000:
    db2diag.log db2eventlog.000 db2resync.log db2sampl_Import.msg events usr1.nfy
    
    HOST_boson/NODE0000/events:
    db2optstats.0.log
    
    HOST_boson/NODE0001:
    db2diag.log db2eventlog.001 db2resync.log usr1.nfy stmmlog
    
    HOST_boson/NODE0001/stmmlog:
    stmm.0.log
    
    HOST_boson/NODE0002:
    db2diag.log db2eventlog.002 db2resync.log usr1.nfy
  • 使用结尾目录分割您自己指定的诊断数据目录路径(pathname$h$n 之间有个空格):
    db2 update dbm cfg using diagpath '"pathname $h$n/trailing-dir"'
    此命令将在您自己指定的诊断数据目录下使用主机名、分区号和结尾目录为主机中的每个逻辑分区创建一个子目录,如下所示:
    pathname/HOST_hostname/NODEnumber/trailing-dir
注:
  • 为了避免操作系统 shell 在某些 Linux 和 UNIX 系统上解释 $登录,必须将单引号放在双引号之外,如语法中所示。
  • 在 CLP 交互方式下,或者在命令是从输入文件中读取并执行的情况下,不需要添加双引号。
  • $h$n$m 都不区分大小写。
  • diagpath 的动态行为不会扩展到所有进程
  • 例如,当您通过实例连接发出 UPDATE DATABASE MANAGER CONFIGURATION 命令时, db2sysc Db2 服务器进程可以检测动态更改。
  • DB2 客户机和应用程序进程启动时,它们将使用 diagpath 配置参数设置,且不会检测任何动态更改。
  • diagpath 配置参数设置为新目录时,建议此新 diagpath 目录具有与缺省 diagpath 目录相同的许可权。
    针对 Linux 和 UNIX 环境,新目录的首选许可权值为 1777。 要对新目录设置许可权,请运行以下命令:
    chmod 1777 <directory>
在 V9.5 及更高版本中,全局级 DB2INSTPROF 的缺省值存储在上面显示的新位置。 指定运行时数据文件的位置的其他概要文件注册表变量应查询 DB2INSTPROF 的值。 其他变量包括:
  • DB2CLIINIPATH
  • DIAGPATH
  • SPM_LOG_PATH
注:Db2 V 9.7 修订包 4 和更高版本的修订包中,可以通过设置与 diagpath 参数结合使用的备用诊断路径来提高诊断日志记录的弹性。 如果设置了 alt_diagpath 并且由 diagpath 指定的路径变得不可用,那么诊断日志记录将在所指定的备用诊断数据目录路径中继续,然后在主诊断路径再次变为可用时在其原始位置继续。
不推荐使用 1 $n ,在将来的发行版中可能会将其除去。
2 不推荐使用 $h$n ,在将来的发行版中可能会将其除去。