| 導購 | 订阅 | 在线投稿
分享
 
 
 

如何使用重定向恢複操作克隆DB2數據庫

來源:互聯網  2008-06-01 03:25:02  評論

這篇論壇文章(賽迪網技術社區)主要介紹了使用重定向恢複操作克隆DB2數據庫的具體方法及示例,詳細內容請參考下文。

如何使用數據庫恢複操作使用數據庫備份映象來重新創建數據庫。如果要將數據庫從一台機器克隆到另一台,最簡單的方法就是從備份映象恢複數據庫。數據庫使用的文件系統路徑也包含在備份映象中。因此,除非源系統上的數據庫引用的文件系統和物理設備與目標系統的設置方法完全相同,否則就需要執行重定向恢複操作。

提示:如果有DB2 V8,就可以從任何高位優先服務器獲取備份,並將它恢複到任何其它高位優先服務器。例如,您可以將備份映象從 DB2 for HP-UX 恢複到 DB2 for AIX® 或 Sun Solaris。但是,這並不適用于 Windows 和 Linux。

重定向恢複操作包括兩步數據庫恢複過程,並且中間有一個表空間容器定義步驟:

帶REDIRECT選項發出 RESTORE DATABASE 命令。

使用 SET TABLESPACE CONTAINERS 命令來定義被恢複的數據庫的表空間容器(DB2需要知道您想要讓表空間駐留在目標系統上的什麽位置)。

再次發出 RESTORE DATABASE 命令,這次指定 CONTINUE 選項。

整個重定向恢複操作必須在同一個會話中調用;否則,將返回 SQL0900N,恢複操作會失敗,記住這一點很重要。確保不會發生這種情況的一個方法是創建並運行包含重定向恢複過程中全部三部分的腳本。

以下(Windows)示例顯示了如何成功地執行重定向恢複操作。我將演示如何從不同的 實例恢複備份映象,而不是從另一台 服務器恢複備份映象。原理相同,細節也一樣。

本示例中的源實例名爲 PROD。目標實例名爲 MYINST。將要在 MYINST 上被恢複(創建)的 PROD 上的現有數據庫名爲 MOVIES。MOVIES 數據庫在 D 盤上。

創建PROD上的 MOVIES 數據庫的完整數據庫備份映象:

set DB2INSTANCE=PROD

db2start

db2 backup db movies

這個映象的時間戳記是 20021006213640 ,該映象在 D:\MOVIES.0\PROD\NODE0000\CATN0000\20021006 中。DB2 在發出 BACKUP DATABASE 命令的目錄中創建這個子目錄樹。子目錄名稱表示以下含義:

\\\\

在這個子目錄樹中,將會有一個表示實際備份映象的文件(213640.0)。文件名表示獲取備份的時間。

創建相似的路徑(使用 MYINST 代替 PROD):

md MOVIES.0\MYINST\NODE0000\CATN0000\20021006

這是關鍵步驟:如果沒有正確創建這個路徑,後續的數據庫恢複操作就會失敗。如果正在將備份映象重新定位到另一台機器,那麽在目標機器上創建上述路徑(用適當的目標實例名代替 MYINST),並且將備份映象(在此案例中是 213640.0)複制到該目錄。在爲傳送維護目錄樹時,也可以使用壓縮工具將備份映象打包。

啓動 MYINST,然後調用重定向恢複操作的第一步。

set DB2INSTANCE=MYINST

db2start

db2 restore db movies from d taken at 20021006213640 to d redirect

如果從不包含備份映象的目錄中調用 DATABASE RESTORE 命令,則必須指定 FROM 參數。TO 參數指定了目標數據庫目錄(只有在 Windows 操作系統上要指定盤符)。

爲與所恢複的數據庫相關的三個缺省表空間(SYSCATSPACE、TEMPSPACE1 和 USERSPACE1)定義新的表空間容器:

db2 set tablespace containers for 0 using (path 'd:\ts0con1')

db2 set tablespace containers for 1 using (path 'd:\ts1con1')

db2 set tablespace containers for 2 using (path 'd:\ts2con1')

可以使用 LIST TABLESPACES SHOW DETAIL 命令來獲取關于源數據庫中所有表空間的信息;這將幫助您確保已經爲目標數據庫中的所有表空間設置了容器。

完成重定向恢複操作:

db2 restore db movies continue

驗證是否正確地爲所恢複的數據庫建立了目錄,以及爲它定義的表空間容器是否真正與所恢複的數據庫相關:

db2 list db directory

db2 connect to movies

db2 list tablespace containers for 0

db2 list tablespace containers for 1

db2 list tablespace containers for 2

