相同平台下DB2數據庫使用重定向恢複示例

本文討論的內容限于同一平台下的 DB2 數據庫遷移。關于不同平台下的 DB2 數據庫遷移參見《不同平台之間的 DB2 數據庫遷移一例》。

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

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

1. 帶 REDIRECT 選項發出 RESTORE DATABASE 命令。

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

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

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

下面是一次相同平台的 DB2 數據庫使用重定向恢複的示例,腳本如下:

第一步,在源系統中離線完全備份數據庫

--源系統 ZYSJK

--源數據庫 YNDC

C:\Documents and Settings\Administrator>cd /d D:\backup\autobak\db2

D:\backup\autobak\db2>db2 backup db YNDC

這個映象的時間戳記是 20070315165040 ,該映象在 D:\backup\autobak\YNDC.0\DB2\NODE0000\CATN0000\20070315 中。

DB2 在發出 BACKUP DATABASE 命令的目錄中創建這個子目錄樹。子目錄名稱表示以下含義:

\\\\

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

第二步,在目標系統中創建相似的目錄,並將備份文件拷貝至 165040.0 的文件至該目錄下

C:\Documents and Settings\Administrator>cd\

C:\>mkdir D:\backup\autobak\YNDC.0\DB2\NODE0000\CATN0000\20070315

注意!這是關鍵步驟:如果沒有正確創建這個路徑,後續的數據庫恢複操作就會失敗。

第三步,查看源系統的數據庫表空間情況

C:\Documents and Settings\Administrator>db2 list tablespaces

當前數據庫的表空間

表空間標識 = 0

名稱 = SYSCATSPACE

類型 = 系統管理空間

內容 = 任何數據

狀態 = 0x0000

詳細解釋:

正常

表空間標識 = 1

名稱 = TEMPSPACE1

類型 = 系統管理空間

內容 = 系統臨時數據

狀態 = 0x0000

詳細解釋:

正常

表空間標識 = 2

名稱 = USERSPACE1

類型 = 系統管理空間

內容 = 任何數據

狀態 = 0x0000

詳細解釋:

正常

表空間標識 = 3

名稱 = YNDC

類型 = 數據庫管理空間

內容 = 任何數據

狀態 = 0x0000

詳細解釋:

正常

表空間標識 = 4

名稱 = SYSTOOLSPACE

類型 = 系統管理空間

內容 = 任何數據

狀態 = 0x0000

詳細解釋:

正常

表空間標識 = 5

名稱 = USERTEMPSP

類型 = 數據庫管理空間

內容 = 用戶臨時數據

狀態 = 0x0000

詳細解釋:

正常

表空間標識 = 6

名稱 = TEMPSPACE8K

類型 = 數據庫管理空間

內容 = 系統臨時數據

狀態 = 0x0000

詳細解釋:

正常

其中,標識爲 0,1,2 的表空間是系統缺省的默認表空間,無需進行重定向操作,這裏可以不必“理會”它。

標識爲 3,5,6 的表空間需要進行重定向操作,腳本如下(以下語句必須寫在一個腳本中執行):

第四步,在目標系統中創建數據庫 YNDC ,然後通過表空間重定向還原數據庫

db2 create db YNDC;

執行下面的腳本,腳本清單:

