DB2資料庫資料表空間重新導向恢複執行個體分析

來源:互聯網
上載者:User

一、發出重新導向恢複命令

DB2 RESTORE DB OLDDB FROM "C:\OLDDBbak" TAKEN AT 20150717164847 TO "C:" INTO NEWDB REDIRECT

其中,OLDDB是舊資料庫、備份的資料庫名稱,NEWDB是新資料庫名稱,不用事先建立也可以,C:\OLDDBbak是備份檔案放置的目錄,20150717164847是

備份檔案的時間戳記,具體可看備份檔案的名字OLDDB.0.DB2.NODE0000.CATN0000.20150717164847.001,TO "C:"是新資料庫的路徑,REDIRECT是進行重新導向恢複。

二、重新導向資料表空間

2.1列出資料表空間

DB2 LIST TABLESPACES

可以看到當前資料庫的資料表空間狀況


資料表空間標識                          = 2
 名稱                                = SYSTOOLSTMPSPACE
 類型                                = 系統管理空間
 內容                                = 使用者臨時資料
 狀態                   = 0x2000100
   詳細解釋:
     複原暫掛
     可以定義儲存空間

 資料表空間標識                          = 3
 名稱                                = TBS_01
 類型                                = 資料庫管理空間
 內容                                = 所有持久資料。大型資料表空間。
 狀態                   = 0x2001100
   詳細解釋:
     複原暫掛
     必須定義儲存空間
     可以定義儲存空間



可以看到資料表空間3是“必須定義儲存空間”狀態,這就要進行重新導向了。

2.2查看要進行重新導向的資料表空間詳細資料

DB2 LIST TABLESPACE CONTAINERS FOR 3 SHOW DETAIL

結果如下


資料表空間 3 的資料表空間容器

 容器標識                            = 0
 名稱                                = E:\OLDDB\TBS\CONTAINER_01_01
 類型                                = 檔案
 總計頁數                            = 25600
 可用頁數                            = 25568
 可訪問                              = 否
 容器標識                            = 1
 名稱                                = E:\OLDDB\TBS\CONTAINER_01_02
 類型                                = 檔案
 總計頁數                            = 25600
 可用頁數                            = 25568
 可訪問                              = 否



可以看到,這個資料表空間的路徑在目標系統是不可訪問的,要進行重新導向。

2.3進行重新導向

這個資料表空間有兩個容器,可以分別重新導向

DB2 SET TABLESPACE CONTAINERS FOR 3 USING (FILE "C:\NEWDB\TBS\CONTAINER_01_01" 25600,FILE "C:\NEWDB\TBS\CONTAINER_01_02" 25600)

也可以合并重新導向

DB2 SET TABLESPACE CONTAINERS FOR 3 USING (FILE "C:\NEWDB\TBS\CONTAINER_01" 51200)

頁大小要大於等於原大小

這是資料庫管理空間類型的重新導向,如果是系統管理空間類型的,命令如下:

DB2 SET TABLESPACE CONTAINERS FOR 10 USING (PATH "C:\NEWDB\TBS\TBS_SYSTEM_04")

可能有很多個資料表空間要進行重新導向,按實際環境,最後要執行的命令類似如下:


DB2 SET TABLESPACE CONTAINERS FOR 3 USING (FILE "C:\NEWDB\TBS\CONTAINER_01_01" 25600,FILE "C:\NEWDB\TBS\CONTAINER_01_02" 25600)
DB2 SET TABLESPACE CONTAINERS FOR 4 USING (FILE "C:\NEWDB\TBS\CONTAINER_02" 25600)
DB2 SET TABLESPACE CONTAINERS FOR 5 USING (FILE "C:\NEWDB\TBS\CONTAINER_03" 51200)
DB2 SET TABLESPACE CONTAINERS FOR 6 USING (FILE "C:\NEWDB\TBS\CONTAINER_04" 64000)
DB2 SET TABLESPACE CONTAINERS FOR 7 USING (FILE "C:\NEWDB\TBS\CONTAINER_05" 153600)
DB2 SET TABLESPACE CONTAINERS FOR 8 USING (FILE "C:\NEWDB\TBS\CONTAINER_06" 51200)
DB2 SET TABLESPACE CONTAINERS FOR 9 USING (FILE "C:\NEWDB\TBS\CONTAINER_07" 25600)
DB2 SET TABLESPACE CONTAINERS FOR 10 USING (PATH "C:\NEWDB\TBS\TBS_SYSTEM_04")
DB2 SET TABLESPACE CONTAINERS FOR 11 USING (PATH "C:\NEWDB\TBS\TBS_SYSTEM_08")
DB2 SET TABLESPACE CONTAINERS FOR 12 USING (PATH "C:\NEWDB\TBS\TBS_USERTMP_04")
DB2 SET TABLESPACE CONTAINERS FOR 13 USING (PATH "C:\NEWDB\TBS\TBS_USERTMP_08")



最後重新執行2.1步驟檢查看還有沒“必須定義儲存空間”的資料表空間

三、完成重新導向恢複

DB2 RESTORE DB OLDDB CONTINUE



DB2資料庫重新導向資料表空間恢複執行個體

db2 restore database sino  into jinan3 redirect without rolling forward

db2 "set tablespace containers for 2 using (file '/opt/data/jinan3/ct/userspace1' 65536, file '/opt/data/jinan3/ct/userspace2' 65536 , file '/opt/data/jinan3/ct/userspace3' 65536, file '/opt/data/jinan3/ct/userspace4' 65536 , file '/opt/data/jinan3/ct/userspace5' 65536)"
db2 "set tablespace containers for 3 using (path '/opt/data/jinan3/ct_temp_sys_16')"
db2 "set tablespace containers for 4 using (path '/opt/data/jinan3/ct_temp_user_16')"
db2 restore db sino continue
------------實際操作的過程--------注意:重新定向的資料表空間位置根據實際需求自己定義-----------------------
F:/2008_1_21>db2 restore db gzk_1_5 into gzk_1 redirect without rolling forward

F:/2008_1_21>db2 "set tablespace containers for 3 using (file 'E:/db2/gzk_1/data
8/data8-1.dat' 64000, file 'e:/db2/gzk_1/data8/data8-2.dat' 64000)"
DB20000I  SET TABLESPACE CONTAINERS命令成功完成。

F:/2008_1_21>db2 "set tablespace containers for 4 using (file 'E:/db2/gzk_1/data
16/data16-1.dat' 32000)"
DB20000I  SET TABLESPACE CONTAINERS命令成功完成。

F:/2008_1_21>db2 "set tablespace containers for 5 using (file 'E:/db2/gzk_1/inde
x8/index8-1.dat' 64000)"
DB20000I  SET TABLESPACE CONTAINERS命令成功完成。

F:/2008_1_21>db2 "set tablespace containers for 6 using (file 'E:/db2/gzk_1/long
8/long8-1.dat' 64000)"
DB20000I  SET TABLESPACE CONTAINERS命令成功完成。

F:/2008_1_21>db2 "set tablespace containers for 7 using (path 'E:/db2/gzk_1/temp
8')"
DB20000I  SET TABLESPACE CONTAINERS命令成功完成。

F:/2008_1_21>db2 "set tablespace containers for 8 using (path 'E:/db2/gzk_1/temp
16')"
DB20000I  SET TABLESPACE CONTAINERS命令成功完成。

F:/2008_1_21>db2 restore db gzk_1_5 continue
DB20000I  RESTORE DATABASE命令成功完成。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.