db2 connect reset

db2 terminate

db2stop

set DB2INSTANCE=PROD

db2stop

這篇論壇文章(賽迪網技術社區)主要介紹了使用重定向恢複操作克隆DB2數據庫的具體方法及示例,詳細內容請參考下文。 如何使用數據庫恢複操作使用數據庫備份映象來重新創建數據庫。如果要將數據庫從一台機器克隆到另一台,最簡單的方法就是從備份映象恢複數據庫。數據庫使用的文件系統路徑也包含在備份映象中。因此,除非源系統上的數據庫引用的文件系統和物理設備與目標系統的設置方法完全相同,否則就需要執行重定向恢複操作。 提示:如果有DB2 V8,就可以從任何高位優先服務器獲取備份,並將它恢複到任何其它高位優先服務器。例如,您可以將備份映象從 DB2 for HP-UX 恢複到 DB2 for AIX® 或 Sun Solaris。但是,這並不適用于 Windows 和 Linux。 重定向恢複操作包括兩步數據庫恢複過程,並且中間有一個表空間容器定義步驟: 帶REDIRECT選項發出 RESTORE DATABASE 命令。 使用 SET TABLESPACE CONTAINERS 命令來定義被恢複的數據庫的表空間容器(DB2需要知道您想要讓表空間駐留在目標系統上的什麽位置)。 再次發出 RESTORE DATABASE 命令,這次指定 CONTINUE 選項。 整個重定向恢複操作必須在同一個會話中調用;否則,將返回 SQL0900N,恢複操作會失敗,記住這一點很重要。確保不會發生這種情況的一個方法是創建並運行包含重定向恢複過程中全部三部分的腳本。 以下(Windows)示例顯示了如何成功地執行重定向恢複操作。我將演示如何從不同的 實例恢複備份映象,而不是從另一台 服務器恢複備份映象。原理相同,細節也一樣。 本示例中的源實例名爲 PROD。目標實例名爲 MYINST。將要在 MYINST 上被恢複(創建)的 PROD 上的現有數據庫名爲 MOVIES。MOVIES 數據庫在 D 盤上。 創建PROD上的 MOVIES 數據庫的完整數據庫備份映象: set DB2INSTANCE=PROD db2start db2 backup db movies 這個映象的時間戳記是 20021006213640 ,該映象在 D:\MOVIES.0\PROD\NODE0000\CATN0000\20021006 中。DB2 在發出 BACKUP DATABASE 命令的目錄中創建這個子目錄樹。子目錄名稱表示以下含義: \\\\ 在這個子目錄樹中,將會有一個表示實際備份映象的文件(213640.0)。文件名表示獲取備份的時間。 創建相似的路徑(使用 MYINST 代替 PROD): md MOVIES.0\MYINST\NODE0000\CATN0000\20021006 這是關鍵步驟:如果沒有正確創建這個路徑,後續的數據庫恢複操作就會失敗。如果正在將備份映象重新定位到另一台機器,那麽在目標機器上創建上述路徑(用適當的目標實例名代替 MYINST),並且將備份映象(在此案例中是 213640.0)複制到該目錄。在爲傳送維護目錄樹時,也可以使用壓縮工具將備份映象打包。 啓動 MYINST,然後調用重定向恢複操作的第一步。 set DB2INSTANCE=MYINST db2start db2 restore db movies from d taken at 20021006213640 to d redirect 如果從不包含備份映象的目錄中調用 DATABASE RESTORE 命令,則必須指定 FROM 參數。TO 參數指定了目標數據庫目錄(只有在 Windows 操作系統上要指定盤符)。 爲與所恢複的數據庫相關的三個缺省表空間(SYSCATSPACE、TEMPSPACE1 和 USERSPACE1)定義新的表空間容器: db2 set tablespace containers for 0 using (path 'd:\ts0con1') db2 set tablespace containers for 1 using (path 'd:\ts1con1') db2 set tablespace containers for 2 using (path 'd:\ts2con1') 可以使用 LIST TABLESPACES SHOW DETAIL 命令來獲取關于源數據庫中所有表空間的信息;這將幫助您確保已經爲目標數據庫中的所有表空間設置了容器。 完成重定向恢複操作: db2 restore db movies continue 驗證是否正確地爲所恢複的數據庫建立了目錄,以及爲它定義的表空間容器是否真正與所恢複的數據庫相關: db2 list db directory db2 connect to movies db2 list tablespace containers for 0 db2 list tablespace containers for 1 db2 list tablespace containers for 2 db2 connect reset db2 terminate db2stop set DB2INSTANCE=PROD db2stop
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有