DB2 pureScale在线备份恢复实例(一)

2014-11-24 18:40:44 · 作者: · 浏览: 0

刚刚接触DB2,对DB2的备份恢复机制不是太熟悉,相关的资料又太少,只好自己慢慢摸索了。


需求


对生产库进行在线压缩备份,备份中包含归档日志,定期将生产库备份恢复到测试环境,确保测试环境采用最新的生产数据。


备注:生产环境与测试环境中,数据文件存储路径不一致,在恢复过程中应注意。


环境


OS:


$ oslevel -s
6100-06-06-1140


数据库


$ pwd
/opt/IBM/db2/V9.8FP5/install


$ ./db2ls


Install 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-ib1


HOSTNAME 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 LOGS


Backup successful. The timestamp for this backup image is : 20120731182910


备注:在线、压缩备份,备份image中包含备份期间产生的所有归档日志


可以使用以下脚本来获取数据库的各种文件的存储路径DBPATH、LOGPATH、DB_STORAGE_PATH


db2 "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)"