首页 > 业界动态

时间:2010-03-29 19:51:42
重定向恢复操作包括两步数据库恢复过程,并且中间有一个表空间容器定义步骤:

带 REDIRECT 选项发出 RESTORE DATABASE 命令。
使用 SET TABLESPACE CONTAINERS 命令来定义被恢复的数据库的表空间容器(DB2 需要知道您想要让表空间驻留在目标系统上的什么位置)。
再次发出 RESTORE DATABASE 命令,这次指定 CONTINUE 选项。
整个重定向恢复操作必须在同一个会话中调用;否则,将返回 SQL0900N,恢复操作会失败,记住这一点很重要。确保不会发生这种情况的一个方法是创建并运行包含重定向恢复过程中全部三部分的脚本。

  以下(Windows)示例显示了如何成功地执行重定向恢复操作。我将演示如何从不同的 实例恢复备份映象,而不是从另一台 服务器恢复备份映象。原理相同,细节也一样。

  本示例中的源实例名为 PROD。目标实例名为 MYINST。将要在 MYINST 上被恢复(创建)的 PROD 上的现有数据库名为 MOVIES。MOVIES 数据库在 D 盘上。

  我概述了使用重定向恢复操作恢复另一台机器上的 DB2 数据库所需执行的步骤。 重定向恢复操作由两个过程组成,中间还有一个表空间容器定义步骤。使用完整数据库备份映像来克隆数据库当然不错,但是如果数据库备份映像不足以将数据库恢复到灾难前一刻的状态,而该数据库又必须在另一台服务器上进行恢复,那么情况会是如何呢?

  假设您的数据库服务器在火灾中受损,您应该怎么办? 如果您已经将备份映像集和日志文件存储在远程机器上,其中备份映像集包括完整数据库备份、联机增量备份和联机增量 delta 备份映像,日志文件中记录了从最后一次进行备份操作时到发生灾难时所执行的所有事务,并且您的数据库支持前滚恢复(将数据库配置参数 logretain设置为 ON)和增量备份(将数据库配置参数 trackmod设置为 ON),那您就没有什么可担心的,您完全可以通过下述方法在另外一台机器上重新恢复数据库。

  为了在另一台服务器上恢复该数据库,您将必须执行 重定向增量数据库恢复操作,接着执行 数据库前滚操作。重定向增量恢复操作是对一组增量备份映像进行重定向恢复的操作。 增量备份映像包含了自最后一次 完整备份操作以来所作的所有更改。 增量 delta 备份映像包含了最后一次( 完整或增量)备份操作以来所作的所有更改。有关更多的增量备份操作的信息,请查阅文章 使用 DB2 增量备份。在成功完成数据库恢复操作之后,在数据库前滚操作期间要对数据库再次应用某些事务,这些事务没有记录在任何数据库备份映像中,但是记录在恢复日志中。

  以下(Windows)示例为您演示了如何成功地执行重定向增量恢复和前滚操作。为了方便起见,我的恢复操作不是在另一台 服务器上执行,而是在同一台机器上的另外一个 实例中进行的,但其原理和步骤与在另外一台 服务器上进行恢复没有什么区别,因为在同一机器上的不同实例在 逻辑上也是完全隔离的。

  本示例中的源实例称为 PROD。目标实例称为 MYINST。我们打算使用 DB2 所附带的 SAMPLE 数据库。本例中的 SAMPLE 数据库将创建在 D 盘上。

提示:
本站部分文章收集于网络,版权归原作者及出版社所有 如果您觉得侵犯了您的版权请来信告诉我们,我们会尽快删除其内容! 本站原创文章版权归本站所有,除特别申明外,大家可以自由转载,但原作者和来自本站的链接必须保留!