db2diag命令及db2diag.log文件的作用和其在诊断DB2问题时候的重要性,这里就不再多说。以下内容均摘自
DB2 inforcenter
一、与在实例配置参数中与db2diag相关的参数有
db2 get dbm cfg | grep -i diag
Diagnostic error capture level (DIAGLEVEL) = 3
Diagnostic data directory path (DIAGPATH) = /home/db2inst3/sqllib/db2dump/
Current member resolved DIAGPATH = /home/db2inst3/sqllib/db2dump/
Alternate diagnostic data directory path (ALT_DIAGPATH) =
Current member resolved ALT_DIAGPATH =
Size of rotating db2diag & notify logs (MB) (DIAGSIZE) = 0
DIAGLEVEL:表示诊断错误捕获级别
取值范围为
3 [ 0 — 4 ]
此参数的有效值为:
0 - 仅在服务器端捕获关键错误、事件消息和管理通知消息。无法在客户端上将此参数的值设置为 0。
1 - 仅捕获服务器错误、关键错误、事件消息和管理通知消息。
2 - 捕获所有错误、事件消息和管理通知消息。
3 - 捕获所有错误、事件消息和管理通知消息。
4 - 捕获所有错误、参考消息、事件消息和管理通知消息。
DIAGPATH:表示主诊断数据目录路径,不管数据库是否分区,DB2 实例的所有诊断数据都将存储在单个目录中。在分区数据库环境中,主机中的不同分区的诊断数据都将转储至此诊断数据目录路径。当 diagpath 值设置为 NULL 或者任何不带 $h 或 $n 模式标识的有效路径名时,此诊断数据目录路径是缺省条件。
ALT_DIAGPATH:表示备用诊断数据目录路径,此路径提供了用于存储诊断信息的辅助路径。仅当数据库管理器未能写入在 diagpath 中指定的路径时,才会使用由 alt_diagpath 参数指定的路径并确保不会丢失重要的诊断信息。要使备用诊断数据目录路径可用,必须设置 alt_diagpath 配置参数。
DIAGSIZE:配置旋转诊断日志文件大小,通过设置diagsize数据库管理器配置参数来配置旋转诊断日志,那么将使用一系列旋转诊断日志文件和一系列旋转管理通知日志文件,这些日志文件将遵循 diagsize 所定义的大小。当日志文件填满时,将删除最旧的文件并创建新的日志文件。
二、db2diag记录分析
输入db2diag命令或者直接打开db2diag.log文件,我们都可以看到许多记录db2运作信息。这些信息记录了数据库内部发生的所有操作信息。
以下示例显示样本日志条目的头信息,且标识了日志的所有部分。
注: 不是所有日志条目都包括所有这些部分。只有开头的一些字段(时间戳记至 TID)和函数才会显示在所有 db2diag 日志文件记录中。
2007-05-18-14.20.46.973000-240 [b]1[/b] ——消息的时间戳记和时区。timestamp
I27204F655 [b]2[/b] ——记录标识字段。recordID
LEVEL: Info [b]3[/b] ——与错误消息相关联的诊断级别。DiagLEVEL
PID : 3228 [b]4[/b] ——进程ID号。processID
TID : 8796 [b]5[/b] ——线程ID号。threadID
PROC : db2syscs.exe [b]6[/b] ——进程名称。process
INSTANCE: DB2MPP [b]7[/b] ——实例。instance
NODE : 002 [b]8[/b] ——分区号。node
DB : WIN3DB1 [b]9[/b] ——数据库。database/db
APPHDL : 0-51 [b]10[/b] ——应用句柄。applicationHandle
APPID: 9.26.54.62.45837.070518182042 [b]11[/b] ——进程正在为其工作的应用程序的标识。applicationID
AUTHID : UDBADM [b]12[/b] ——授权标识。
EDUID : 8796 [b]13[/b] ——引擎可分派单元标识。EngineDispatchUnitID
EDUNAME: db2agntp [b]14[/b] (WIN3DB1) 2 ——引擎可分派单元名称。
FUNCTION: [b]15[/b] DB2 UDB, data management, sqldInitDBCB, probe:4820 ——产品名(“DB2”)、组件名(“数据管理”)、写入消息的函数名(“sqlInitDBCB”)以及函数内的探测点(“4820”)。
DATA #1 : [b]16[/b] String, 26 bytes ——被调用函数返回的信息。可能会返回多个数据字段。
Setting ADC Threshold to:
DATA #2 : unsigned integer, 8 bytes
1048576
尚未在示例中说明的字段包括:
<source> 指示已记录错误的源头。(可在样本的第一行结尾找到。)可能的值包括:
- origin - 导致错误的函数(起始点)已记录消息
- OS - 操作系统已生成错误
- received - 已从另一个进程(客户机/服务器)接收到错误
- sent - 错误已发送至另一进程(客户机/服务器)
MESSAGE 包含要记录的消息。它包括:
- <messageID> - 消息号,如 ECF=0x9000004A 或 DIA8604C
- <msgText> - 错误描述
如果还有被调用(CALLED)字段,那么 <msgText> 是被调用(CALLED)函数返回的错误对记录消息的函数(在“函数”字段中指定)的影响
被调用(CALLED) 这是返回错误的函数。它包括:
- <prodName> - 产品名:“OS”、“DB2”、“DB2 Tools”或“DB2 Common”
- <compName> - 组件名称(如果是系统调用则为“-”)
- <funcName> - 被调用函数名
OSERR 这是被调用(CALLED)的系统调用返回的操作系统错误。(可在 CALLED 所在行的结尾找到。)它包括:
- <errorName> - 特定于系统的错误名称
- <errno> - 操作系统错误号
ARG 本节列示返回错误的函数调用的自变量。它包括:
- <N> - 对“被调用”函数的调用中的自变量的位置
- <typeTitle> - 与第 N 个自变量类型名相关联的标注
- <typeName> - 要记录的自变量的类型的名称
- <size> - 要记录的自变量的大小
DATA 它包含记录函数转储的所有其他数据。它包括:
- <N> - 要转储的数据对象的序号
- <typeTitle> - 要转储的数据的标注
- <typeName> - 要记录的数据字段的类型的名称,如 PD_TYPE_UINT32 和 PD_TYPE_STRING
- <size> - 数据对象的大小
三、db2diag命令的简单使用
db2diag的命令参数相对比较多,可以使用以下几个参数查看更多案例,方便熟悉
db2diag -help #提供了所有可用选项的简短描述
db2diag -h brief #提供对所有不带示例的选项的描述
db2diag -h notes #提供用法说明和限制
db2diag -h examples #提供一小组示例以帮助您入门
db2diag -h tutorial #提供所有可用选项的示例
db2diag -h all #提供最完整的选项列表
1.按数据库名称过滤 db2diag 日志文件
db2diag -g db=sample
2.按进程标识过滤 db2diag 日志文件
db2diag -g pid=2200
3.格式化 db2diag 工具输出
db2diag -time 2006-01-01 -node "0,1,2" -level "Severe, Error" |
db2diag -fmt "Time: %{ts}
分区:%node Message Level:%{level} \nPid:%{pid} Tid:%{tid}
实例:%{instance}\nMessage: @{msg}\n"
生成的输出示例如下所示:
时间:2006-02-15-19.31.36.099000 分区:000 消息级别:错误
Pid:940 Tid:40 实例:DB2
消息:ADM7506W 已经请求了数据库停顿。
4.归档无实例客户机上的 db2diag 日志文件
db2diag -A
db2diag: Moving "/home/db2inst3/sqllib/db2dump/db2diag.log"
to "/home/db2inst3/sqllib/db2dump/db2diag.log_2013-11-25-00.40.26"
引用
分享到:
相关推荐
- **位置**:通过查询实例配置参数`DIAGPATH`可以得知`db2diag.log`所在的目录。例如,如果`Diagnosticdatadirectorypath (DIAGPATH) = /home/db2inst1/sqllib/db2dump`,则表示该日志文件位于`/home/db2inst1/...
5. 使用DB2诊断工具:如db2pd、db2trc等,配合db2diag.log进行深入分析。 四、故障处理策略 1. 常规处理:重启DB2实例、恢复数据库、修改配置参数等。 2. 数据修复:利用DB2的备份和日志恢复功能进行数据修复。 3. ...
在IBM DB2 UDB(Universal Database)环境中,`db2diag.log` 文件是一个非常重要的诊断日志文件,它记录了数据库运行过程中产生的各种事件、警告和错误信息。正确地理解和分析这些信息对于定位和解决问题至关重要。 ...
SQLCODE`查询SQL错误代码的含义,而`db2diag –rc ZRC`则可以查找与特定返回码(ZRC)相关的错误信息。 4. **DB2监控设施**: - **Snapshot Monitor**:提供数据库在某一时间点的运行状态快照。 - **Event ...
4. **Diagnostics Kit**:IBM提供了一套DB2诊断工具,包括db2pd、db2trc和db2diag等,用于收集和分析故障信息。 5. **db2diag.log**:这是DB2的核心诊断日志,记录了所有系统事件,包括错误、警告和信息。定期检查...
4. **使用db2dart进行诊断**:如果db2diag.log中的信息不足以解决问题,可以尝试使用`db2dart`命令来进行更深入的诊断。例如,可以使用`db2dart`命令来模拟特定条件下的错误场景,从而收集更多有用的信息。 5. **...
`db2diag.log`文件是DB2数据库的日志文件,用于记录各种诊断信息。当该文件占用磁盘空间达到80%-90%时,应当及时清理,以免影响数据库性能。 ```sql db2 get dbmcfg Diagnostic data directory path (DIAGPATH) = /...
DB2还提供了一些工具和日志文件来辅助排查问题,例如db2diag.log文件记录了DB2运行过程中的所有诊断信息,包括错误和警告。DB2控制中心或命令行处理器(db2cmd或db2cli)也是诊断和解决问题的重要工具,它们允许用户...
2. **手动提交或回滚事务**:查看DB2诊断日志文件(`db2diag.log`),找到持有最旧事务的应用程序句柄号,例如“Applid holding the oldest transaction = 787273”,然后强制结束这些长时间未完成的事务。 - 使用`...
- **问题诊断**:使用 DB2 提供的诊断工具,如 db2diag.log、db2pd 等,进行问题排查。 总之,DB2 作为一款强大的数据库管理系统,对初学者而言,需要从基础概念入手,逐步学习安装配置、数据操作、管理优化等技能...
- 使用DB2的诊断工具,如db2diag.log,帮助诊断和解决故障。 通过以上步骤,你将能够在Windows XP环境下成功安装DB2数据库服务器,并使用Toad for DB2客户端进行高效管理和访问。每个环节都附有详细的截图,便于...
- **syslog和db2diag.log**:这两个日志文件可以帮助诊断系统问题和故障。 - **SAMP/RSCT数据获取/收集**:在出现问题时,收集这些数据可以帮助快速定位问题所在。 #### 十、结束语 DB2高可用性配置是一项复杂的...
作者可能会分享如何阅读错误消息,定位和解决问题,以及如何通过db2diag.log进行故障排查。 7. **高可用性与集群**:DB2支持高可用性解决方案,如镜像、复制、纯读副本等。作者可能讨论了如何设计和实现高可用架构...
- `db2diag.log` 文件用于记录数据库的详细诊断信息。 - 通过查看此文件可以获取关于数据库操作的具体日志信息,帮助排查问题。 #### 查看文件路径 - 可以通过 `db2 get dbmcfg Diagnostic data directory path ...
- 掌握如何使用DB2的诊断工具,如db2diag.log分析,进行问题定位。 综上所述,DB2 DBA手册将涵盖这些关键领域的详细信息,帮助DBA们更好地管理和优化数据库系统,以满足业务需求和保证系统稳定性。
- DB2提供了丰富的诊断工具,如db2pd、db2diag等,帮助开发者调试和优化应用程序。 总结来说,DB2驱动程序是连接应用程序和DB2数据库的关键组件,确保了数据的高效、安全访问。理解其工作原理、配置方法以及如何在...
- **db2diag**:读取并处理db2diag.log文件中的诊断信息。 - **db2drdat**:与DRDA(Distributed Relational Database Architecture)相关操作。 - **db2drvmp**:管理DB2驱动程序。 - **db2empfa**:管理外部文件...
- 查看日志中的错误信息:`#cd /db2diag/db2dump #db2diag -time 2015-04-20 -level "Error"` 查看指定时间的日志错误信息。 2. **检查lockfile文件** - 查看锁文件:`#cd /db2diag/db2dump #ls -lrt db2...
- 解答:在DB2实例目录下的日志文件夹中,找到db2diag.log文件进行查看。 - 问题:如何处理错误和异常? - 解答:根据错误代码和描述,查阅官方文档或在线社区寻找解决方案,必要时回滚事务或重启服务。 8. **...