db2haodb
作者db2haodb·2020-05-04 21:52
数据库开发工程师·IGI

db2trc用法

字数 3441阅读 1227评论 0赞 0

Notes:
DB2 provides the db2trc command to trace DB2 events. The db2trc command collects
event information, dumps the trace to a file, and formats the trace dump file.

db2trc should be performed with the assistance of your IBM Support Center. SYSADM,
SYSCTRL, or SYSMAINT authority is needed to run db2trc.

Running the db2trc command:
• Start the trace.
db2trc on
• Perform the action you wish to trace.
• Dump the trace to a file. If no directory path is specified, then the trace file will be written
to the current directory.
db2trc dump trace.bin
• Turn the trace off.
db2trc off
• Format the dump trace file. The fmt option lists each event chronologically. The flw
option sorts each event by process or thread. If the output is not redirected, then the
output will go to the terminal.
db2trc fmt trace.bin trace.format
db2trc flw trace.bin trace.flow
• Send the formatted trace to the IBM Support Center.

=========================== db2trc 命令的常用顺序示例:

db2trc on -l 8M
db2trc clr

db2trc dump db2trc.dmp
db2trc off
db2trc flw db2trc.dmp .flw
db2trc fmt db2trc.dmp .fmt
db2trc fmt -c db2trc.dmp .fmtc
最后把最后三个文件发送给IBM支持人员。

==============================更详细的步骤说明:
使用db2trc的步骤可分为大步:
启用跟踪跟踪问题
转储db2跟踪
格式化db2跟踪

====================================================具体步骤:
=======================开启trace跟踪问题,并存入磁盘:

  1. 开启db2 trace : db2trc on -l 8M
    说明:
    -l表示指定分配给trace的buffer,单位可以用m/M表示兆, 最小为1m,并且必须是2的幂,如4, 8, 16,32.........。 默认值和最大值根据操作系统实际情况变化。
    如果缓冲区太小,那么信息可能会丢失。在缺省情况下,如果缓冲区变满,那么只会保留最新的跟踪信息。如果缓冲太大,可能难以将文件发送至 DB2 支持团队。
    如果跟踪时间相对较短的操作(如数据库连接),那么大概 8MB 大小通常就已足够.

但是,如果跟踪规模较大的操作或者同时在进行大量工作,那么可能需要较大的跟踪缓冲区。
在大多数平台上,跟踪可按如上所述随时打开并工作。但是,有些特定情况需要注意:

在多数据库分区系统上,必须对每个物理(相对于逻辑)数据库分区运行跟踪。(和db2support情况一样,需要在物理分区上执行,因为会收集操作系统及硬件信息)
在 HP-UX 上,Linux® 和 Solaris 平台上,如果在启动实例后关闭跟踪,那么不管指定大小如何,下一次启动跟踪时都会使用非常小的缓冲区。例如,昨天您通过使用 db2trc on -l 8m 启动了跟踪,然后收集了跟踪信息,然后停止了跟踪(db2trc off)。今天您希望在不关闭并重新启动实例的情况下,运行跟踪并将内存缓冲区设置为 32 MB(db2trc on -l 32m)。您会发现在此情况下,跟踪仅获得很小的缓冲区。为了在这些平台上有效地运行跟踪,应在启动实例前以所需大小缓冲区启动跟踪,并在以后必要时“清除”缓冲区。

  1. 清除跟踪缓冲区: db2trc clr
    说明:
    使用 on 选项启用跟踪工具后,将跟踪实例所作的所有后续工作。
    跟踪运行时,可使用 clr 选项来清除跟踪缓冲区。将除去跟踪缓冲区中的所有现有信息。

<----------------------执行要捕捉错误的命令或操作--------------------------->

  1. 内存缓冲池转储至磁盘: db2trc dmp trace.dmp
    说明:
    要跟踪的操作完成后,请使用后跟跟踪文件名的 dmp 选项将内存缓冲池转储至磁盘。
  2. 要关闭跟踪,请使用 off 选项: db2trc off
    说明:
    跟踪缓冲区转储至磁盘后,跟踪工具将继续运行。要关闭跟踪,请使用 off 选项.

=======================格式化db2跟踪:

  1. 格式化二进制的dump文件,生成格式化输出结果trace.flw
    db2trc flw trace.dmp trace.flw
    db2trc fmt trace.dmp trace.fmt
    [ db2trc fmt -c trace.dmp trace.fmtc ]

说明:
(1)
前两个命令都要执行。.flw文件中主要是函数流程。.fmt文件较.flw文件更为详细,会打印相应的数据。他们之间的行数是相互对应的。一般都是二者结合起来看。
(2)
最后一个命令db2trc fmt -c trace.dmp trace.fmtc的作用: Format communications buffers. 应该可以不需要。
(3)
Trace wrapped : YES
如果此输出指示“合并跟踪”为“YES”,那么表示跟踪缓冲区不够大,无法包含跟踪时间段收集的所有信息。根据情况,合并跟踪也许是可行的。如果您关心的是最新信息(除非指定了 -i 选项,否则这是缺省情况下保留的信息)
,那么跟踪文件中的内容可能已经足够。但是,如果您关心的是跟踪时间段开始时发生的情况,或者关心发生的所有情况,那么您可能想要使用更大的跟踪缓冲区重做该操作。
(4)
将二进制文件格式化为可读文本文件时,有一些选项可用。例如,可使用 db2trc fmt -xml trace.dmp trace.fmt 转换二进制数据并以 XML 可解析格式输出结果。其他选项显示在跟踪命令(db2trc)的详细描述中。

要注意的另一件事是:在 Linux® 和 UNIX® 操作系统上,DB2 在因为严重错误而关闭实例时会自动将跟踪缓冲区转储至磁盘。因此,如果实例异常结束时启用了跟踪,那么会在诊断目录中创建一个文件,
其名称为 db2trdmp.###,其中 ### 是数据库分区号。Windows® 平台上不会发生这种情况。在这些情况下,您必须手动转储跟踪。

=================================总之,以下是 db2trc 命令的常用顺序示例:

db2trc on -l 8M
db2trc clr

db2trc dump db2trc.dmp
db2trc off
db2trc flw db2trc.dmp .flw
db2trc fmt db2trc.dmp .fmt
db2trc fmt -c db2trc.dmp .fmtc
最后把最后三个文件发送给IBM支持人员。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广