Contents ...
udn網路城邦
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

列出並保存全部表空間和容器類型、路徑信息,在恢復時可直接使用
全站分類:知識學習 科學百科
自訂分類:不分類
上一則: 為什麽要虛擬化
下一則: 何謂FTP服務器

限會員,要發表迴響,請先登入