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

DB2 HADR v8.2 EE 完整部署實戰:從環境準備到故障切換演練

     編輯:DB2 教學

高可用性災難恢復(HADR)是 DB2 企業版核心 HA 方案。本文以 DB2 v8.2 EE 為例,詳細記錄雙節點 HADR 搭建全流程:環境檢核、參數配置、備份還原、啟動驗證、故障切換測試,提供可直接落地的操作手冊。

環境前置條件

  • DB2 版本一致:雙節點均為 8.2 ESE
  • 授權支援 HADR:執行 db2licm -l 確認
  • 網路規劃:
    • Server A (Primary):10.10.20.16 / 255.255.255.0
    • Server B (Standby):10.10.20.110 / 255.255.255.0
  • 實例名稱一致:均為 DB2
  • 服務埠號一致:50000
  • DB2COMM=TCPIP 已設定(預設值)
  • 防火牆關閉或開放 HADR 通訊埠(範例:33333、44444)

Server A(Primary)端操作步驟

  1. 建立範例資料庫:db2sampl(或自建)
  2. 啟用歸檔日誌與追蹤模式:
    db2 update db cfg for sample using LOGRETAIN ON
    db2 update db cfg for sample using TRACKMOD ON
    db2 update db cfg for sample using LOGINDEXBUILD ON
    db2 update db cfg for sample using INDEXREC RESTART
  3. 離線完整備份:db2 backup db sample to f:\test

Server B(Standby)端操作步驟

  1. 還原備份(置於前滾暫掛狀態):
    db2 restore db sample from f:\test replace history file
  2. 配置 HADR 參數(注意 LOCAL/REMOTE 互換):
    db2 update db cfg for sample using HADR_LOCAL_HOST 10.10.20.110
    db2 update db cfg for sample using HADR_LOCAL_SVC 44444
    db2 update db cfg for sample using HADR_REMOTE_HOST 10.10.20.16
    db2 update db cfg for sample using HADR_REMOTE_SVC 33333
    db2 update db cfg for sample using HADR_REMOTE_INST DB2
    db2 update db cfg for sample using HADR_SYNCMODE NEARSYNC
  3. 以 Standby 模式啟動 HADR:
    db2 deactivate database sample
    db2 start hadr on database sample as standby

Server A 端啟動 Primary 並驗證

  1. 配置對應參數(LOCAL/REMOTE 與 Server B 互換):
    db2 update db cfg for sample using HADR_LOCAL_HOST 10.10.20.16
    db2 update db cfg for sample using HADR_LOCAL_SVC 33333
    db2 update db cfg for sample using HADR_REMOTE_HOST 10.10.20.110
    db2 update db cfg for sample using HADR_REMOTE_SVC 44444
    db2 update db cfg for sample using HADR_REMOTE_INST DB2
    db2 update db cfg for sample using HADR_SYNCMODE NEARSYNC
  2. 以 Primary 模式啟動:db2 start hadr on database sample as primary
  3. 雙端檢查狀態:db2pd -d sample -hadr 確認 HADR_STATE = PEER

故障切換演練

正常切換(計劃性維護)

-- Server B 執行
db2 takeover hadr on database sample user db2admin using db2admin

強制切換(Primary 故障)

-- Server B 執行(BY FORCE 選項)
db2 takeover hadr on database sample user db2admin using db2admin by force

驗證資料同步

-- Server A 原 Primary 寫入測試資料
db2 connect to sample
db2 create table test(id integer)
db2 insert into test values(1)
db2 insert into test values(2)
db2 commit

-- Server B 接管後查詢
db2 connect to sample
db2 select * from test  -- 應看到 1,2

關鍵參數說明

參數建議值說明
HADR_SYNCMODENEARSYNC平衡效能與資料零損失(同步寫入本地日誌、非同步傳送)
HADR_TIMEOUT120網路逾時秒數,預設 120 秒
HADR_PEER_WINDOW0僅 NEARSYNC/SYNC 有效,允許短暫網路中斷仍維持 PEER 狀態

完成上述步驟,即擁有一套可生產部署的 DB2 HADR 環境。建議每季進行一次故障切換演練,驗證 RTO/RPO 指標。

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