DB2資料表空間重新導向恢複資料庫實戰

來源:互聯網
上載者:User

DB2資料表空間重新導向恢複資料庫實戰

DB2的備份恢複有點坑,當源系統和目標系統的路徑設定不同時,要手動進行重新導向恢複,本文是我一次實戰操作之後總結的過程,僅供參考。

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

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

本文永久更新連結地址:

相關文章

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.