WEB开发网
开发学院数据库DB2 利用表空间的备份快速恢复IBM DB2数据库 阅读

利用表空间的备份快速恢复IBM DB2数据库

 2008-09-03 16:25:30 来源:WEB开发网   
核心提示: 如上,LIST HISTORY 命令产生了 4 条输出条目 (EID 7 – EID 10),利用表空间的备份快速恢复IBM DB2数据库(4),它们都和我们数据库的恢复有关,第一个条目, 清单6:结束数据库前滚的命令 db2 rollforward db test stop

如上,LIST HISTORY 命令产生了 4 条输出条目 (EID 7 – EID 10),它们都和我们数据库的恢复有关。第一个条目,EID 7,包含了在 20060517135208 时间点做的备份影像,该备份影像中我们只对 USERSPACE3 做了备份。然而,回顾我们进行数据库恢复时发出的命令,参照清单 4。

清单4:使用ALL TABLESPACES参数恢复数据库

db2 restore db test rebuild with all tablespaces in database taken at 20060517135208

我们使用了ALL TABLESPACES参数要求恢复所有的表空间,所以DB2会利用LIST HISTORY中所看到的其它备份影像来恢复数据库其它的表空间( 注意,在使用 TEST.3.DB2.NODE0000.CATN0000.20060516135136.001备份影像进行恢复时EID=9,虽然该影像包括 USERSPACE2 和 USERSPACE3 的备份,但 DB2只恢复了USERSPACE2,因为 USERSPACE3 已经通过更新的备份影像 TEST.3.DB2.NODE0000.CATN0000.20060517135208.001完成恢复了 )。在完成上述恢复后,表空间将处于 ROLL-FORWARD 状态。通过LIST HISTORY命令,我们可以看到表空间都被置成了 WITH RF 标志,表明这些表空间处于ROLL-FORWARD 状态。另外,为了使该恢复顺利完成,所有备份影像都需要放在 HISTORY FILE所表明的备份路径下,否则 DB2将会给出一个无法找到备份影像的错误提示。

第二步,通过ROLLFORWARD DATABASE命令及TO END OF LOGS选项来前滚数据库TEST,使其恢复到最近的一个同步时间点(Point in Time)。

清单5:前滚数据库到最近的一个同步时间点

db2 rollforward db test to end of logs

当所有表空间恢复完毕,它们将处于rollforward pending的状态,我们需要通过数据库日志和 rollforward 命令来对数据库进行前滚操作,从而将数据库置为正常(Normal)状态。

为了顺利完成前滚操作,从上述备份影像最早一个时间点到最近一个时间点之间的数据库日志必须存在,以用于将上述通过不同时间点备份影像进行恢复的表空间前滚到同一时间点上。本例中,从 20060515135047 到 20060517135208 时间点的日志必须存在,我们才可以将表空间同步到同一个时间点。如果我们还想继续前滚数据库,则我们还需要从 20060517135208 时间点往后的日志文件。

在本例中,我们假设这些日志文件都能够在LOGPATH数据库配置参数所指定的目录中找到,如果它们被移动了位置,则我们还需要在 ROLLFORWARD 命令中通过OVERFLOW LOG PATH选项来指定这些日志文件的新位置。

第三步,通过执行ROLLFORWARD DATABASE命令来结束数据库前滚的状态。

清单6:结束数据库前滚的命令

db2 rollforward db test stop

该命令执行完毕后,TEST数据库就恢复到NORMAL状态,这样您就可以正常使用它了。

上一页  1 2 3 4 

Tags:利用 空间 备份

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接