彙整 IBM 官方支援案例,涵蓋 DB2 UDB V8、V8.2、DB2 9、DB2 9.5 四大版本,分為安裝升級、備份恢復、一般操作三大類,助你快速定位解決方案。
可以。Windows 下必須先裝舊版再裝新版,且目錄不同。V8 → V9 → V9.5 順序固定;V9 與 V9.5 可任意順序安裝不同目錄。
不能。跨版本不共用實例。需執行升級流程(db2iupgrade),不可直接共用。
統一入口:IBM Fix Central,可依產品/版本/平台篩選。
執行 db2iupdt <instance_name> 更新實例(V9.5 起不再需要)。詳見修正包附帶 readme.txt。
參考 AIX 專屬技術文件。
應直接升級(安裝程式選「遷移」),而非卸載重裝。若已卸載,執行:
db2 list db directory on <drive/path> # 找出舊資料庫目錄
db2 catalog database ... # 重新編目
db2 migrate database <dbname> # 升級資料庫
| 平台 | V8 回退方式 | V9+ 回退方式 |
|---|---|---|
| Solaris | /var/sadm/patch/backoutallpatch* | installFixPack 指定舊版本號 |
| HP-UX | 移除 PDB2* 新版檔案集 | |
| Linux | 直接套用舊版修正包覆蓋 | |
| AIX | 用 SMIT/installp 拒絕提交新包 | |
| Windows | 不支援回退,需重裝 | |
HKEY_LOCAL_MACHINE\Software\IBM\DB2db2level(輸出含位元數、Release、Fix Pack)db2ls -q -b <install_path> -a 列出所有元件細節查閱 Fix Pack 生命週期政策 及 資訊管理產品生命週期。
db2/license 目錄下的授權檔,用 db2licm -a <file> 安裝依 IBM 軟體支援生命週期 文件。
需 DB2jcc_license_cisuz.jar(來自 DB2 Connect 產品),加入 CLASSPATH,通常位於 /SQLLIB/java/。
DB2 9 Fix Pack 2 起支援,詳見 相關文件。
檢查是否有 LOAD、RUNSTATS、REORG 同時運行——線上備份與部分工具互斥,參考 相容工具清單。
不能。系統管理(SMS)與資料庫管理(DMS)表空間映像不可互還原。
不支援跨平台還原。Big-endian (UNIX) vs Little-endian (Windows/Linux) 位元序不同;Linux↔Windows 雖同為 Little-endian 但配置路徑不同。同端序 UNIX 平台間可跨平台還原。
極不建議,會損壞資料庫。請使用 BACKUP/RESTORE 工具。
| 備份來源 | 還原目標 | 支援 |
|---|---|---|
| 32-bit | 64-bit | 是 |
| 64-bit | 32-bit | 否 |
使用重導向還原(Redirected Restore),參考 官方文件 及「DB2 重導向還原腳本」、「用重導向還原複製資料庫」文章。
db2 load ... NONRECOVERABLE 或 COPY YES TO <device/dir> # 避免備份表空間
db2 set integrity for <table> immediate checked # 解除 CHECK PENDING
db2 backup db <db> online include logs
mkdir /tmp/rest_logs
db2 restore db <db> logtarget /tmp/rest_logs
db2 "rollforward db <db> to end of logs and stop overflow log path (/tmp/rest_logs) noretreive"
不能。代碼頁在建庫時由 OS 衍生,唯有重建資料庫。DB2CODEPAGE 僅影響 Server 呈現給 Client 的代碼頁,勿隨意設定。
建立實例時跑標準測試取平均值。可手動設定或設 -1 讓 DB2 自動重算。
不會。資料庫檔案保留,可重建實例後 catalog database 繼續使用。可用 db2cfexp/db2cfimp 匯出/匯入實例配置。
不能。必須同時刪除所有關聯表空間(單一 DROP TABLESPACE 陳述式包含兩者)。
不能。REDISTRIBUTE DATABASE PARTITION GROUP 作用於分區組內所有表。
建議 DB2 條帶(循環寫入多容器)。若同時用磁碟條帶(RAID),Extent 大小必須等於 RAID Stripe Size。
db2 "call get_dbsize_info(?,?,?,0)"
# 輸出含 DATABASESIZE(實際大小)、DATABASECAPACITY(容量上限)
用 IMPORT FROM /dev/null OF DEL REPLACE INTO <table> 截斷表且不產生日誌。資訊中心提供 truncate.db2 腳本。
依 Reason Code 查對應解法:官方排查指南。
V9 以開發工作台取代;V9.5 增強並更名為 IBM Data Studio(獨立下載)。
安裝 DB2 光碟 VSAI 目錄下的 issetup.exe 或 .msi(VS 2005 Add-ins)。
db2 values current time # 14:52:46
db2 values current date # 04/10/2008
db2 values current timestamp # 2008-04-10-14.53.02.562000
db2level/db2ls、get_dbsize_info、INCLUDE LOGS 等指令是日常運維利器