db2 全量+增量数据的备份与恢复

db2 全量+增量数据的备份与恢复

数据库名称以yilitest 为例

1.准备工作

  1. 1 更改数据库参数 logretain, userexit, trackmod 为 on。修改参数的目的:应用中以完全备份、在线增量备份为主。只要启用了归档日志(logretain=on) ,就可以进行在线备份,启用trackmod = on,就可以进行增量备份[(累计增量备份和delta增量备份)。
#1.启用用户出口

db2 update db cfg for yilitest using userexit on

#2.启用归档日志

3.db2 update db cfg for yilitest using logretain on

#启用增量备份功能

db2 update db cfg for yilitest using trackmod on

 

1.2查看归档日志的位置,可以更改归档日志的存储位置(为归档日志文件指定路径可以将归档日志模式打开)

#4.查看数据库配置文件中的日志路径

>db2 get db cfg | grep TRACKMOD

日志文件路径                                            = C:\DB2\NODE0000\SQL00

003\SQLOGDIR\

#5.更改日志文件路径

>db2 update db cfg using logarchmeth1 disk:c:\db2\sample\" 

DB20000I  UPDATE DATABASE CONFIGURATION 命令成功完成。
SQL1363W  未动态更改为立即修改而提交的一个或多个参数。对于这些配置参数,必须在所有
应用程序都与此数据库断开连接之后,更改才会生效。

#6.关闭数据库链接

>db2stop force

2019-09-09  16:16:58     0   0   SQL1064N  DB2STOP 处理成功。
2019-09-09  16:16:59     1   0   SQL1064N  DB2STOP 处理成功。
SQL1064N  DB2STOP 处理成功。

#7.启动数据库

> db2start

2019-09-09  16:17:05     1   0   SQL1063N  DB2START 处理成功。
2019-09-09  16:17:06     0   0   SQL1063N  DB2START 处理成功。
SQL1063N  DB2START 处理成功。

 

2.备份步骤如下:

开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份,目的是解触这种状态。

#8.离线全备份
>db2 backup db yilitest to 'f:qz/archive'

#9.在线全备份

>db2 backup db yilitest online to 'f:qz/archive'

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

#10.向表中插入数据

>db2 insert into regular.yilitest (userid) values (1456)

DB20000I  SQL 命令成功完成。

#11.查看表记录

>db2 select *from regular.yilitest

USERID      UC          TYPE        STATUS

----------- ----------- ----------- -----------

          1           2           3           4

          1           2           3           4

         22          33          44          55

          2           4           5           8

          2           4           3           5

          …………….

89 条记录已选择。

#12.进行增量备份

>db2 backup db yilitest incremental to  'f:qz/archive'

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


#13.向表中插入数据

>db2 insert into regular.yilitest (userid) values (1456)

DB20000I  SQL 命令成功完成。

#14.进行增量备份

db2 backup db yilitest incremental to  'f:qz/archive'

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

 

 

3.恢复步骤如下:

此策略可以恢复到从全量开始任意一天的数据

 3.1重要!将此时的归档日志(C:\DB2\NODE0000\SQL00003\SQLOGDIR\)复制到另外的路径,rollforward数据库到最新状态需要用到这些日志,也可以rollforward  online备份结束状态,但这样就会丢失备份后数据库的状态

#1.模拟灾难(此步骤之前应该先备份日志文件)

>db2 drop db yilitest

#2.执行最后一步增量文件

>db2 restore db yilitest incremental automatic from f:/qz/archive taken at 20190911175323

DB20000I  RESTORE DATABASE 命令成功完成。

#3.执行前滚数据库的操作,文件夹为复制后的文件夹路径

>db2 ROLLFORWARD DATABASE yilitest TO END OF LOGS    AND COMPLETE OVERFLOW  LOG PATH (f:/qz/SQL00003/SQLOGDIR)





                                前滚状态



输入数据库别名                      = yilitest

节点数已返回状态                = 1



节点号                                = 0

前滚状态                                    = 未暂挂

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

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

上次落实的事务                  = 2019-09-11-09.54.19.000000 UTC



B20000I  ROLLFORWARD 命令成功完成。

#4.校验能否成功连上恢复的数据库

>db2 connect to yilitest

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值