刚刚接触DB2,对DB2的备份恢复机制不是太熟悉,相关的资料又太少,只好自己慢慢摸索了。
需求对生产库进行在线压缩备份,备份中包含归档日志,定期将生产库备份恢复到测试环境,确保测试环境采用最新的生产数据。备注:生产环境与测试环境中,数据文件存储路径不一致,在恢复过程中应注意。
环境OS:$ oslevel -s
6100-06-06-1140数据库:$ pwd
/opt/IBM/db2/V9.8FP5/install$ ./db2lsInstall Path Level Fix Pack Special Install Number Install Date Installer UID
---------------------------------------------------------------------------------------------------------------------
/opt/IBM/db2/V9.8 9.8.0.4 4 12 Mon Jun 4 16:19:38 2012 +0800 0
/opt/IBM/db2/V9.8FP5 9.8.0.5 5 Fri Jul 13 15:22:55 2012 +0800 0 $ db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME
-- ---- ----- --------- ------------ ----- ---------------- ------------ -------
0 MEMBER STARTED SXYCDBM0 SXYCDBM0 NO 0 0 SXYCDBM0-ib0
1 MEMBER STARTED SXYCDBM1 SXYCDBM1 NO 0 0 SXYCDBM1-ib0
128 CF PRIMARY SXYCDBF0 SXYCDBF0 NO - 0 SXYCDBF0-ib0,SXYCDBF0-ib1
129 CF PEER SXYCDBF1 SXYCDBF1 NO - 0 SXYCDBF1-ib0,SXYCDBF1-ib1HOSTNAME STATE INSTANCE_STOPPED ALERT
-------- ----- ---------------- -----
SXYCDBF1 ACTIVE NO NO
SXYCDBF0 ACTIVE NO NO
SXYCDBM1 ACTIVE NO NO
SXYCDBM0 ACTIVE NO NO备注:这是一个2个Member和2个CF的pureScale环境。
备份:$ db2 backup db $DBNM online to /db2fs/db2backup/backup compress INCLUDE LOGSBackup successful. The timestamp for this backup image is : 20120731182910备注:在线、压缩备份,备份image中包含备份期间产生的所有归档日志可以使用以下脚本来获取数据库的各种文件的存储路径DBPATH、LOGPATH、DB_STORAGE_PATHdb2 "select substr(type,1,20) as type, substr(path,1,80) as path from sysibmadm.dbpaths order by type"
恢复将生产库的备份集ftp到测试环境,开始恢复数据库1. 还原数据文件db2 restore db $DBNM from /db2fs/db2backup/yuch/20120731 on /db2fs/sxdata DBPATH ON /db2fs/sxlog NEWLOGPATH /db2fs/sxlog/db2sdin1/SX2/DBPARTITION0000/LOGSTREAM0000/
备注:测试环境的数据库存储路径、数据文件存储路径,以及在线日志的存储路径与生产环境不一致,在恢复过程中需要修改路径。/db2fs/sxdata为DB_STORAGE_PATH,即数据库存储路径/db2fs/sxlog为DBPATH,即数据文件的存储路径/db2fs/sxlog/db2sdin1为NEWLOGPATH,即在线日志存储路径
2.还原归档日志文件db2 restore db $DBNM logs from /db2fs/db2backup/yuch/20120731 logtarget /db2fs/db2backup/archive_log/sx2/db2sdin1/SX2
备注:将备份集中的归档日志还原到指定目录logtarget即新指定的归档日志路径3.前滚数据库到备份结束时间点$ db2 "rollforward db sx2 to end of logs and stop overflow log path (/db2fs/db2backup/archive_log/sx2)" Rollforward Status Input database alias = sx2
Number of members have returned status = 2 Member ID Rollforward Next log Log files processed Last committed transaction
status to be read
----------- -------------------------- ------------------- ------------------------- --------------------------
0 not pending S0000095.LOG-S0000095.LOG 2012-07-31-03.22.53.000000 UTC
1 not pending S0000313.LOG-S0000313.LOG 2012-07-31-03.22.53.000000 UTCDB20000I The ROLLFORWARD command completed successfully.备注:在DB2中,rollforward操作类似于Oracle的recover操作,整个过程就是把备份期间产生的归档日志都应用到数据库中。rollforward命令中需要指定归档日志的目录。至此测试环境数据库恢复完毕。DB2创建数据库示例搭建NagiosQL管理配置Nagios相关资讯 DB2
- RHEL5 下安装 DB2 V9.7 数据库 (今 09:39)
- DB2常用脚本整理 (01月19日)
- Linux下DB2SQL1024N A database (01月12日)
| - DB2中REVERSE函数的实现 (01月19日)
- 使用 IBM Data Studio 创建和管理 (01月12日)
- TOAD连接DB2报错SQL1460N解决 (01月12日)
|
本文评论 查看全部评论 (0)