zoukankan      html  css  js  c++  java
  • 如何恢复包含损坏记录的物理文件

     在物理文件在没有激活日志的状态下,如果出现了损坏的记录如何恢复该物理文件。
    解答 请按照以下步骤,尽量恢复物理文件中没有损坏的记录:

    1、在OS/400命令行键入以下命令:

    OVRDBF FILE(LIBA/File) SEQONLY(*YES 1)

    注: 该命令确保该物理文件被顺序地处理,同时只有一个记录在处理。

    2、接着,执行以下命令:

    CPYF FROMFILE(LIBA/File) TOFILE(QTEMP/x) CRTFILE(*YES) +
    FROMRCD(1) ERRLVL(999) COMPRESS(*YES)

    注: 同时将文件QTEMP/X保存在磁带上。

    3、删除包含损坏记录的物理文件:

    DLTF FILE(LIBA/File)

    注: 如果由于该物理文件有逻辑文件相关,先将相关的逻辑文件更名,
    存放在相同的库中。

    4、将保存在QTEMP中的文件放回原来的库:

    MOVOBJ OBJ(QTEMP/x) OBJTYPE(*FILE) TOLIB(LIBA)

    注: 如果由于该物理文件有逻辑文件相关,请在新的物理文件上重建
    相应的逻辑文件。

    5、删除所有旧的逻辑文件和物理文件:
    DLTF FILE(LIBA/all_logicals_over_renamed_physical)
    DLTF FILE(LIBA/renamed_physical)

    注解:
    - 用命令CPYF得到一个包含所有可以访问的记录文件,而损坏的记录将会被写入作业日志(JOBLOG)。
    参数ERRLVL将被视为一个可以容忍的最多损坏记录的阀值,超过该阀值时,CPYF命令将停止。 - 命令CPYF执行结束后,您可以比较两个文件(QTEMP/x和LIBA/File)的记录的数量,如果记录数相同,
    说明物理文件中的数据没有丢失。如果记录数不同,说明有数据丢失,此时就需要从其他途径来
    恢复这些数据,例如:备份的磁带等。

    - 当指定命令CPYF中的参数COMPRESS为*NO时,旧文件中被删除的记录也会被拷贝到新的文件中。

    - 指定命令CPYF中的参数FROMRCD(1)是为了避免运行该命令时,物理文件的访问路径被破坏。
  • 相关阅读:
    为什么解析 array_column不可用,
    Android经常使用的布局类整理(一)
    C++ Coding Standard
    Kd-Tree算法原理和开源实现代码
    2013年10月5日国庆上班前一天
    2013年10月5日
    2013年10月3日合肥归来
    国庆第二天参加室友婚礼
    国庆随笔
    2013第40周日国庆放假前一天晚上
  • 原文地址:https://www.cnblogs.com/wildfish/p/1032030.html
Copyright © 2011-2022 走看看