--Step1:完全备份数据库(脱机,备份时间戳记为 20071121152940)
db2 backup db TestDB to D:/DB2_Train
--Step2:模拟灾难,强制删除数据库
db2 drop db TestDB
--Step3:根据该数据库完全备份还原数据库
db2 restore db TestDB from D:/DB2_Train taken at 20071121152940
4.3 DB2 数据库增量备份与恢复实验
脚本清单
--数据库增量备份以及还原实验 --修改数据库参数 TrackMod ,使之支持数据库进行增量备份 db2 update db cfg using TrackMod YES
--更改参数后必须完全离线备份数据库(脱机,备份时间戳记为 20071121153818) db2 backup db TestDB to D:/DB2_Train
--插入测试数据 INSERTINTO TestTable(Message)
VALUES('开始增量数据库备份测试');
--开始增量备份(脱机,备份时间戳记为 20071121154006) db2 backup db TestDB incremental to D:/DB2_Train
--删除数据库,模拟数据灾难 db2 drop db TestDB
--首先还原至完全离线备份状态 db2 restore db TestDB from D:/DB2_Train taken at 20071121153818--还原至增量离线备份状态 db2 restore db TestDB incremental automatic from D:/DB2_Train taken at 20071121154006--注意:上述语句中,有一个 automatic ,它表示无论有多少个增量备份,系统将全自动检索恢复数据库的顺序并自动恢复数据库。如果没有 automatic ,则需要多次手动恢复数据库,很麻烦而且容易出错。 --Step3:根据该数据库完全备份还原数据库 db2 restore db TestDB from D:/DB2_Train taken at 20071121152940--还原数据库后查询测试表数据检验数据是否恢复成功
--数据库联机备份以及还原实验 --连接至数据库并插入测试数据 db2 connect to TestDB
--插入测试数据 INSERTINTO TestTable(Message)
VALUES('开始联机数据库备份测试--完全备份');
--修改数据库参数,使之支持在线联机备份 db2 update db cfg for TestDB using logretain on trackmod on--执行增量、在线备份之前必须执行离线全备份一次,否则数据库将处于备份暂挂的不可用状态
--(联机完全备份,时间戳记:20071121160548) db2 backup db TestDB
--连接至数据库并插入测试数据 db2 connect to TestDB
--插入测试数据 INSERTINTO TestTable(Message)
VALUES('开始联机数据库备份测试--增量备份');
--执行联机备份,备份同时再打开一个会话,模拟应用在线(联机增量备份,时间戳记:20071121152922) db2 backup db TestDB online incremental to D:/DB2_Train
--模拟灾难,删除数据库!
--重要,此前一定要将活动日志文件备份至另一个路径,保存好,本例中,活动日志保存在 C:/db2admin 下。 db2 drop db TestDB
--根据在线完全备份恢复数据库 db2 restore db TestDB from D:/DB2_Train taken at 20071121160548--根据在线增量备份恢复数据库 db2 restore db TestDB incremental automatic from D:/DB2_Train taken at 20071121152922--恢复后的数据库处于前滚暂挂的不可用状态 db2 connect to TestDB
--前滚数据库,并指定归档日志位置,重要! db2 ROLLFORWARD DATABASE TESTDB TOENDOF LOGS AND COMPLETE OVERFLOW LOG PATH ("C:/db2admin")
五. 综述
对于数据库管理人员或者维护人员来说,怎么强调数据库备份的重要性都不为过。
希望本文能抛砖引玉,能让大家对 IBM DB2 UDB 的数据库备份与恢复有一些深入的认识。也希望大家能在本机上按照本文的脚本认真的做一次实验,这样,你的认识会更加深刻。