DB2在线增量备份 还原增量备份及前滚恢复


  本文标签:DB2

  此文章主要向大家讲述的是DB2在线增量备份以及还原增量备份与前滚恢复的实际操作流程,以下就是文章对这些内容的详细描述,望大家在浏览之后会对DB2在线增量备份以及还原增量备份与前滚恢复的实际操作步骤有更好的了解  。

  在线增量备份前提:

  1、更改数据库参数 logretain, userexit, trackmod 为 on2、更改参数之后完全离线备份数据库一次3、之后就可以进行在线、在线增量备份了  。

  说明:在线增量备份前提:

  1、更改数据库参数 logretain, userexit, trackmod 为 on

  2、更改参数之后完全离线备份数据库一次

  3、之后就可以进行在线、DB2在线增量备份了

  测试结果通过,脚本如下  。

  重要!数据库归档日志必须按时备份至另一个地方,本例中为 C:\TESTDB.0\SQLOGDIR

  C:\Documents and Settings\Administrator>cd\

  C:\>db2 drop db TestDB

  DB20000I DROP DATABASE 命令成功完成  。

  C:\>db2 create db TestDB

  DB20000I CREATE DATABASE 命令成功完成  。

  C:\>db2 connect to TestDB

  数据库连接信息

  数据库服务器 = DB2/NT 8.2.0

  SQL 授权标识 = ADMINIST...

  本地数据库别名 = TESTDB

  修改数据库参数,使之支持在线联机备份

  C:\>db2 update db cfg using logretain on userexit on trackmod on

  DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成  。

  SQL1363W 为立即修改而提交的一个或多个参数未动态更改  。对于这些配置参数,必须在所

  有应用程序都与此数据库断开连接之后,更改才会生效  。

  执行增量、在线备份之前必须执行离线全备份一次

  C:\>db2 backup db TestDB

  备份成功  。此备份映像的时间戳记是:20070419144951

  C:\>db2 connect to TestDB

  数据库连接信息

  数据库服务器 = DB2/NT 8.2.0

  SQL 授权标识 = ADMINIST...

  DB2在线增量备份 还原增量备份及前滚恢复

  本地数据库别名 = TESTDB

  创建测试表,并插入测试数据

  C:\>db2 create table T1(C1 int)

  DB20000I SQL 命令成功完成  。

  C:\>db2 insert into T1(C1) values (1)

  DB20000I SQL 命令成功完成  。

  执行在线增量数据库备份

  C:\>db2 backup db TestDB online incremental

  备份成功  。此备份映像的时间戳记是:20070419145112

  模拟灾难,删除数据库! (注意,此前一定要将归档日志文件备份至另一个路径,保存好)

  C:\>db2 drop db TestDB

  DB20000I DROP DATABASE 命令成功完成  。

  根据DB2在线增量备份恢复数据库

  C:\>db2 restore db TestDB incremental automatic from "c:" taken at 2007041914511

  2

  DB20000I RESTORE DATABASE 命令成功完成  。

  恢复后的数据库处于前滚暂挂状态,不可用

  C:\>db2 connect to TestDB

  SQL1117N 由于 ROLL-FORWARD PENDING,不能连接或激活数据库 "TESTDB"  。

  SQLSTATE=57019

  前滚数据库,并指定归档日志位置,重要!

  C:\>db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE OVERFLOW LOG PAT

  H ("C:\TESTDB.0\SQLOGDIR")

  前滚状态

  输入数据库别名 = TESTDB

  节点数已返回状态 = 1

  节点号 = 0

  前滚状态 = 未暂挂

  下一个要读取的日志文件 =

  已处理的日志文件 = S0000001.LOG - S0000001.LOG

  上次落实的事务 = 2007-04-19-06.51.22.000000

  DB20000I ROLLFORWARD 命令成功完成  。

  恢复据库完成,前滚完成,查询测试数据

  C:\>db2 connect to TestDB

  数据库连接信息

  数据库服务器 = DB2/NT 8.2.0

  SQL 授权标识 = ADMINIST...

  本地数据库别名 = TESTDB

  C:\>db2 select * from T1

  C1

  1

  1 条记录已选择  。

  测试全部正常,退出

  C:\>db2 connect reset

  DB20000I SQL 命令成功完成  。

  C:\>db2 terminate

  DB20000I TERMINATE 命令成功完成  。