1.首先开启归档日志模式
db2 update db cfg for testdb using logarchmeth1 disk:/db2cfg获取db cfg相关日志配置信息:
db2 get db cfg for testdb|grep -i log:Path to log files                                       = /db2cfg/test/NODE0000/SQL00001/SQLOGDIR/Overflow log path                     (OVERFLOWLOGPATH) = Mirror log path                         (MIRRORLOGPATH) = First active log file                                   = S0000004.LOGBlock log on disk full                (BLK_LOG_DSK_FUL) = NOBlock non logged operations            (BLOCKNONLOGGED) = NOPercent max primary log space by transaction  (MAX_LOG) = 0Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0Percent log file reclaimed before soft chckpt (SOFTMAX) = 520Log retain for recovery enabled             (LOGRETAIN) = RECOVERYUser exit for logging enabled                (USEREXIT) = OFFHADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNCFirst log archive method                 (LOGARCHMETH1) = DISK:/db2cfg/
2.测试环境较为简单testdb中只有一张表
[test@demo sqllib]$ db2 "select * from tb1"ID          NAME
----------- ----------1 yo        2 yo2       3 yo3       6 yo6       4 record(s) selected.发起在线备份:
[test@demo sqllib]$ db2 backup db testdb online include logs
Backup successful. The timestamp for this backup image is : 20181231144308备份成功后可以查看:
db2 list history backup all for testdbOp Obj Timestamp+Sequence Type Dev Earliest Log Current Log  Backup ID-- --- ------------------ ---- --- ------------ ------------ --------------B  D  20181231144308001   N    D  S0000004.LOG S0000004.LOG  ----------------------------------------------------------------------------Contains 3 tablespace(s):00001 SYSCATSPACE                                                           00002 USERSPACE1                                                            00003 SYSTOOLSPACE                                                          ----------------------------------------------------------------------------Comment: DB2 BACKUP TESTDB ONLINE                                         Start Time: 20181231144308End Time: 20181231144310Status: A----------------------------------------------------------------------------EID: 14 Location: /home/test/Earliest Log是S0000004.LOG,表明S0000004.LOG之前的日志都同步至磁盘文件,数据库已备份,
该备份前滚恢复的时候都不需要S0000004.LOG之前的日志。
3.在线全备份成功后,继续往表插入数据:
[test@demo sqllib]$ db2 "insert into tb1 values(13,'yo13'),(16,'yo16')"
DB20000I  The SQL command completed successfully.
[test@demo sqllib]$ db2 "select * from tb1"ID          NAME
----------- ----------1 yo        2 yo2       3 yo3       6 yo6       13 yo13      16 yo16      6 record(s) selected.备份数据库的活动和归档日志(以测试前滚至最新状态)
[test@demo ~]$ cp -R /db2cfg/test/NODE0000/SQL00001/SQLOGDIR .
[test@demo ~]$ ls
sqllib  SQLOGDIRdrop掉数据库
[test@demo ~]$ db2 drop db testdb
DB20000I  The DROP DATABASE command completed successfully.
4.恢复数据库
[test@demo db2cfg]$ db2 restore db testdb
SQL2542N  No match for a database image file was found based on the source
database alias "TESTDB" and timestamp "" provided.---指定恢复介质路径再试一遍:
[test@demo db2cfg]$ db2 restore db testdb from /home/test/sqllib
SQL2539W  Warning!  Restoring to an existing database that is the same as the
backup image database.  The database files will be deleted.
Do you want to continue ? (y/n) y
DB20000I  The RESTORE DATABASE command completed successfully.连接失败,数据库处于ROLL-FORWARD PENDING状态:
[test@demo ~]$ db2 connect to testdb
SQL1117N  A connection to or activation of database "TESTDB" cannot be made
because of ROLL-FORWARD PENDING.  SQLSTATE=57019
5.rollforward数据库到最新状态,如果没有最新的活动日志和归档日志,可以rollforward到online备份结束状态db2 rollforward db testdb to end of backup and stop但这样就会丢失备份后数据库的状态。[test@demo SQLOGDIR]$  db2 rollforward db testdb to end of logs and complete overflow log path \(/home/test/SQLOGDIR\)Rollforward StatusInput database alias                   = testdbNumber of nodes have returned status   = 1Node number                            = 0Rollforward status                     = not pendingNext log file to be read               =Log files processed                    = S0000004.LOG - S0000006.LOG--(前滚需要的日志)Last committed transaction             = 2018-12-31-06.48.08.000000 UTC
DB20000I  The ROLLFORWARD command completed successfully.前滚获取日志的顺序:1.活动日志目录,若找到则使用该目录下日志,如果没找到则检查22.overflow log path日志文件3.最后检查logarchmeth1指定的归档日志位置对于2与3获取的日志将要先放入db2活动日志目录,前滚完成后,db2将从活动目录删除这些日志文件前滚结束后,connect to testdb可以查询备份后新插入的2条数据:
[test@demo SQLOGDIR]$ db2 "select * from tb1"ID          NAME
----------- ----------1 yo        2 yo2       3 yo3       6 yo6       13 yo13      16 yo16      6 record(s) selected.
6.查看恢复后数据库的数据库目录和表空间容器位置:因为恢复的时候没指定TO/DBPATH ON/ON等目录位置:[test@demo SQLOGDIR]$ db2 get dbm cfg|grep -i dftdbDefault database path                       (DFTDBPATH) = /home/test所以恢复后本地数据库目录在DFTDBPATH /home/test下面了[test@demo SQLOGDIR]$ db2 list db directorySystem Database DirectoryNumber of entries in the directory = 1
Database 1 entry:Database alias                       = TESTDBDatabase name                        = TESTDBLocal database directory             = /home/test[test@demo SQLOGDIR]$ db2 list db directory on /home/testLocal Database Directory on /home/testNumber of entries in the directory = 1
Database 1 entry:Database alias                       = TESTDBDatabase name                        = TESTDBDatabase directory                   = SQL00001Database release level               = d.00但是数据库表空间文件存储位置等依旧在/db2data下,(drop掉前,testdb的路径是on /db2data  dbpath on /db2cfg), 可查看数据库表空间的路径:db2pd -db testdb -tablespacesdb2 list tablespace containers for 3 show detail其实数据库恢复可以指定数据库目录和自动存储路径(即使用自动存储表空间路径),比如异机恢复
到新目录,提供3个参数TO,DBPATH on和ON三个选项,
1.
如果目标库不存在,则restore的TO选项和DBPATH ON选项指定目标库的数据库目录,ON用来指定
自动存储位置,若只指定ON,那么本地数据库目录将会使用ON的第一个目录,
若3个参数都没指定,使用DFTDBPATH作为数据库目录,保留原有的自动存储路径。
2.
如果目标库存在,则忽略TO选项和DBPATH ON选项,若指定ON则改变自动存储路径,否则保留原有
自动存储路径。对于异机恢复,上面参数并不能修改非自动存储路劲,于使用非自动存储路径的表空间容器,DB还
提供了redirect恢复方式来修改恢复目标位置.
db2 restore db <dbname> redirect
db2 "set tablespace container for id using (new path)"
db2 restore db <dbname> continue

