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

AIX 5L + HACMP/ES 4.4.1 + DB2 7.0 雙機熱備安裝實錄

     編輯:DB2 教學

記錄一次在 AIX 5L 平台,搭配 HACMP/ES 4.4.1 實現 DB2 7.0 雙機互備(Cascading 模式)的完整安裝與配置過程,供同類架構參考。

架構規劃

  • 兩台小型機,各自擁有獨立共享卷組:VG1 掛載 /data1,VG2 掛載 /data2
  • HA 模式:Cascading(雙機互備),各跑一個 DB2 實例(APP1、APP2),單機故障時由另一節點接管,達到兩實例同時在線。

安裝步驟

  1. AIX 基礎環境:安裝 AIX 5L → 打補丁
  2. 共享儲存:建立 VG1、VG2 共享卷組
  3. HACMP/ES:安裝 4.4.1 → 打補丁
  4. DB2 安裝:
    • 執行 /cdrom/db2setup,大多選項採預設
    • 系統檔案固定安裝於 /usr/lpp/db2xxxx
    • 關鍵發現:DB2 實例與資料檔案只能跟隨使用者家目錄,故必須建立家目錄位於共享卷組的資料庫使用者(APP1 → /data1,APP2 → /data2),否則資料會落在 RootVG 造成單點故障。
  5. 建立實例:
    • 節點 1:db2icrt APP1
    • 節點 2:db2icrt APP2
  6. 服務埠配置:編輯 /etc/services,加入兩實例對應埠號(如 50005、50007),不可重複。
  7. 建立測試資料庫:分別在兩實例建立測試庫,驗證連線與切換。

常見問題與解決

問題現象解決
Codepage 不符SQL0819/1386 碼頁無法轉換統一設為 819:db2set DB2CODEPAGE=819
Socket 連線失敗無法連接伺服器確認使用 Service IP vs Boot IP,檢查 /etc/services 埠號是否正確

HA 啟停腳本設計要點

# 啟動 APP1
su - app1 -c "db2admin start"   # 啟動管理伺服器
su - app1 -c "db2start"         # 啟動實例

# 停止 APP1
su - app1 -c "db2stop"          # 僅停實例即可

關鍵:必須用 su - user -c "cmd" 形式,否則無法繼承 DB2 環境變數,或導致腳本卡在提示符。

後續待探討議題

  1. 裸裝置存儲時,使用者家目錄如何規劃?
  2. 是否有其他雙機部署模式(如 Mutual Takeover)更適合?

歡迎高手指正與經驗分享。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved