db2diag.log文件内容分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
db2diag.log文件中的标记都表示什么含义?
环境:
产品: db2 udb
平台: Cross Platform
软件版本: v6, v7, v8
问题描述:
db2diag.log文件中的标记都表示什么含义?
解答:
对db2diag.log文件的正确分析往往是排除错误的第一步, 该文件位于数据库管理器的配置参数DIAGPATH指定的目录下.下面是db2diag.log的部分摘取, 我们来分析一下它们的含义.
(1) 2002-05-17-17.30.32.140000 (2) Instance:DB2MPP (3) Node:000
(4) PID:2204(db2bp.exe) (5) TID:2224 (6) Appid:*LOCAL.DB2MPP.020*********
(7) database_utilities (8) sqlubckp (9) Probe:26
DiagData
(10) 2cfc ffff
2002-05-17-20.17.20.793000 Instance:DB2MPP Node:000
PID:596(db2syscs.exe) TID:2176 Appid:
base_sys_utilities sqleMergeSqlca Probe:20 Database:SAMPLE
Received sqlcode 1496 for request 8000001e from node number 1
(11) Data Title:SQLCA PID:596 TID:2176 Node:000
sqlcaid : SQLCA sqlcabc: 136 sqlcode: 1496 sqlerrml: 0
sqlerrmc:
sqlerrp : SQLESRSU
sqlerrd : (1) 0x00000000 (2) 0x00000000 (3) 0x00000000
(4) 0x00000000 (5) 0x00000000 (6) 0x00000001
sqlwarn : (1) (2) (3) (4) (5) (6)
(7) (8) (9) (10) (11)
sqlstate:
1. 表示记这条日志时的时间戳
2. 实例名. 该例子中的实例名是db2mpp
3. 分区号. 在单分区的数据库中该值总为0
4. 应用或代理的进程ID.
5. 应用或代理的线程ID. 该值只有在windows平台上有效.
6. 应用ID. 该值对应于LIST APPLICATIONS命令的输出.每一个应用都有唯一的应用ID.
7. 组件名称(component).
8. 报错或信息的功能模块名, 该功能模块从属于上面的组件.
9. 功能模块的probe point. 对应于返回错误和信息的功能模块的源代码的位置.
10. 诊断信息. 该例子中的db2diag.log文件来源于Windows平台, 所以dump的信息是反字节顺序的.为了把该信息转化为sqlcode, 您需要把2cfc ffff转化成为ffff fc2c同时从十六进制
转化为十进制.请注意该值并不是都能转化为有效的sqlcode的.
如何使用DB2 v8.2 新提供的db2diag 执行程序对db2diag.log 文件进行过滤和查找?
环境产品:DB2 UDB
平台:跨平台
版本:v8.2
问题对在DB2 v8.2 产品中提供的新的诊断辅助工具db2diag 所常用的几个功能进行简单的举例说明。
解答为了方便用户对DB2 诊断日志文件db2diag.log 提供的信息的理解,在DB2 v8.2 中增加了db2diag 这一辅助诊断工具,这里结合几个具体举例,对其常用的一些功能加以介绍。
该可执行程序:db2diag 位于以下路径:
Unix 平台- $HOME/sqllib/bin
Windows 平台- SQLLIB\BIN
1. 在多分区实例下,可查看db2diag.log 文件中指定分区的所有信息。如:用户因第四个分区上的数据库出现问题而仅希望查看该分区信息时,可使用以下命令:
db2diag -n 4
输出的所有信息都将包含在“NODE: 004”中,参看下面的部分输出。
2004-10-11-19.01.57.744218-300 E7115837C971 LEVEL: Event
PID : 119664 TID : 1 PROC : db2star2
INSTANCE: dimi NODE : 004
FUNCTION: DB2 UDB, base sys utilities, DB2StartMain, probe:911
MESSAGE : ADM7513W Database manager has started.
START : DB2 DBM
DA TA #1 : Build Level, 124 bytes
....
2. 要显示db2diag.log 文件中所有关于119664 进程的信息,可利用以下命令:
db2diag -pid 119664
2004-10-11-19.01.56.555034-300 I7109918C313 LEVEL: Event
PID : 119664 TID : 1 PROC : db2star2
INSTANCE: dimi NODE : 000
FUNCTION: DB2 UDB, config/install, sqlfLogUpdateCfgParam, probe:30
CHANGE : CFG DBM: "Instance_Memory"
....
结合上述两种用法,以下命令将抽取db2diag.log 文件中分区0 和 4 上所有119664 进程的相关信息:
db2diag -pid 119664 -n 0,4
3. 为显示db2diag.log 文件中包含的时间戳“2004-11-02-11.00.907665-360”之后的所有信息,可用下述命令:
db2diag -time 2004-11-02-11.00.907665-360
4. 另外一个较有用的选项是“-rc”。对于以前的DB2 版本,用户经常希望了解的db2diag.log 中的常出现十六进制返回码所提示的信息,在v8.2 上,如果使用该选项便可得到关于这些十六进制返回码的解释。如对于以下一段信息:
2004-10-19-12.19.46.033037-300 I7202340C354 LEVEL: Severe
PID : 139048 TID : 1 PROC : db2hmon 4
INSTANCE: dimi NODE : 000
FUNCTION: DB2 UDB, routine_infrastructure, sqlerFmpOneTimeInit, probe:100
MESSAGE : DiagData
DA TA #1 : Hexdump, 4 bytes
0x2FF225B0 : FFFF FBEE ....
......
为了解十六进制0xFFFF FBEE 所提示的信息,可使用下面的命令:
db2diag -rc FFFFFBEE
其输出为:
Input ECF string 'FFFFFBEE' parsed as 0xFFFFFBEE (-1042).
ERROR: ../sqz/sqlzwhatisrc.C:
Input ZRC 0xFFFFFBEE (-1042) cannot be identified as a V7 or V6 ZRC value