db2 前滚会话
admin
2023-05-24 04:02:58
0

前滚会话 - CLP 示例

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(分区数据库环境)

有三个数据库分区:0、1 和 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(分区表 - 在所有数据分区上前滚至日志末尾)

使用表空间 tbsp1、tbsp2 和 tbsp3 创建了分区表,索引在 tbsp0 中。后来,用户对 tbsp4 中的表添加了数据分区,并从 tbsp5 中的表连接了数据分区。可以将所有表空间前滚至日志末尾。

   db2 rollforward db PBARDB to END OF LOGS and stop
           tablespace(tbsp0, tbsp1, tbsp2, tbsp3, tbsp4, tbsp5)

成功完成。

示例 14(分区表 - 在一个表空间上前滚至日志末尾)

最初使用表空间 tbsp1、tbsp2 和 tbsp3 创建了分区表,索引在 tbsp0 中。后来,用户对 tbsp4 中的表添加了数据分区,并从 tbsp5 中的表连接了数据分区。表空间 tbsp4 损坏并要求复原和前滚至日志末尾。

   db2 rollforward db PBARDB to END OF LOGS and stop tablespace(tbsp4)

成功完成。

示例 15(分区表 - 在所有数据分区上前滚到时间点,这些数据分区包括那些已添加、已连接、已拆离或带索引的数据分区)

使用表空间 tbsp1、tbsp2 和 tbsp3 创建了分区表,索引在 tbsp0 中。后来,用户对 tbsp4 中的表添加了数据分区,从 tbsp5 中的表连接了数据分区,并从 tbsp1 拆离了数据分区。用户对分区表使用的所有表空间(包括 INDEX IN 子句中指定的那些表空间)执行前滚到 PIT 操作。

   db2 rollforward db PBARDB to 2005-08-05-05.58.53 and stop 
           tablespace(tbsp0, tbsp1, tbsp2, tbsp3, tbsp4, tbsp5)

成功完成。

示例 16(分区表 - 在一小部分表空间上前滚到 PIT)

使用三个表空间(tbsp1、tbsp2 和 tbsp3)创建了分区表。后来,用户从 tbsp3 中拆离了所有数据分区。只允许在 tbsp1 和 tbsp2 上前滚到 PIT。

   db2 rollforward db PBARDB to 2005-08-05-06.02.42 and stop 
            tablespace( tbsp1, tbsp2)


相关内容

热门资讯

“体感差”与“双速经济” 文/刘胜军近日,《求是》刊发题为“如何看待宏观数据与微观感受“温差””的文章,直击最近几年屡被提及的...
鲁比奥:霍尔木兹海峡协议取得进... 美国国务卿鲁比奥表示,在霍尔木兹海峡自由通行协议方面已经取得了“进展……但尚未最终达成协议”。美国最...
从实验室到产业一线:AI“入海... 新华网北京8月3日电(杨易辰 记者刘军)记者8月3日从自然资源部获悉,今年上半年,我国海洋经济实现稳...
OpenAI和Anthropi... 7月16日,月之暗面发布2.8万亿参数的Kimi K3。AI评测平台Arena联合创始人直言,这可能...
400余名青少年珠算爱好者亮相... 8月2日至3日,2026青少年珠算文化非遗美育大会暨第七届“指尖上的智慧”珠算文化非遗教育成果展演亮...
原创 涨... 01、主力机型集体涨价,热搜两极分化 8月2日0点,小米商城价格悄然刷新:REDMI Turbo 5...
伊朗高官:美试图阻挠伊朗阿曼就... 据伊朗方面4日消息,一名伊朗高级官员说,美国政府试图阻挠伊朗与阿曼之间关于霍尔木兹海峡管理的持续谈判...
铠侠与闪迪发布第十代332层Q... IT之家 8 月 4 日消息,铠侠株式会社今天宣布与闪迪公司共同推出下一代四层单元(QLC)3D 闪...
官方通报卫生巾疑现虫卵:对涉事... 8月4日晚,广西桂林市七星区市场监督管理局发布情况通报:4日,网络上关于“购买的卫生巾疑现虫卵”的信...
奖励一颗小行星命名!中国科学家... 中国科学家又有喜讯了。 综合中国气象报社、科技日报消息,当地时间8月3日,在意大利佛罗伦萨举办的第4...