【IT168 专稿】 使用联机备份的备份映像还原数据库,还原完成时需要进行前滚恢复,如果前滚所需的日志文件损坏或着被删除,将不能完成前滚恢复,数据库将不可用。DB2 V9在做联机备份时新增了INCLUDE LOGS选项,当指定此选项时,BACKUP实用程序将截断当前活动日志文件并将必要的日志扩展数据块集合复制到备份映像中。
联机备份时包含日志文件的方式在还原数据库时和以往有了很大不同,所以本文将对此进行详细的阐述,并通过实际的例子来帮助大家理解和提高。
简介
从DB2 V8.2就已经在联机备份时使用INCLUDE LOGS选项。在进行联机备份操作时,可以在BACKUP DATABASE命令中指定INCLUDE LOGS选项。当指定此选项时,BACKUP 实用程序将截断当前活动日志文件并将必要的日志扩展数据块集合复制到备份映像中。也就是说,备份映像中包含复原和恢复数据库所需的日志文件,不再需要单独的日志文件。数据库自己决定需要哪些日志文件来保证联机备份的一致性,并放到备份映像中,这为成功恢复提供了保证,以防止所需的日志文件损坏或被误删除。
时,通过使用RESTORE DATABASE命令的LOGTARGET选项,可以指定把备份映像中的日志文件放到什么位置。如果指定了LOGTARGET选项,在执行RESTORE DATABASE命令时,DB2将把日志文件放到指定的路径中,如果目标路径中已经存在同名的日志文件,复原操作将失败并返回一个错误。如果未指定LOGTARGET选项,则不会从备份映像中还原任何日志文件。
指定了LOGTARGET选项,但是备份映像中没有包含任何日志文件,则在尝试复原操作时会返回一个错误。如果指定了无效或只读的路径,复原操作会报SQL2581N错误。在指定LOGTARGET选项条件下 ,复原数据库或表空间的过程中,如果不能抽取一个或多个日志文件,则复原操作失败并返回错误。还可以选择只复原保存在备份映像中的日志文件。要执行此操作,可使用RESTORE DATABASE命令的LOGTARGET选项指定LOGS选项。以此方式复原日志文件时,如果复原操作遇到任何问题,则复原操作失败并返回错误。
联机备份时包含日志文件的方式在还原数据库时和以往有了很大不同,另外,DB2日志相关的一些参数也发生了变更,所以本文将对此进行详细的阐述,并通过实际的例子来帮助大家理解和提高。
我们将按照下列顺序介绍联机备份还原:
1. 创建示例数据库DB2TEST1,并把日志改成归档模式,并介绍一下DB2 V9新增的配置参数LOGARCHMETH1。创建示例表TEST1,并插入两条记录。
2. 联机全量备份数据库DB2TEST1,主要讲解一下备份命令的语法以及注意事项并实际演示一下如何联机全量备份数据库DB2TEST1,备份期间对示例表TEST1插入一条记录。
3. 使用联机全量备份映像恢复示例数据库DB2TEST1,并前滚恢复到日志末尾。
4. 修改示例数据库DB2TEST1配置参数TRACKMOD,使其允许跟踪数据库的更新。
5. 在增量模式下联机备份数据库:对示例表TEST1再次插入2条记录,并对示例数据库DB2TEST1进行联机备份;对示例表TEST1再插入两条记录,对示例数据库DB2TEST1进行联机增量备份;对示例表TEST1再插入两条记录,对示例数据库DB2TEST1进行联机差异备份。
6. 手工增量复原示例数据库DB2TEST1。
7. 自动增量复原示例数据库DB2TEST1。