示例 1
ROLLFORWARD DATABASE 命令允许每次指定多个操作,各个操作由关键字 AND 隔开。例如,要前滚至日志末尾,然后完成,可将下列独立的命令:
      db2 rollforward db sample to end of logs
      db2 rollforward db sample complete
组合为:
      db2 rollforward db sample to end of logs and complete
虽然这两种方法是等效的,但建议您分两个步骤来完成此类操作。在停止前滚操作前应验证它是否已取得预期的进度,以免丢失任何日志,这一点很重要。
如果前滚命令遇到错误,前滚操作就无法完成。在这种情况下,将返回该错误,这样,您就能够修正该错误并重新发出以上命令。但是,如果无法修正该错误,那么可以通过发出以下命令强制前滚完成:
      db2 rollforward db sample complete
此命令使数据库联机并复原到发生故障前日志点。
示例 2
将数据库前滚至日志末尾(已复原了两个表空间):
      db2 rollforward db sample to end of logs
      db2 rollforward db sample to end of logs and stop
这两个语句是等效的。不需要 AND STOP AND COMPLETE 表空间就可以前滚恢复到日志末尾。不需要表空间名称。如果未指定,将包括所有需要前滚恢复的表空间。如果将只前滚这些表空间的一个子集,那么必须指定它们的名称。
示例 3
复原了 3 个表空间后,将其中一个前滚到日志末尾,另两个前滚到某时间点,所有操作都要联机执行:
      db2 rollforward db sample to end of logs tablespace(TBS1) online
  db2 rollforward db sample to 1998-04-03-14.21.56 and stop
      tablespace(TBS2, TBS3) online
应注意,两个前滚操作不能并发运行。只有在成功地完成了第一个前滚操作后,才能调用第二个命令。
示例 4
复原数据库后,前滚到某时间点,使用 OVERFLOW LOG PATH 来指定用户出口用来保存已归档日志的目录:
  db2 rollforward db sample to 1998-04-03-14.21.56 and stop
            overflow log path (/logs)
示例 5
在以下示例中,有一个称为 sample 的数据库。备份该数据库,在备份映像中包含恢复日志;复原该数据库;然后,将该数据库前滚到备份时间戳记末尾。
备份该数据库,在备份映像中包含恢复日志:
  db2 backup db sample online include logs
使用备份映像复原该数据库:
      db2 restore db sample
将该数据库前滚到备份时间戳记末尾:
  db2 rollforward db sample to end of backup
示例 6(分区数据库环境)
有三个数据库分区:01 2。在所有数据库分区上定义表空间 TBS1,在数据库分区 0 2 上定义表空间 TBS2。在数据库分区 1 上复原了数据库,并在数据库分区 0 2 上复原了 TBS1 之后,在数据库分区 1 上前滚数据库:
      db2 rollforward db sample to end of logs and stop
这会返回警告 SQL1271(已恢复数据库,但数据库分区 0 2 上的一个或多个表空间处于脱机状态)。
      db2 rollforward db sample to end of logs
此命令在数据库分区 0 2 上前滚 TBS1。在这种情况下,子句 TABLESPACE(TBS1) 是可选的。
示例 7(分区数据库环境)
在以下示例中,有一个称为 sample 的分区数据库。使用单系统视图备份备份所有数据库分区;在所有数据库分区上复原该数据库;将该数据库前滚到备份时间戳记末尾。
执行单系统视图(SSV)备份:
  db2 backup db sample on all nodes online include logs
在所有数据库分区上复原该数据库:
  db2_all "db2 restore db sample taken at 1998-04-03-14.21.56"
将该数据库前滚到备份时间戳记末尾:
  db2 rollforward db sample to end of backup on all nodes
示例 8(分区数据库环境)
在以下示例中,有一个称为 sample 的分区数据库。使用 db2_all,通过一个命令备份所有数据库分区;在所有数据库分区上复原该数据库;并将该数据库前滚到备份时间戳记末尾。
使用 db2_all,通过一个命令备份所有数据库分区:
  db2_all "db2 backup db sample include logs to /shared/dir/"
在所有数据库分区上复原该数据库:
  db2_all "db2 restore db sample from /shared/dir/"
将该数据库前滚到备份时间戳记末尾:
  db2 rollforward db sample to end of backup on all nodes
示例 9(分区数据库环境)
只在数据库分区 0 2 上复原表空间 TBS1 之后,在数据库分区 0 2 上前滚 TBS1
      db2 rollforward db sample to end of logs
忽略数据库分区 1
  db2 rollforward db sample to end of logs tablespace(TBS1)
此命令失败,因为 TBS1 未对在数据库分区 1 上进行前滚恢复作好准备。报告 SQL4906N
  db2 rollforward db sample to end of logs on
            dbpartitionnums (0, 2) tablespace(TBS1)
成功完成。
  db2 rollforward db sample to 1998-04-03-14.21.56 and stop
            tablespace(TBS1)
此命令失败,因为 TBS1 未对在数据库分区 1 上进行前滚恢复做好准备;必须将所有段一起前滚。
注: 在将表空间前滚到某时间点之后,将不接受 dbpartitionnum 子句。前滚操作必须在表空间所在的所有数据库分区上进行。
在数据库分区 1 上复原 TBS1 后:
  db2 rollforward db sample to 1998-04-03-14.21.56 and stop
            tablespace(TBS1)
成功完成。
示例 10(分区数据库环境)
在所有数据库分区上复原表空间后前滚至 PIT2,但不指定 AND STOP。前滚操作仍在进行中。取消并前滚至 PIT1
  db2 rollforward db sample to pit2 tablespace(TBS1)
      db2 rollforward db sample cancel tablespace(TBS1)
  ** restore TBS1 on all dbpartitionnums **
      db2 rollforward db sample to pit1 tablespace(TBS1)
      db2 rollforward db sample stop tablespace(TBS1)
示例 11(分区数据库环境)
前滚恢复 db2nodes.cfg 文件中列示的 8 个数据库分区(3 10)上的表空间:
      db2 rollforward database dwtest to end of logs tablespace (tssprodt)
前滚恢复至日志末尾(而不是时间点)的操作成功完成。不必指定表空间所在的数据库分区。实用程序缺省到 db2nodes.cfg 文件。
示例 12(分区数据库环境)
前滚恢复单一数据库分区数据库分区组(在数据库分区 6 上)上的 6 个小表空间:
  db2 rollforward database dwtest to end of logs on dbpartitionnum (6)
            tablespace(tsstore, tssbuyer, tsstime, tsswhse, tsslscat, tssvendor)
前滚恢复至日志末尾(而不是时间点)的操作成功完成。
示例 13(分区表 - 在所有数据分区上前滚到日志末尾)
使用表空间 tbsp1tbsp2 tbsp3 创建了分区表,索引在 tbsp0 中。后来,用户对 tbsp4 中的表添加了数据分区,并从 tbsp5 中的表连接了数据分区。可以将所有表空间前滚到日志末尾。
  db2 rollforward db PBARDB to END OF LOGS and stop
db2数据库安装          tablespace(tbsp0, tbsp1, tbsp2, tbsp3, tbsp4, tbsp5)
成功完成。
示例 14(分区表 - 在一个表空间上前滚到日志末尾)
最初使用表空间 tbsp1tbsp2 tbsp3 创建了分区表,索引在 tbsp0 中。后来,用户对 tbsp4 中的表添加了数据分区,并从 tbsp5 中的表连接了数据分区。表空间 tbsp4 损坏并要求复原和前滚到日志末尾。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。