升級前提與版本鏈
- 來源:DB2 ESE V8.2 (Windows, 實例 DB2, 資料庫 SAMPLE)
- 目標:DB2 V9 (V9.1.0.356)
- 規則:V8 可直升 V9;V6/V7 需先升 V8 再升 V9。
- 帳號:db2admin (SYSADM + 本機 Administrators)
路徑 A:安裝精靈自動遷移實例 (推薦)
- 以 db2admin 登入,執行
setup.exe。
- 選擇「遷移現有資料庫系統」。
- 安裝資料夾自動鎖定為 V8 路徑
C:\Program Files\IBM\SQLLIB\ (原地升級)。
- 安裝完成 →
db2level 驗證:DB2 v9.1.0.356。
- 啟動 Control Center 連 SAMPLE → 提示「資料庫由舊版本建立,需遷移」。
路徑 B:手工遷移實例 (若安裝時未勾選遷移)
db2stop
REM 以 Administrator 執行
C:\Program Files\IBM\SQLLIB\bin\db2imigr /u:db2admin,passw0rd DB2
db2start
db2imigr 會更新實例註冊變數、DBM CFG、審計配置、JDK 路徑等。
- 用戶自訂全域註冊變數**不會**遷移,需手工補充。
資料庫遷移 (必須步驟)
db2 connect to sample user db2admin using passw0rd
db2 MIGRATE DATABASE sample USER db2admin USING passw0rd
- 升級系統目錄、套餐、統計資訊、儲存程序物件。
- 驗證:
CONNECT TO SAMPLE; SELECT * FROM ... 正常查詢。
DAS (DB2 Administration Server) 遷移
db2admin stop
C:\Program Files\IBM\SQLLIB\bin\dasmigr
db2daslevel # 驗證輸出版本
db2admin start
- 單機僅允許一個 DAS;不想遷移可
db2admin drop 後重建。
常見錯誤與解決
| 錯誤 | 原因 | 解決 |
SQL1704N Reason code "3" |
日誌檔案過小 (LOGFILSIZ/LOGPRIMARY/LOGSECOND) |
連線資料庫 → GET DB CFG 記下值 → UPDATE DB CFG USING LOGPRIMARY 26 LOGSECOND 8 (雙倍) → 重試遷移 |
SQL1243W |
SYSTOOLS.DB2LOOK_INFO 表衝突 |
RENAME SYSTOOLS.DB2LOOK_INFO TO DB2LOOK_INFO_OLD |
升級後驗證清單
db2level 確認版本。
db2 get db cfg for sample 確認參數繼承。
db2list applications 確認連線正常。
- 檢查
%DB2INSTANCE%\sqllib\db2profile 中 DB2DIR 已指向 V9 路徑。
- 執行關鍵應用煙霧測試。
結語
Windows 上 DB2 V8→V9 就地升級核心是:「安裝精靈勾選遷移 → 實例自動升級 → 手工 MIGRATE DATABASE → dasmigr 升級 DAS → 日誌參數預調 → 驗證」。全程可控、可回滾 (備份 V8 目錄),是生產環境升級的標準範本。
- 上一篇文章: DB2 開發實戰技巧 9 連發:存儲過程、游標、動態 SQL、日期陷阱與 UDF 指南
- 下一篇文章: DB2 優化器分布統計深度解析:頻率統計 vs 分位數統計、參數標記陷阱與收集實戰
Copyright ©
程式碼之家 All Rights Reserved