设为首页 加入收藏

TOP

db2在线增量备份还原测试实例
2012-11-21 11:49:14 来源: 作者: 【 】 浏览:33988次 评论:0


db2在线增量备份还原测试:
系统:window xp
数据库:testdb
数据库要能进行在线(logretain)、增量备份(trackmod),需要修改相应的参数,参数修改之后,与数据库相连的所有应用断开了,修改才会生效。此时,数据库处于暂挂状态,需要做一次离线备份。


1. --修改数据库参数,使之支持在线联机备份
   db2 update db cfg for TestDB using logretain on trackmod on 或者  db2 update db cfg using logretain on trackmod on

2. --可以指定归档日志的存放路径,如将其存入d:\db2arch_log下,脚本如下:
   db2 update db cfg using logarchmeth1 disk:d:\db2arch_log

3. 以上备份策略是在logretain、trackmod都为on的情况下,即采用归档日志的情况,还原时需要回滚日志。如果采用循环日志,即trackmod为on,logretain为off的情况


-=---=-----
--数据库联机备份以及还原实验
  --连接至数据库并插入测试数据
  db2 connect to TestDB
  --插入测试数据
  INSERT INTO test(Message) VALUES(''开始联机数据库备份测试--完全备份'');
  --修改数据库参数,使之支持在线联机备份
  db2 update db cfg for TestDB using logretain on trackmod on
  --执行增量、在线备份之前必须执行离线全备份一次,否则数据库将处于备份暂挂的不可用状态
  --(联机完全备份,时间戳记:20071121160548)
  db2 backup db TestDB online to d:\backup
  --连接至数据库并插入测试数据
  db2 connect to TestDB
  --插入测试数据
  INSERT INTO test(Message) VALUES(''开始联机数据库备份测试--增量备份'');
  --执行联机备份,备份同时再打开一个会话,模拟应用在线(联机增量备份,时间戳记:20071121152922)
  db2 backup db TestDB online incremental to D:\backup
  --模拟灾难,删除数据库!

  ----------重要,此前一定要将活动日志文件备份至另一个路径,保存好,本例中,活动日志保存在 C:\db2admin 下。

    --db2 get db cfg for testdb  可找到日志存放路径,将其下所有日志文件备份至另一个路径保存
  db2 drop db TestDB
  --根据在线完全备份恢复数据库
  db2 restore db TestDB from D:\backup taken at 20071121160548
  --根据在线增量备份恢复数据库
    db2 restore db TestDB incremental automatic from D:\backup taken at 20071121152922
  --恢复后的数据库处于前滚暂挂的不可用状态
  db2 connect to TestDB
  --前滚数据库,并指定归档日志位置,重要!
    db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE OVERFLOW LOG PATH ("C:\db2admin")


注意:
1. 联机备份数据库可以使数据库在备份的同时仍然保持在可用状态.要让数据库支持联机备份,必须更改数据库的日志归档方式。在脱机备份模式下,数据库 采用循环日志方式记录数据库日志,在联机备份模式下,数据库则采用归档日志的方式备份数据库日志
1. 对于联机备份的数据库来说,活动日志和归档日志就 很重要了,一定要经常备份、保存。


说明:
   默认情况下只能对数据库进行离线(脱机)备份,备份时需要断开与备份数据库相连接的进程
   我们一次性修改logretain 、trackmod、userexit 为 on 状态,因为实际应用中多以在线完全备份、在线增量备份为主,此时可以进行任何一种备份。需要强调的是,只要启用了归档日志(logretain=on),就可以进行在线备份,而此时不论是在线备份还是离线备份,还原数据库时都需要回滚日志,才能恢复正常,为此对日志(特别是活动日志)的保存值至关重要的。只要启用了trackmod=on,就可以进行增量备份(累计增量备份和delta增量备份)。如果采用delta增量备份,还原时还要注意还原的顺序(使用automatic让系统自动检索还原顺序自动还原数据库)。

备份还原测试得到的结论:
   备份:
 1. 第一次全量备份编号为1,多次增量备份编号分别为2,3,4,5,6,7,8
 2. 将编号为2,3,4,5,6,7的增量备份删除
 3. copy数据库日志文件至另一个目录,再drop数据库
   还原:
 1. 首先,还原编号为1的全量备份
 2. 然后,还原编号为8的增量备份(还原增量备份时,若删除了某些增量备份,则需要要使用关键字automatic,否则在执行回滚操作时,会失败,并提示
     SQL1119N  因为先前复原不完整或者仍在进行,所以不能连接或激活数据库 "TESTDB"。
     SQLSTATE=57019)
 3. 执行rollforward操作
 
 
 
 java编写定时备份
 http://tech.ccidnet.com/art/982/20100812/2151183_1.html

Tags:增量备份 责任编辑:Mr_bean
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇翻译书籍《PostgreSQL9.0性能调校.. 下一篇索引的原理及索引建立的注意事项

最新文章

热门文章

推荐文章

相关文章