在AS/400上怎样从Journal恢复数据[DSPJRN]

时间:2017-08-24 ┊ 阅读:9,450 次 ┊ 标签: 经验 , 系统 , 命令

首先说一下什么是journal,字面翻译过来就是日志,其实很简单,就是日志记录。在as/400上所有的对文件的操作都可以通过journal记录下来,以防任何不测用以数据回滚、调查等需要。
其实在实际项目中,真正遇到需要回滚数据的时候真的是非常之少,在400上工作这么多年,基本没发生过数据回滚的需要,不过说起导journal来调查历史问题还是偶尔会发生的。
通常导journal时,把journal receiver restore 到系统里,用DSPJRN把对应文件的记录导出到文件里,这时因为数据类型的不同,JOESD里面就是当时的数据,我们如果直接看这些数据会发现很多乱码,这就是因为数据类型不同导致的,这时我们需要把数据恢复到对方文件的记录格式,才能正常查看。
journal导出的数据的格式,前面一堆字段基本是记录,在什么时间、被哪个程序、哪个user、怎么更改等等,这些东西很重要,可以知道当时发生了什么。最后一个字段JOESD,大概是这个名字,这里因为手上没有server,改日再补上细节。里面保存的是当时更改前或后的所有数据,记着是所有的数据。
DSPJRN 把数据导出到一个file里面,这里就先为TAB_JRN吧

DSPJRN JRN(QTEMP/JRN) FILE(QTEMP/FILE MBR) RCVRNG(QTEMP/JRNRCV01 QTEMP/JRNRCV10) ENTTYP(*RCD)
 OUTPUT(*OUTFILE) OUTFILFMT(*TYPE3) OUTFILE(QTEMP/TAB_JRN) ENTDTALEN(*CALC)

然后

CREATE TABLE QTEMP/FTAB_JRN AS(
  SELECT JOENTT, ...., B.* FROM QTEMP/TAB_JRN, TAB B WHERE 1=2) WITH DATA

RUN 完上面SQL, 我们创建了一个表,这里注意,上面字段先不一一列出了,最后一个字段省略,用table的所有字段来代替,先创建一个空表。
然后通过

CPYF FROMFILE(QTEMP/TAB_JRN) TOFILE(QTEMP/FTAB_JRN) MBROPT(*ADD) FMTOPT(*NOCHK)

直接把刚刚导出来的数据copy到FTAB_JRN里面,这里数据FMTOPT(NOCHK)直接对应copy过去,这时去FTAB_JRN里查看,是不是所有的journal都转换出来的,后面的格式和原数据文件一样的格式。
这里注意,ENTTYP(
RCD),record level的数据转换,否则可能会出现decimal error导致cpyf里出错。

文章评论

添加新评论

温馨提醒:如果您是第一次在本站留言,需要审核后才能显示哦!

相关文章

Mac电脑一直显示有未读信息怎么解决?

Mac电脑一直显示有未读信息怎么解决?

上次还是macOS14,一直没有解决。索性放着不管了,反正把所有没用的信息都清理了,已经确认没有未读信息了。 最近升级了macOS15最新版本,但还是提示有6条未读信息,百思不得其姐! 查了一下网上不少人遇到此问题,有说有bug,有说点掉过滤未知联系人信息啥,都不好用。 最后查到了Apple社...
阅读全文>>
Whatsapp只能查看最近三天的聊天记录了怎么办?

Whatsapp只能查看最近三天的聊天记录了怎么办?

今天突然发现电脑上的WhatsApp只能查看最近3天的聊天记录了,显示要查看3天前的记录请到手机上查看。很是吃惊,以前一直是所有记录都自动同步到电脑版的啊,不论换电脑了还是换手机了,聊天记录从来没丢过。 查询一翻也没有找出来原因,怎么也同步不过去。 电脑版app重新安装了,也不行。 有个方法说...
阅读全文>>
ValueError: Error getting directory

ValueError: Error getting directory

ssl证书过期了 明明自动renew的 然后看log已经好久没更新成功了 查半天是当前server不信任远程连接 只能自己改代码 报错: 21-12-17 13:01:11 Generate CSR...amkevin.csr amkevin.csr generated. /home/www...
阅读全文>>
网页路径中的'.'和'..'还有'./'和'../'区别

网页路径中的'.'和'..'还有'./'和'../'区别

. 表示当前目录 .. 表示当前目录的上一级目录。 ./表示当前目录下的某个文件或文件夹,视后面跟着的名字而定 ../表示当前目录上一级目录的文件或文件夹,视后面跟着的名字而定。 例如: 文件夹 a 下面有 文件夹b c 和文件 d。 文件夹b下面有e.php 和文件f。 则e中的 . 表示...
阅读全文>>
Introduction to ILE RPG Activation Groups

Introduction to ILE RPG Activation Groups

Learn how activation groups can help your ILE RPG programs run more efficiently, how to specify the type of group to use, and closing and reclaimin...
阅读全文>>