db2數據庫重定向恢復
2015/12/04 14:07
瀏覽713
迴響0
推薦0
引用0
有時候在只有一個備份的數據庫文件,
不知道原始庫日誌路徑、表空間容器路徑等情況下從備份文件中找出相關信息
示例從備份庫路徑/db2data/test1,恢復到另一臺機器的/db2log/test1上
------------------------------------------------------------------
生成重定向恢復的腳本
db2 restore db from . taken at 20120607164057 REDIRECT GENERATE SCRIPT rest1.sh
參數 REDIRECT GENERATE SCRIPT rest1.sh 指定生成恢復腳本
文件開始處恢復語句裏的
-- ON '/db2data/test1'
-- DBPATH ON ''
-- NEWLOGPATH '/db2data/test1/db2admin/NODE0000/SQL00001/SQLOGDIR/'
3個值是備份的數據庫實際使用的路徑,按需修改成新路徑並取消註釋
ON '/db2log/test1'
DBPATH ON '/db2log/test1'
NEWLOGPATH '/db2log/test1/log'
文件末會列出自定義的表空間容器路徑,按需修改路徑或改成裸設備
------------------------------------------------------------------
以下是修改後的腳本
db2 restore db from . taken at 20120607164057 on /db2log/test1 dbpath on /db2log/test1 newlogpath /db2log/test1/log redirect
db2 "set tablespace containers for 3 using (File '/db2log/test1/tab1.dbf' 51200) "
db2 "set tablespace containers for 4 using (File '/db2log/test1/tab2.dbf' 25600) "
db2 "set tablespace containers for 5 using (PATH '/db2log/test1/usertemp1' ) "
db2 "set tablespace containers for 6 using (device '/dev/rTEST_01' 262000, device '/dev/rTEST_02' 262000 )"
db2 restore db continue
執行後恢復成功。
其它註意:
在要還原的機器上創建相同的組、用戶
/etc/security/limits 裏用戶限制
db2set 環境變量修改
代碼頁不同,檢查 db2set -all 結果新舊機器上的不同,
修改 db2set db2codepage=1386, db2 terminate 刷新後生效。
恢復後,數據庫軟件版本比備份庫上新,會升級數據庫。自動升級出錯後手工執行升級
db2 upgrade db
恢復完成後不能連接,提示處於 ROLL-FORWARD PENDING 狀態
db2 ROLLFORWARD DATABASE / TO END OF LOGS AND COMPLETE
在備份數據庫時使用 db2pd -db -tablespaces
列出並保存全部表空間和容器類型、路徑信息,在恢復時可直接使用
你可能會有興趣的文章:
限會員,要發表迴響,請先登入


