今天同事给了个db2diag。log文件给分析下 ,对其中的ecf不是很清楚,搜索结果如下(不过个人觉得这些用处不是很大,zrc和ecf对应的翻译其实在db2diag都写明了):
了解更多关于内部返回码的内容
有两种类型的内部返回码:ZRC 值和 ECF 值。这些返回码一般仅在供 IBM® 软件支持机构使用的诊断工具中可视。例如,它们出现在DB2® 跟踪输出和 db2diag.log 文件中。
ZRC 和 ECF 值基本上具有相同的作用,但格式上稍有不同。每个 ZRC 值都具有以下特征:
- 类名
- 组件
- 原因码
- 相关联的 SQLCODE
- SQLCA 消息标记
- 描述
- 集名
- 产品标识
- 组件
- 描述
ZRC 和 ECF 值通常为负数,并用于表示错误状况。ZRC 值根据它们表示的错误类型进行分组。这些分组称为“类”。例如,具有以“SQLZ_RC_MEMHEP”开头的名称的 ZRC 值通常是与内存不足相关的错误。相似地,ECF 值被分组为“集”。
以下是包含 ZRC 值的
db2diag.log 条目的示例:
2006-02-13-14.34.35.965000-300 I17502H435 级别:错误 PID:940 TID:660 PROC:db2syscs.exe 实例:DB2 节点:000 数据库:SAMPLE APPHDL:0-1433 APPID:*LOCAL.DB2.050120082811 函数:DB2 UDB,数据包含,sqlpsize,探测点:20 返回码:ZRC=0x860F000A=-2045837302=SQLO_FNEX“找不到文件。” DIA8411C 找不到文件 ""。
可使用
db2diag 命令获取有关此 ZRC 值的完整详细信息,例如:
c:\>db2diag -rc 0x860F000A 输入 ZRC 字符串“0x860F000A”被解析为 0x860F000A(-2045837302)。 要映射的 ZRC 值:0x860F000A(-2045837302) V7 等同 ZRC 值:0xFFFFE60A(-6646) ZRC 类: 关键介质错误(类索引:6) 组件: SQLO;操作系统服务(组件索引:15) 原因码: 10(0x000A) 标识: SQLO_FNEX SQLO_MOD_NOT_FOUND 标识(不带组件): SQLZ_RC_FNEX 描述: 未找到文件。 相关信息: Sqlcode -980 SQL0980C 发生磁盘错误。无法处理后续的 SQL 语句。 sqlca 标记数:0 对话框消息号:8411如果发出命令 db2diag -rc -2045837302 或 db2diag -rc SQLO_FNEX,将返回相同信息。
ECF 返回码的输出示例如下:
c:\>db2diag -rc 0x90000076 输入 ECF 字符串“0x90000076”被解析为 0x90000076(-1879048074) 要映射的 ECF 值:0x90000076(-1879048074) ECF 集: setecf(集索引:1) 产品: DB2 Common 组件: OSSe 代码: 118(0x0076) 标识: ECF_LIB_CANNOT_LOAD 描述: 不能装入指定的库。
db2diag 命令输出中最有价值的故障诊断信息是描述和相关信息(仅对于 ZRC 返回码)。
要获取 ZRC 或 ECF 值的完整列表,请分别使用命令 db2diag -rc zrc 和 db2diag -rc ecf。