【DB2】问题诊断方式

db2diag.log文件

对于日志,我们需要终点关注Severe和Error,Warning关注频率和其他日志结合,Info可以忽略

对于一条 db2diag.log 日志,

  • 第一行主要包含日期与记录级别
  • 第二行是进程 ID、线程 ID和进程名
  • 第三行为实例名和节点ID
  • 如果该记录对应某一 特定应用,则第四行是应用程序句柄和ID,
  • 第五行为其授权ID;否则第四行为函数名和记录点。接下来是该记录的信息。

剩下的内容为该记录信息

2025-04-02-14.41.25.671280+480 E1176213E575          LEVEL: Error
PID     : 7436                 TID : 140236137674496 PROC : db2acd
INSTANCE: db2inst1             NODE : 000            DB   : YS
APPID   : *LOCAL.db2inst1.250402064129
HOSTNAME: standby
FUNCTION: DB2 UDB, Automatic Table Maintenance, atmRefreshInfoTable, probe:320
DATA #1 : String, 11 bytes
AutoStats:
DATA #2 : String, 137 bytes
[IBM][CLI Driver][DB2/LINUXX8664] SQL0668N  Operation not allowed for reason code "3" on table "SYSTOOLS.HMON_ATM_INFO".  SQLSTATE=57016
DATA #3 : String, 5 bytes
57016

宕机

非法内存访问导致的宕机可以在diag日志中搜索sigsegv
数据损坏

挂起

分为整个实例停止响应和单个应用程序挂起
可以使用list applications和db2pd来判断是实例问题还是单个应用程序挂起

错误信息

SQLCODE
标准的DB2错误代码
使用db2 ? <SQLCODE>来查询代码含义

[db2inst1@standby ~]$ db2 ? SQL911


SQL0911N  The current transaction has been rolled back because of a
      deadlock or timeout. Reason code "<reason-code>".

Explanation:

The current unit of work was involved ...

有些代码不能直接看出含义,需要结合日志

分析数据收集工具

普通收集

db2support /tmp/db2support -d ys -c  -s

hang住收集

db2support /tmp/db2support -g -s

优化sql收集

db2support /tmp/db2support -d ys -cl l -sf <sql文件名>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值