前言
在數十、數百甚至數千台 UNIX/Linux 機器上部署 IBM DB2 產品(含 DB2 UDB 與 DB2 Connect)看似艱鉅,但透過標準化流程可實現快速、輕鬆、一致的部署。本文適用於客戶端、伺服器、並行伺服器與 FixPak 安裝,以 DB2 Version 8 為主,未來版本特性類似。範例採用 Bourne shell 語法,其他 shell 需自行調整。
DB2 產品線概覽:依功能層級選擇正確產品
UNIX/Linux 支援 15 種以上 V8 產品,依平台差異選擇。本概覽聚焦功能特性與使用場景,非授權條款細節,涵蓋最易混淆的產品。
DB2 客戶端四大層級(功能遞增,含前者所有功能)
- DB2 Run-time Client:僅需連線遠端 DB2 伺服器執行應用,無管理需求,無圖形工具。幾乎所有使用 DB2 UDB/DB2 Connect 的應用皆需此基礎。
- DB2 Administration Client:含 Run-time 所有功能 + 完整圖形管理工具。精簡安裝功能等同 Run-time Client 精簡安裝。
- DB2 Application Development Client:含 Administration Client 所有功能 + 應用開發圖形工具(預編譯器、標頭檔、庫等)。
- DB2 Connect Personal Edition:含 Application Development Client 所有功能 + 連線主機資料庫(如 DB2 for MVS)能力。
部署原則:單機器幾乎無需安裝多個客戶端。升級時直接在舊版上安裝新版並重跑 FixPak 即可。
DB2 伺服器四大層級(同樣功能遞增,含所有客戶端功能)
- DB2 UDB Personal Edition:嚴格桌面產品,不允許遠端客戶端連線,類似 Application Development Client + 本地資料庫存取。
- DB2 UDB Express Editions:面向中小企業少量客戶端,含 Personal Edition 所有功能 + 遠端連線。
- DB2 UDB Workgroup Server Editions:面向大規模伺服器,含 Express 所有功能 + 更寬授權。
- DB2 Connect Enterprise Editions:三層閘道連線主機資料庫,含 Connect Personal Edition 所有功能 + 閘道功能。
- DB2 UDB Enterprise Server Edition:大型/超大型資料庫,功能上等同 Workgroup + Connect Enterprise 組合(不考慮 DPF)。啟用 DPF 後允許多機器組成無共享叢集模擬單一資料庫伺服器。
關鍵簡化:所有伺服器皆含完整客戶端功能(圖形工具、開發工具),已安裝伺服器的機器無需再裝客戶端,大幅簡化部署。
開發人員版本(僅授權不同)
- DB2 UDB Personal Developer's Edition:面向小團隊,含 Personal Edition + Application Development Client 有限授權,單一開發者針對本地伺服器寫碼/編譯/測試。
- DB2 UDB Universal Developer's Edition:全功能一站式開發產品,面向大團隊,含幾乎所有 Linux/UNIX/Windows 產品(含本文未提產品),支援多平台開發。
除授權外與正式產品相同,無需疊加安裝。
部署流程總覽
- 建立代碼伺服器
- 規劃部署
- 建立部署腳本
- 全機器執行部署腳本
建立代碼伺服器:加速部署的關鍵
逐台換 CD 效率極低;掛載 CD 透過 NFS/DFS/AFS 安裝因網路跳躍反而拖慢速度。最佳做法:將 CD 內容複製到本地硬碟,利用實體檔案系統的縮短尋找時間與擴大緩衝區。
DB2 V8 部分產品 CD 為壓縮鏡像檔,必須複製到本地解壓縮釋放,無法直接共享鏡像檔。
複製/解壓縮指令範例
可直接複製鏡像檔(建議 root 權限,使用 tar 保留符號連結、擁有權、權限):
# (cd /cdrom; tar cf - *) | (cd /bigshareddisk; tar xf -)
預壓縮鏡像檔 (.tar.Z):
# (cd /cdrom; zcat *.tar.Z) | (cd /bigshareddisk; tar xf -)
Linux 專用簡化寫法:
# cd /bigshareddisk; tar xzf /cdrom/*.tar.Z
避免使用 Windows 檔案伺服器:會遺失檔案權限,且無法處理同名異大小寫檔案(Solaris/Linux 產品常見)。
下一步透過網路檔案系統(NFS 等)匯出 /bigshareddisk。注意:DB2 本身不能安裝在 NFS 分區,但可以透過 NFS 安裝 DB2。
規劃部署:非互動式安裝三大方式
DB2 for UNIX/Linux 支援多種非互動式安裝,可交替使用,選擇一種不代表永遠綁定。
- 回應檔安裝(極力推薦):建立回應檔 → 執行
db2setup -r response_file
- 語法預檢:接受回應檔即大概率能跑通
- 顆粒度等同或優於圖形安裝程式
- 可配置圖形安裝程式所有內容(含 dbm cfg、登錄參數)
- 輸出與日誌完全可解釋
- db2_install 腳本:薄型粗顆粒度封裝,直接調用底層 OS 安裝程式(installp/pkgadd/swinstall/rpm)安裝整個產品
- 限制:粗顆粒度無法選擇備選組件、無語言選擇、無 DAS/實例配置
- 優點:無需準備回應檔
- 作業系統原生安裝程式:直接調用 rpm/pkgadd 等
- 限制:需手動決定安裝順序、組件名稱難讀、無 DAS/實例配置
- 優點:彈性高(僅裝所需)、可裝非英文語言
FixPak 僅支援非互動式安裝,常用於大規模部署。
重要前置建議
- 極力建議:任何部署前,先在測試機器完整跑一次安裝,驗證每台機器產出結果
- 極力建議:設計非互動式部署前,至少完整走一次圖形安裝程式,理解術語與關鍵字(FixPak 無圖形安裝程式)