首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 9.1 新功能:自動產生重導向恢復腳本實戰範例

     編輯:DB2 教學

痛點與解決方案

傳統重導向恢復需手動輸入大量 SET TABLESPACE CONTAINERS 指令,操作繁瑕易出錯。DB2 9.1 推出 RESTORE ... REDIRECT GENERATE SCRIPT 功能,可從備份影像自動產生完整重導向恢復腳本,修改後直接執行即可完成遷移。

實戰步驟:重導向恢復 SAMPLE 資料庫

1. 建立備份

D:\Temp> db2 backup db sample to .
# 備份成功,時間戳記:20060626161457

2. 產生重導向恢復腳本

D:\Temp> db2 restore db sample from . redirect generate script redirect.db2
DB20000I RESTORE DATABASE命令成功完成。

3. 腳本結構解析(redirect.db2)

腳本分四段:

  1. 命令選項設定:錯誤停止、輸出導向、回顯開啟,並指定執行分區號。
    UPDATE COMMAND OPTIONS USING S ON Z ON SAMPLE_NODE0000.out V ON;
    SET CLIENT ATTACH_DBPARTITIONNUM 0;
    SET CLIENT CONNECT_DBPARTITIONNUM 0;
  2. 重導向 RESTORE 主指令:包含來源、目標路徑、新資料庫名、日誌路徑、緩衝區設定等。
    RESTORE DATABASE SAMPLE
      FROM 'D:\Temp' TAKEN AT 20060626161457
      ON 'C:' DBPATH ON '<目標目錄>' INTO SAMPLE
      NEWLOGPATH 'C:\DB2\NODE0000\SQL00002\SQLOGDIR\'
      WITH <緩衝區數> BUFFERS BUFFER <緩衝區大小>
      REPLACE HISTORY FILE REPLACE EXISTING
      REDIRECT PARALLELISM 
      WITHOUT ROLLING FORWARD WITHOUT PROMPTING;
  3. 表空間定義與容器重導向:列出各表空間屬性(類型、頁大小、自動儲存等)。需重導向的表空間(非自動儲存的 DMS)後附 SET TABLESPACE CONTAINERS 指令。
    -- 表空間 4 (TESTDMS) 範例
    SET TABLESPACE CONTAINERS FOR 4
      IGNORE ROLLFORWARD CONTAINER OPERATIONS
      USING (FILE 'd:\temp\test.dat' 5120);
  4. 繼續恢復與結尾:
    RESTORE DATABASE SAMPLE CONTINUE;
    -- 文件結尾

4. 修改腳本並執行

需求:將資料庫恢復至 D 槽並改名 TEST,表空間 4 容器導向 E:\temp\test.dat。

編輯 redirect.db2 修改對應路徑與名稱後執行:

D:\Temp> db2 -tvf redirect.db2

輸出顯示各步驟成功完成,資料庫重導向恢復順利結束。

參考資料:DB2 V9 Information Center | 來源:https://www.cncms.com.cn/db2/q372737.Html
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved