将服务器数据库恢复到某个时间点

要将 IBM Storage Protect 的服务器数据库复原到指定时间点的状态,您需要在该时间点之前进行最新的完全备份。 此外,还需要在最近一次完全备份之后立即创建的增量备份。 您还可以使用快照数据库备份将数据库复原到特定时间点。

准备工作

重要信息:

将服务器数据库复原到某个时间点后,必须先使用 FORCERECONCILE=YES 参数在源服务器上运行 PROTECT STGPOOL 命令,然后再运行 REPAIR STGPOOLREPLICATE NODE 命令。 在数据库复原后首次运行 REPLICATE NODE 命令时,务必设置 FORCERECONCILE=YES 参数。

将服务器数据库复原到某个时间点,可能会导致服务器遇到下列错误:
  • 服务器数据库中缺少磁盘和磁带上部分数据的记录。
  • 服务器数据库中存在不再存在的数据的记录。
这些不一致会导致使用节点复制功能的服务器发生 ANR1330E 和 ANR1331E 错误或发出 ANR0340E 消息。 请完成以下过程中的步骤,以解决这些不一致。

在复原数据库之前,请完成下列操作:

  1. 找到下列基础结构设置文件:
    • 服务器选项文件
    • 卷历史记录文件
    • 设备配置文件
    • 有关数据库和恢复日志的详细查询输出
  2. 复制服务器选项文件中引用的卷历史记录文件。 备份副本文件名不得与原始服务器选项文件中列出的名称相同。 如果复原操作失败,并且必须重试该过程,您可能需要卷历史记录文件的备份副本。 复原数据库之后,服务器选项文件中引用的任何卷历史记录信息都会丢失。 这些信息用于识别所要审计的卷。
  3. 如有必要,请根据恢复站点上的硬件修改设备配置文件。 例如,恢复站点可能需要不同的设备类、库和驱动器定义。
更新设备配置文件的条件:
如果满足下列任何条件,那么必须手动更新恢复站点上的设备配置文件:
  • 设置 SRCTYPE=SERVER 参数时已包括路径的定义。
  • 在恢复站点上使用自动化磁带库。
  • 使用服务器到服务器虚拟卷。

有关更多信息,请参阅: 更新设备配置文件

防止卷库存之间的不一致: 库管理器服务器的时间点复原可能会在库管理器和库客户机服务器的卷库存之间创建不一致。 您必须采取预防措施来防止这个问题。 有关更多信息,请参阅 复原到库管理器服务器的时间点
阻止移除卷: 库客户机服务器的时间点复原可能会导致从库客户机服务器的卷库存中移除卷,并在稍后覆盖这些卷。 有关更多信息,请参阅 复原到库客户机服务器的时间点

关于此任务

如果文件在备份后已回收或移动,那么这些文件可能会丢失,它们所占用的空间可能已复用。 将来,在定义或更新顺序存取存储池时,可以使用 REUSEDELAY 参数最大限度减少损失。

如果旧卷历史记录文件显示复原存储池所需的卷存在下列情况,您可能无法复原所有文件:
  • 已复用的副本存储池卷。 这些卷可通过设置 STGREUSE 参数来列出。
  • 已删除的副本存储池卷。 这些卷可通过设置 STGDELETE 参数来列出。
将来,在定义副本存储池时,可以通过包括 REUSEDELAY 参数来避免此问题。

有关更多信息,请参阅 UPDATE STGPOOL

过程

