db2trc 命令控制随 DB2® 提供的跟踪设施。跟踪设施记录有关操作的信息并将此信息格式化为可读格式。
记住,运行跟踪时会增加开销,所以启用跟踪设施可能会影响系统性能。
通常,IBM 软件支持机构和开发团队使用 DB2 跟踪进行故障诊断。您可以运行跟踪来获取有关正在调查的问题的信息,但如果您不了解 DB2 源代码,它的用途将十分有限。
即使只要求您获取跟踪文件,您也应该知道如何正确地启动跟踪以及如何转储跟踪文件。
C:\>db2trc
用法:db2trc (chg|clr|dmp|flw|fmt|inf|off|on) options
db2trc on -u
这会提供有关可在启动 DB2
跟踪时指定的所有附加选项(标注为“工具”)的信息。启用跟踪时,最重要的选项是 -L。它指定用于存储跟踪信息的内存缓冲区的大小。缓冲区大小可以字节或兆字节为单位来指定。要指定兆字节,那么在值后面追加“M”或“m”。跟踪缓冲区大小必须是 2 兆字节的幂。如果指定的大小不符合此要求,那么缓冲区大小将自动舍入为下一个 2 的幂。
如果缓冲区太小,那么信息可能会丢失。在缺省情况下,如果缓冲区变满,那么只会保留最新的跟踪信息。如果缓冲区太大,那么可能难以将文件发送至 IBM 软件支持团队。
C:\> db2trc on -l 8M
Trace is turned on
但是,如果跟踪规模较大的操作或者同时在进行大量工作,那么可能需要较大的跟踪缓冲区。
为了减少收集或格式化的数据量,db2trc 命令支持若干掩码选项。减少收集的数据量很有用,这是因为它可以减少由于进行跟踪收集所导致的开销并且您可以更有针对性地收集数据。更有针对性地收集数据还可以帮助提高问题诊断速度。
通常应该在 IBM 支持机构的指导下使用 -m 掩码选项。然而,可以使用 -p 掩码选项来仅收集特定进程标识(还可以选择线程标识)的跟踪。例如,要对具有线程 1、2、3 和 4 的进程 77 以及具有线程 5、6、7 和 8 的进程 88 启用跟踪,请使用以下语法:
db2trc on -p 77.1.2.3.4,88.5.6.7.8
这两个脚本都可以使用单个脚本调用来替换若干手动发出的命令,从而使跟踪收集更简单。
db2trcon 脚本用于打开跟踪并且支持若干选项。可以使用此脚本来将 db2trc 打开一段指定的时间、指定仅收集耗费处理器时间最多的几个引擎可分派单元 (EDU) 的跟踪以及自动生成转储文件、流文件和格式文件。例如,要对耗费处理器时间最多的 5 个 EDU 打开跟踪,将持续时间设置为 45 秒并从运行该脚本时起以 15 秒的时间间隔进行采样,请发出以下命令:
db2trcon -duration 45 -top 5 -interval 15 -flw -fmt
在指定的持续时间后关闭 db2trc 时,db2trcon 会自动生成转储文件、流文件和格式文件。
db2trcoff 用于关闭跟踪并可以使用单个命令自动生成转储文件、流文件和格式文件。例如,要使用 -force 来关闭 db2trc 并生成流文件、格式文件和转储文件,请发出以下命令:
db2trcoff -flw -fmt -force
注意,如果您使用 db2trcon 脚本打开了跟踪并指定了持续时间,那么不需要再另外发出 db2troff 命令。