db2數據庫重定向恢復整理

什麼情況下使用重定向?

數據庫復原操作將使用數據庫備份映像來重新創建數據庫。
在下列任何情況下,請使用重定向復原操作:
  • 如果要將備份映像復原到不同於源機器的目標機器
  • 如果要將表空間容器復原到另一個物理位置
  • 如果復原操作由於一個或多個容器不可訪問而失敗
  • 如果要重新定義已定義的存儲器組的路徑
限制:
不能使用重定向復原操作將數據從一個操作系統移至另一個操作系統。
不能在復原過程中創建或刪除存儲器組。
不能在表空間復原過程中修改存儲器組路徑,即使正在復原與存儲器組相關聯的所有表空間時也是如此。


自動生成重定向恢復腳本以及重定向恢復狀態查詢

DB2 提供了命令,供用戶從一次數據庫備份文件中提取數據庫重定向恢復腳本。示例如下,其中 /db2_backup/db2inst1/sample 是數據庫備份文件所在的目錄,20101023180128 是數據庫備份文件的時間戳。
db2 restore db sample from /db2_backup/db2inst1/sample taken at 20101023180128
 redirect generate script redirect_sample.sql 
 DB20000I The RESTORE DATABASE command completed successfully.
所生成的重定向文件 redirect_sample.sql,可以分爲三個部分:

1. Restore 語句

此語句用來標示一個重定向的恢復操作命令開始,它在普通恢復的命令上加了 redirect 參數。

RESTORE DATABASE SAMPLE 
 FROM '/db2_backup/db2inst1/sample'
 TAKEN AT 20101023180128 
 INTO SAMPLE 
 REDIRECT;

2. set containers 語句:

當目標數據庫所的物理存儲設備與原來的數據庫不一樣時,就需要下面的命令來指定新的物理容器。

SET TABLESPACE CONTAINERS FOR 0 
 USING ( 
  PATH '/db2inst1/SAMPLE'
 ); 
 SET TABLESPACE CONTAINERS FOR 1 
 USING ( 
  PATH '/ db2inst1/temp'
 ); 
 SET TABLESPACE CONTAINERS FOR 2 
 USING ( 
  DEVICE '/dev/rsample_1G' 131072 
 ); 
……
小提示:
開新窗口
查看新庫的應用目錄方法
DB2 GET DB CFG FOR 新庫名

從被(部分地)恢復的新數據庫中查看錶空間信息:  
DB2 LIST TABLESPACES SHOW DETAIL

3. restore continue 語句:

此語句代表重定向恢復語句序列完成,系統開始恢復數據庫。

RESTORE DATABASE SAMPLE CONTINUE;


注:

執行第2步時報:

SQL20319N

不允許在自動存儲器表空間上執行 SET TABLESPACE CONTAINERS 命令。

說明

與自動存儲器表空間相關聯的容器受數據庫的控制,不能通過 SET TABLESPACE CONTAINERS 命令重新定義。

用戶響應

要對數據庫中的所有自動存儲器表空間指定一組新的路徑,可使用 RESTORE DATABASE 命令的 ON 選項並指定一個或多個路徑;或將其改爲非自動。

如:db2 restore datatbase dbname from '/home/db2admin' taken at20101023180128 on '/home/db2adinst1' into dbnewname redirect


 

發佈了37 篇原創文章 · 獲贊 10 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章