DB2的rollforward前滚恢复相关推荐

  1. db2 处理linux时间戳,如何获取DB2表空间前滚操作所需的最小恢复时间戳记

    产品:DB2 UDB 平台:跨平台 版本:V8.2,V8.3 本文提供了获取 DB2 数据库表空间前滚恢复操作的所要求最小恢复时间戳记的三种方法. 对于启用了前滚恢复方式(使用归档日志模式)的 DB2 ...

  2. 深入了解Oracle前滚恢复rolling forward(一)

    偶然的一次,网友在t.askmaclean.com ASK Maclean Home提问了关于11.2 上一个ORA-600问题的解决途径,我们这里不讨论该ORA-600[kcratr_nab_les ...

  3. db2设置数据库增量备份_DB2在线增量备份 还原增量备份及前滚恢复

    1.更改数据库参数 logretain, userexit, trackmod 为 on 2.更改参数之后完全离线备份数据库一次 3.之后就可以进行在线.在线增量备份了 测试结果通过,脚本如下. 重要 ...

  4. DB2 pureScale在线备份恢复实例1

    刚刚接触DB2,对DB2的备份恢复机制不是太熟悉,相关的资料又太少,只好自己慢慢摸索了. 需求 对生产库进行在线压缩备份,备份中包含归档日志,定期将生产库备份恢复到测试环境,确保测试环境采用最新的生产 ...

  5. linux db2在线备份,DB2 pureScale在线备份恢复实例

    刚刚接触DB2,对DB2的备份恢复机制不是太熟悉,相关的资料又太少,只好自己慢慢摸索了. 需求 对生产库进行在线压缩备份,备份中包含归档日志,定期将生产库备份恢复到测试环境,确保测试环境采用最新的生产 ...

  6. DB2数据库指定时间点恢复案例

    公司一生产环境AIX主机上的DB2数据库,由于开发人员的误操作,造成一个重要表的被删除,需要进行恢复.为了安全,不能在生产环境的数据库上进行操作,需要放到测试环境进行恢复. 问了一下开发人员,表被删除 ...

  7. db2 前滚数据库_db2 前滚会话

    前滚会话 - CLP 示例 ROLLFORWARD DATABASE 命令允许每次指定多个操作,各个操作由关键字 AND 隔开.例如,要前滚至日志末尾,然后完成,可将下列独立的命令:db2 rollf ...

  8. db2怎么恢复误删除的数据_DB2误删数据后的恢复方法实践

    1.在源库中使用以下语句生成重定向脚本: db2 "restore db dbname from /yourdbparth taken at timestamp into dbname re ...

  9. Windows Server下DB2自动备份、复原和前滚的脚本编程

    最近在参与负责某线上MySQL项目时,客户要求实现MySQL数据库备份.复原和前滚的全流程自动化. 在RHEL下使用Perl语言编写脚本结合CRON指令来共同实现MySQL数据库备份.复原和前滚流程的 ...

最新文章

  1. Redis 通用操作1
  2. Android json操作之取得一个对象
  3. H264格式具体说明
  4. diag--创建对角矩阵
  5. 使计算机工作必不可缺的软件,探讨测绘工程中计算机制图的运用问题(原稿)
  6. mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)
  7. android广播唤醒app,Android APP唤醒打开其他APP
  8. ASP如何限定中英文混合的文字输出字数?
  9. 数字图像处理实验6图像编码
  10. 查看ssis执行日志_SSIS包日志记录概述
  11. mybatis原始mapper开发未集成springMVC
  12. 英特尔12代酷睿处理器强势来袭
  13. Python 获取 Flash SWF 文件宽度和高度(Width, Height)
  14. 计算机硬件故障诊断的原则,计算机硬件常见故障诊断和维护.doc
  15. 读取图像数据:通过append方法
  16. 借助 Lucene.Net 构建站内搜索引擎(下)
  17. 医学图像数据集:肝脏和肿瘤分割数据集
  18. 404是什么意思,404错误页面有什么用?
  19. EMUI10安装java_速升级!荣耀Play推EMUI 9.1正式版更新:方舟编译器和EROFS系统来了 - IT之家...
  20. 一位博士在华为的22年

热门文章

  1. h5页面 请在微信客户端打开链接_请在微信客户端打开链接 html
  2. 美国经济学教授Tyler Cowen:互联网正在动摇美国私有制根基
  3. 上古卷轴nmm_您在《上古卷轴》中认识的人
  4. Cameralink转SDI接口转换器 产品模块
  5. 想了解英特尔傲腾?看这一篇就够了
  6. java校园爱心公益平台设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  7. DM642接CMOS摄像头驱动(OV7725)终于搞定了
  8. VMware中Mac虚拟机开机出现“电脑因出现问题而重新启动,请按一下按键,或等几秒钟以继续启动。”
  9. 怎么使用PluginBase进行Tekla二次开发
  10. GoodNotes 模板分享