主庫 → 傳送日誌記錄 → 備庫重放 → 防止數據丟失。僅支援 ESE 且單分區(多DPF 分區不支援)。
| # | 限制項目 | 影響與應對 |
|---|---|---|
| 1 | 僅 ESE 單分區支援 | 多 DPF 分區環境不可用 HADR,需改用 Q Replication 或其他方案 |
| 2 | 主備 OS 版本、DB2 版本、位數(32/64) 必須完全一致 | 滾動升級短暫窗口例外,否則啟動失敗 |
| 3 | 備庫不可讀、不可連接 | 無法分流查詢報表,若需唯讀備庫請評估 Db2 Read Standby (V9.7+) 或 Q Rep |
| 4 | 僅主庫可執行日誌歸檔 | 備庫不產生歸檔日誌,災備端需自行規劃備份策略 |
| 5 | 備庫不支援 BACKUP 操作 | 無法在備庫直接備份減輕主庫壓力 |
| 6 | 非日誌操作不復制 | 見下表詳細清單,應用層需規避或接受數據差異 |
| 7 | LOAD COPY NO 不支援 | 大量載入必須用 COPY YES 產生日誌供重放 |
| 8 | DataLink 不支援 | 含 DataLink 欄位的表不可用 HADR |
| 9 | 原始日誌不支援 | 啟動 HADR 檢測到原始 I/O 日誌將報 SQL1768N rc=9 失敗 |
| 10 | 主備切換後客戶端需重連 | 無自動客戶端重導向 (ACR 需配合 TSA/腳本實現) |
| 操作類型 | 說明 | 備庫表現 |
|---|---|---|
NOT LOGGED INITIALLY 建表 | 初始載入不寫日誌 | 表結構同步,數據不同步 |
| BLOB/CLOB 欄位 | 大物件不寫日誌 | 空間分配同步,內容不同步 |
| DB/DBM CFG 更新 | UPDATE DB CFG、UPDATE DBM CFG | 配置異步同步,需人工對齊 |
| 恢復歷史文件 | db2rhist 等操作 | 不復制,災備端歷史不完整 |
需求:高可用 + 災難恢復
├─ 單分區 ESE + 可接受備庫不可讀 + 無 DataLink/原始日誌/LOAD COPY NO
│ └─ → HADR 適合(成本低、原生、RPO≈0)
├─ 需備庫可讀 / 多活 / 異構 / 多 DPF 分區
│ └─ → Q Replication / GoldenGate / 自研 CDC
└─ 需自動故障轉移 + 客戶端透明
└─ → HADR + TSA (Tivoli System Automation) / Pacemaker / 腳本封裝
db2pd -hadr 檢查 HADR_STATE=PEER、LOG_GAP 接近 0HADR_FLAGS 確認 STANDBY_RECV_REPLAY_ONLY 狀態TAKEOVER HADR 切換演練,驗證 RTOHADR 以「簡單、原生、低成本」贏得大量單分區核心業務青睞,但十大限制即是邊界,選型前逐項核對,避免上線後發現「備庫不可讀」「LOAD 失效」「原始日誌衝突」等硬傷。