如何恢复PF中被误删除的记录?.doc
文本预览下载声明
如何恢复PF中被误删除的记录?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 作成:ITS qingzhou? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 时间:2006/6/22日志(Journal)的概念相当于其它关系数据库的日志(LOG),通常如果事务型应用需要提交/回滚(Commit/Roll Back)时,数据库的表是需要日志的。另外,如果表上定义了触发器、参照完整性(Referential Integrity),表也需要日志的。DB2 for iSeries的表是可以有日志的,也可以无日志的。如果你用来创建的是Library而不是SQL的Collection,那么创建于这个Library的表默认是没有日志的。反之,如果你用来创建的是SQL的Collection,那么创建于这个Library的表默认是有日志的;默认的日志是QSQJRN,默认的日志接收器是QSQJRN0001,用户可以更改这些默认属性。以下就是通过日志来恢复误删除PF记录的一个事例,你可以用Navigator方式进行创建日志,如果习惯用5250仿真绿屏方式,也可以使用CL命令来创建日志,以下是以5250绿屏方式。1、创建日志接收器=== CRTJRNRCV JRNRCV(LIU/LIUJRNRCV) TEXT(Lius Journal Receive)??2、建立日志=== CRTJRN JRN(LIU/LIUJRN) JRNRCV(LIU/LIUJRNRCV) TEXT(lius Journal) 3、以LIU/EXECTL这个PF为例,以*BOTH方式启动日志=== STRJRNPF FILE(LIU/EXECTL) JRN(LIU/LIUJRN) IMAGES(*BOTH)为了利用JRN进行修改回退,JRN必须启用了参数Journal images的*BOTH选项,即除了缺省的After Images还要包含Before Images. 4、先查询目前记录情况,共75条记录。=== RUNQRY *N LIU/EXECTL 5、测试:通过STRDFU删除LIU/EXECTL记录5条,然后再次查询情况,仅剩下70条记录。6、利用RMVJRNCHG命令恢复记录=== RMVJRNCHG JRN(LIU/LIUJRN) FILE((LIU/EXECTL))7、系统提示:Remove failed. 5 entries removed from *QDDS object.8、再次查询LIU/EXECTL情况,发觉被删除的记录已经恢复。■如果想删除日志及日志接收器,需要按照如下步骤实施。1、先解除日志与PF文件的关联=== ENDJRNPF FILE(LIU/EXECTL) JRN(LIU/LIUJRN) 2、删除日志=== DLTJRN JRN(LIU/LIUJRN) 3、删除日志接收器=== DLTJRNRCV JRNRCV(LIU/LIUJRNRC
1.gif (32.86 KB) 2006-6-22 15:18? 1、创建日志接收器
2.gif (41.55 KB) 2006-6-22 15:18? 2、建立日志
3.gif (34.03 KB) 2006-6-22 15:18? 3、以LIU/EXECTL这个PF为例,以*BOTH方式启动日志
4.gif (55.11 KB) 2006-6-22 15:18? 4、先查询目前记录情况,共75条记录。
5.gif (55.67 KB) 2006-6-22 15:18? 5、测试:通过STRDFU删除LIU/EXECTL记录5条,然后再次查询情况,仅剩下70条记录。
6.gif (37.62 KB) 2006-6-22 15:18? 6、利用RMVJRNCHG命令恢复记录
7.gif (41.98 KB) 2006-6-22 15:18? 7、系统提示:Remove failed. 5 entries removed from *QDDS object.
8.gif (55.83 KB) 2006-6-22 15:18? 8、再次查询LIU/EXECTL情况,发觉被删除的记录已经恢复。
DB2 for iSeries的日志由两部分组成:Journal和 Journal Receive。Journal相当于一张登记表,记录着那些表是
显示全部