分析来自 IBM i 中 DSPJRN 日志文件的数据

analyzing data from DSPJRN journaled files in IBM i

如何分析从 IBM i 中的 DSPJRN 日志数据库文件中提取的数据?。 使用命令 DSPJRN 从日志中提取的输出由元数据和原生格式的数据块(文本和二进制数据流)组成。尽管可以提取一些信息,但我认为有一些规则可以阅读它们,但据我所知。尚未在文档中看到信息。 有人在处理这些数据吗?

journal entry information

的文档

元数据很简单,因为它位于标准列中。

这是有问题的可变长度条目特定数据。

假设文件中没有可为空的列,并且日志配置为不最小化数据,基础知识并不难处理。然后你可以简单地构建一个 table 与元数据列 + 日志中的列 table 并简单地将数据复制到它;像这样:

  1. DSPJRN JRN(MYJRN) FILE((MYPF)) ENTTYP(*RCD) OUTPUT(*OUTFILE) OUTFILFMT(*TYPE1) OUTFILE(JRNOUT) ENTDTALEN(*CALC)
  2. 构建table,我用SQLCREATE TABLE MYJRNDATA as (SELECT <meta columns>,<PF columns> FROM JRNOUT, MYPF) with no data
  3. CPYF FROMFILE(JRNOUT) TOFILE(MYJRNDATA) FMTOPT(*NOCHK) 将日志数据复制到其中。

超越基础变得复杂。

您可以使用一些商业工具,我使用 DBUJRN 命令,它是 Prodata 的 DBU 实用程序的一部分。

还有至少一个开源工具,Export Journal Entries 如果我想自己动手,我会从这里开始。