📜  IMS DB-恢复

📅  最后修改于: 2020-11-27 05:23:36             🧑  作者: Mango


如果系统出现故障,数据库管理员需要计划数据库恢复。故障可能有多种类型,例如应用程序崩溃,硬件错误,电源故障等。

简单方法

一些简单的数据库恢复方法如下-

  • 为重要数据集制作定期备份副本,以便保留针对数据集发布的所有事务。

  • 如果数据集由于系统故障而损坏,则可以通过还原备份副本来解决该问题。然后,将累积的事务重新过帐到备份副本,以使它们保持最新状态。

简单方法的缺点

简单的数据库恢复方法的缺点如下-

  • 重新过帐累积的事务会花费大量时间。

  • 所有其他应用程序都需要等待执行,直到恢复完成。

  • 如果涉及逻辑索引和二级索引关系,则数据库恢复比文件恢复更长。

异常终止例程

DL / I程序崩溃的方式与标准程序崩溃的方式不同,因为标准程序直接由操作系统执行,而DL / I程序则不是。通过使用异常终止例程,系统会进行干预,以便可以在异常终止(ABEND)之后进行恢复。异常终止例程执行以下操作-

  • 关闭所有数据集
  • 取消队列中所有待处理的作业
  • 创建一个存储转储以找出ABEND的根本原因

此例程的局限性在于它不能确保所使用的数据是否准确。

DL / I日志

当应用程序终止时,有必要还原该应用程序所做的更改,更正错误并重新运行该应用程序。为此,需要具有DL / I日志。这是有关DL / I日志记录的关键点-

  • DL / I将应用程序所做的所有更改记录在一个称为日志文件的文件中。

  • 当应用程序更改段时,其前映像和后映像由DL / I创建。

  • 如果应用程序崩溃,这些段图像可用于还原段。

  • DL / I使用一种称为预写日志记录的技术来记录数据库更改。使用预写日志记录,将数据库更改写入日志数据集,然后再写入实际数据集。

  • 由于日志始终位于数据库的前面,因此恢复实用程序可以确定任何数据库更改的状态。

  • 当程序执行更改数据库段的调用时,DL / I将处理其日志记录部分。

恢复-前进和后退

数据库恢复的两种方法是-

  • 正向恢复-DL / I使用日志文件存储更改数据。使用此日志文件重新过帐累积的事务。

  • 向后恢复-向后恢复也称为回退恢复。程序的日志记录是向后读取的,其作用在数据库中是相反的。回退完成后,假设没有其他应用程序在此期间更改数据库,则数据库将处于与故障之前相同的状态。

检查站

检查点是将应用程序完成的数据库更改视为完整且准确的阶段。以下列出的是有关检查点的注意事项-

  • 在最新检查点之前进行的数据库更改不会被向后恢复撤消。

  • 在最新检查点之后记录的数据库更改不会在正向恢复期间应用于数据库的映像副本。

  • 使用检查点方法,恢复过程完成后,数据库将在最近的检查点恢复到其状态。

  • 批处理程序的默认设置是检查点是程序的开始。

  • 可以使用检查点调用(CHKP)建立检查点。

  • 检查点调用导致将检查点记录写入DL / I日志。

下面显示的是CHKP调用的语法-

CALL 'CBLTDLI' USING DLI-CHKP
                     PCB-NAME
                     CHECKPOINT-ID

有两种检查点方法-

  • 基本检查点-允许程序员发出在恢复处理期间DL / I恢复实用程序使用的检查点调用。

  • 符号检查点-它是检查点的高级形式,与扩展的重新启动功能结合使用。符号检查点和扩展的重新启动一起使应用程序程序员可以对程序进行编码,以便它们可以在检查点之后的点处恢复处理。