DB2 pureScale在线备份恢复实例1
剛剛接觸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)"
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 UTC
DB20000I The ROLLFORWARD command completed successfully.
備注:在DB2中,rollforward操作類似于Oracle的recover操作,整個過程就是把備份期間產生的歸檔日志都應用到數據庫中。
rollforward命令中需要指定歸檔日志的目錄。
至此測試環境數據庫恢復完畢。
?
轉載于:https://www.cnblogs.com/cheneyyu/archive/2012/09/09/2677556.html
總結
以上是生活随笔為你收集整理的DB2 pureScale在线备份恢复实例1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javascript规范以及设计原则
- 下一篇: 【转】sqlserver游标概念与实例全