要将服务器数据库复原到某个时间点,请完成下列步骤:

  1. 如果数据库或恢复日志目录丢失,请重新创建目录。 例如:
    Linux 操作系统AIX 操作系统
    
    mkdir /tsmdb001
    mkdir /tsmdb002
    mkdir /tsmdb003
    mkdir /activelog
    mkdir /archlog
    mkdir /archfaillog
    
    Windows 操作系统
    
    mkdir e:\tsm\db001
    mkdir f:\tsm\db001
    mkdir f:\tsm\db001
    mkdir h:\tsm\activelog
    mkdir i:\tsm\archlog
    mkdir j:\tsm\archfaillog
  2. 可选: 要在数据库复原操作完成之前阻止客户机或服务器操作访问存储池卷上的数据,可以临时禁用服务器维护进程和客户机会话。 要禁用这些进程,请以维护方式启动服务器。 有关更多信息,请参阅 启动服务器以执行维护或重新配置任务
  3. 运行 DSMSERV RESTORE DB 命令。 例如,要将数据库复原到 2016 年 4 月 19 日创建的备份系列,请运行以下命令:
    dsmserv restore db todate=04/19/2016

    可以将多个参数与 DSMSERV RESTORE DB 命令配合使用。 例如,如果您的环境在云环境中使用已加密的容器存储池,那么可以使用 RESTOREKEYSPASSWORD 参数。 其他参数指定用于数据库和日志信息的路径,以及预览操作的能力。 有关更多信息,请参阅 DSMSERV RESTORE DB

    服务器完成以下操作:
    1. 读取卷历史记录文件可定位指定日期和时间或者之前进行的最后完全备份。
    2. 使用设备配置文件来请求装载第一个卷。 第一个卷包含完全备份的开头。
    3. 从第一个卷复原备份数据。
    4. 继续请求装载,并从包含完全备份以及在指定日期当天或之前建立的任何增量备份的备份卷复原数据。
  4. 运行 QUERY VOLHISTORY 命令以获取自原始备份以来复用,添加和删除的所有卷的列表。 请使用该列表来完成此过程的余下步骤。 此外,可能还需要更新所复原数据库中的设备配置文件。 为确保在复原的数据库中准确地审计卷,可以暂时禁止访问该列表中的顺序卷,直至此过程中的余下步骤完成为止。
  5. 可选: 要临时禁用对顺序卷的访问,请运行以下命令:
    UPDATE VOLUME volume_name ACCESS=UNAVAILABLE

    如果禁止访问卷,那么必须先运行以下命令,然后才能在余下的步骤中运行 AUDIT VOLUME 命令:

    UPDATE VOLUME volume_name ACCESS=READONLY
  6. 运行 AUDIT VOLUME 命令并为以下卷类型指定 FIX=YES 参数:
    • 所有磁盘卷
    • TAPE、VTL 和未经重复数据删除的 FILE 卷的复用卷和已删除卷
    审计卷进程可识别已记录在数据库中,但不再存在于卷上的文件。 如果文件的副本存在于副本存储池或活动数据存储池中,那么所审计的卷上的文件会标记为受损。 否则,从数据库删除该文件,从而丢失该文件。
    审计去重存储池中的 FILE 卷: 请勿在去重存储池中的 FILE 卷上运行带有 FIX=YES 参数的 AUDIT VOLUME 命令。 有关去重存储池中 FILE 卷的特殊注意事项的更多信息,请参阅此过程中的步骤 9.d
  7. 如果审计卷进程检测到任何损坏的文件,请运行 RESTORE STGPOOL 命令以恢复这些文件。
  8. 完成以下步骤:
    1. 将任何找不到的卷标记为已从数据库中删除。 要将卷标记为已删除,可以使用带有 DISCARDDATA=YES 参数的 DELETE VOLUME 命令。 此操作会废弃一些数据库条目,这些条目原本允许服务器将来在该卷上找到文件时访问那些文件。
    2. 如果存储环境中包括目录容器存储池,您可能必须采取额外的步骤来恢复这些存储池中的数据。 有关指示信息,请参阅 从数据丢失或系统中断中恢复
    3. 如果在系统环境中已配置节点复制,请复查信息并采取任何适当的步骤。 源复制服务器的时间点数据库复原会禁用起源于源服务器的复制操作,以防删除目标复制服务器上可能存在的数据副本。 要保留目标复制服务器上存在的数据,请确定是否需要目标复制服务器上的数据副本。 如果需要,那么必须将目标复制服务器上的数据复制到源复制服务器。 请执行消息 ANR0340E 中的步骤。
    4. 对于经过重复数据删除的存储池中的 FILE 卷,您必须采取进一步的操作。 遵循 技术说明 1883611中的指示信息。
    5. 从副本存储池备份恢复任何其他卷。 如果没有可用的备份,请使用带有 DISCARDDATA=YES 参数的 DELETE VOLUME 命令从数据库中删除卷。
  9. 重新定义自数据库备份以来添加的任何存储池卷。

下一步操作

  • 在源或目标复制服务器上执行数据库复原操作之后,在运行 REPAIR STGPOOLREPLICATE NODE 命令之前,使用 FORCERECONCILE=YES 参数在源服务器上运行 PROTECT STGPOOL 命令以完成此操作。 有关更多信息,请参阅 PROTECT STGPOOL
    运行 REPLICATE NODE 命令: 如果您打算在数据库复原后运行 REPLICATE NODE 命令,请确保为数据库复原操作后的第一次调用设置 FORCERECONCILE=YES 参数。
  • 执行复原操作之后,服务器的卷库存可能与磁带管理系统不一致。 例如,执行数据库备份后,有新的卷添加到服务器。 磁带管理系统库存会将该卷记录为属于服务器。 如果从备份复原该数据库,那么服务器不会有所添加的卷的记录,但是磁带管理系统有该记录。 您必须同步这些库存。 类似地,服务器的卷库存与任何自动化库也可能不一致。 运行 AUDIT LIBRARY 命令以同步这些库存。
  • 在使用虚拟卷的服务器上复原数据库时,必须协调源服务器上的虚拟卷与目标服务器上的归档文件。 有关更多信息,请参阅 RECONCILE VOLUMES
  • 如果源服务器与 LDAP 目录服务器不同步,那么可能会发生意外错误。 要同步数据,请运行 AUDIT LDAPDIRECTORY 命令。 有关更多信息,请参阅 AUDIT LDAPDIRECTORY
  • 时间点数据库复原操作可能会使服务器到服务器验证密钥无效。 请运行以下命令,以创建新的服务器到服务器验证密钥:
    UPDATE SERVER server_name FORCESYNC=YES

    有关更多信息,请参阅 UPDATE SERVER