前置準備
- 關閉「控制中心」避免連線衝突。
- 啟動「IBM DB2」→「命令列工具」→「命令視窗」。
RESTORE 指令核心語法
DB2 "RESTORE DATABASE <來源資料庫名>
FROM <備份路徑>
TAKEN AT <時間戳記>
INTO <目標資料庫名>"
關鍵參數對應規則
| 參數 | 來源備份目錄結構範例 | 說明 |
FROM | D:\backup\ 或 D:\ | 指向備份檔案的父目錄,而非具體檔案 |
TAKEN AT | 20070417100550 | 時間戳記需與備份目錄下的子目錄名稱完全一致(格式:YYYYMMDDHHMMSS) |
INTO | newDB_Name | 還原後的新資料庫名稱,可與來源不同 |
實際範例對照
範例 1:備份在子目錄 D:\backup\
-- 備份實際路徑
D:\backup\oldDB_Name.0\DB2\NODE0000\CATN0000\20070417\100550.001
-- 還原指令
DB2 "RESTORE DATABASE oldDB_Name
FROM D:\backup
TAKEN AT 20070417100550
INTO newDB_Name"
範例 2:備份在根目錄 D:\
-- 備份實際路徑
D:\oldDB_Name.0\DB2\NODE0000\CATN0000\20070417\100550.001
-- 還原指令
DB2 "RESTORE DATABASE oldDB_Name
FROM D:\
TAKEN AT 20070417100550
INTO newDB_Name"
範例 3:完整實戰案例
DB2 "RESTORE DATABASE mydb2
FROM D:\backup
TAKEN AT 20070417100550
INTO mydb"
-- 對應備份路徑
D:\backup\MYDB2.0\DB2\NODE0000\CATN0000\20070417\100550.001
常見錯誤與排查
| 錯誤現象 | 可能原因 | 解決方法 |
| SQL2570N | 跨平台還原不相容 | 使用 db2move 遷移,參考文章 97624 |
| SQL2539N / 找不到備份映像 | FROM 路徑或 TAKEN AT 時間戳錯誤 | 檢查備份目錄結構,確認時間戳格式(精確到秒) |
| SQL1035N 資料庫正在使用中 | 目標資料庫有活動連線 | DB2 FORCE APPLICATION ALL 或重啟實例 |
| 權限不足 | 非 SYSADM/DBADM/內容者 | 以具備權限帳戶執行 |
進階選項提示
REPLACE EXISTING:目標資料庫存在時直接覆蓋。
REDIRECT:重導向表空間容器路徑(異機還原必備)。
WITHOUT PROMPTING:批次腳本中抑制確認提示。
PARALLELISM n:平行還原加速(需多 CPU/磁碟)。
最佳實踐
- 備份完成後立即記錄
FROM 路徑與 TAKEN AT 時間戳。
- 定期演練還原流程,驗證備份可用性。
- 生產環境還原前務必確認目標資料庫狀態、磁碟空間、日誌路徑。
熟練掌握命令列還原指令,是 DBA 從容應對災難恢復的核心基本功。