restore db YNDC from d taken at 20070315165040 to d redirect;USING ( 'D:\DB2\Container\TestDB\SysData\' )

set tablespace containers for 4 using (PATH 'G:\DB2Containner_2\YNDC\sys' );

set tablespace containers for 3 using (FILE "G:\DB2Containner_2\YNDC\YNDC" 5242880);

set tablespace containers for 5 using (FILE "G:\DB2Containner_2\YNDC\USERTEMPSP" 51200);

set tablespace containers for 6 using (FILE "G:\DB2Containner_2\YNDC\TEMPSPACE8K" 51200);

restore db YNDC continue;

第五步,驗證目標系統中還原的數據庫的表空間

db2 list db directory

db2 connect to YNDC

db2 list tablespace containers for 3

db2 list tablespace containers for 5

db2 list tablespace containers for 6

db2 connect reset

db2 terminate

Edit by pjj in 2007-03-16 9:09 關于數據庫重定向恢複數據庫還有一點補充:如果源數據庫的緩沖池較大,還原後目標數據庫啓動不了的情況下,在還原成功之後請修改緩沖池的大小。另外,在指定表空間容器的時候,需要注意目標表空間和源表空間的管理類型必須一致,系統管理表空間對應系統管理表空間,數據庫管理表空間對應數據庫管理表空間。就本例來說,標識爲 3,5,6的表空間爲數據庫管理表空間,其它的爲系統管理表空間。具體的設置語句也有不同,詳細內容請參考上面的語句。

相同平台下DB2數據庫使用重定向恢複示例
本文討論的內容限于同一平台下的 DB2 數據庫遷移。關于不同平台下的 DB2 數據庫遷移參見《不同平台之間的 DB2 數據庫遷移一例》。 數據庫恢複操作使用數據庫備份映象來重新創建數據庫。如果要將數據庫從一台機器克隆...查看完整版>>相同平台下DB2數據庫使用重定向恢複示例
 
db2數據庫重定向恢複
摘要:db2數據庫重定向恢複db2數據庫重定向恢複 數據庫重定向恢複步驟: a、db2 backup db misdb to yourpath; b、db2 restore db misdb from yourpath redirect; c、db2 set tablespace containers for tablespace-...查看完整版>>db2數據庫重定向恢複
 
db2數據庫的備份和恢複
db2數據庫的備份和恢複 db2數據庫的備份和恢複 最近,我恢複了一個數據庫.其中的辛苦不予言表,我想寫出自己用到的一些語句,和遇到相同問題的xdjm共勉。首先談db2數據庫的備份,我用的是backup命令。db2 ba...查看完整版>>db2數據庫的備份和恢複
 
db2數據庫的備份和恢複
最近,我恢複了一個數據庫.其中的辛苦不予言表,我想寫出自己用到的一些語句,和遇到相同問題的xdjm共勉。首先談db2數據庫的備份,我用的是backup命令。db2 backup database 數據庫名(我的庫是jsdb)忘了說了,在ba...查看完整版>>db2數據庫的備份和恢複
 
讓DB2數據庫使用所有內存的方法(1)
  簡介  曾聽說過創造性壓力嗎?它屬于那些僞精神哲學之一,它宣稱互相作用的力會創造出作爲鬥爭副産品的事物。這有點象小人書裏面善與惡之間的鬥爭。現在,我不想說所有軟件工程師都是好人,或者所有硬件工程師...查看完整版>>讓DB2數據庫使用所有內存的方法(1)
 
如何使用重定向恢複操作克隆DB2數據庫
這篇論壇文章(賽迪網技術社區)主要介紹了使用重定向恢複操作克隆DB2數據庫的具體方法及示例,詳細內容請參考下文。 如何使用數據庫恢複操作使用數據庫備份映象來重新創建數據庫。如果要將數據庫從一台機器克隆到另...查看完整版>>如何使用重定向恢複操作克隆DB2數據庫
 
DB2用戶密碼修改及數據庫備份恢複問題
前天開始安裝省總服務器,先建數據庫,又打包程序進行安裝,一切按部就班,很是順利,可最後程序總是連不上數據庫,用以下命令進行測試: catalog tcpip node local remote localhost server 5000(db2-port-number)...查看完整版>>DB2用戶密碼修改及數據庫備份恢複問題
 
利用表空間的備份快速恢複IBM DB2數據庫
在 DB2 V9 版本中,提供了一個重要的新特性,即利用DB2表空間的備份來快速恢複數據庫,甚至可以根據數據的重要性選擇恢複一部分重要數據,達到快速恢複的目的。本文結合實例對 DB2 V9 的該重要技術特性做了詳細介紹,...查看完整版>>利用表空間的備份快速恢複IBM DB2數據庫
 
在Linux平台下進行DB2數據庫的遷移
DB2 Universal Database™(DB2 UDB) 有一對非常有用的工具,可以幫助您實現這種跨平台的備份與恢複功能。db2move 工具利用了 DB2 的數據移動工具(export 和 import 或load)來移動數據庫表。然而,由于數據庫的...查看完整版>>在Linux平台下進行DB2數據庫的遷移
 
 
回到王朝網路移動版首頁