隨著企業數據量爆發式增長,如何在有限維護窗口內完成備份恢復成為核心挑戰。本文深度剖析 DB2 備份恢復進程模型,詳細解讀關鍵優化參數,並以 SAP 系統為實戰場景,展示參數調優與容量分級策略的組合拳效果。
兩類 EDU (Engine Dispatchable Unit) 協同作業:
db2agent;輔助:db2pfchr (預取)、db2pclnr (頁清理)

PARALLELISM 參數,每進程輪詢處理一或多個表空間TO dir1, dir2 / FROM dir1, dir2)UTIL_HEAP_SZ 限制總上限BACKUP DATABASE <DB> TO dir | dev
WITH num-buf BUFFERS BUFFER buff-size
PARALLELISM n COMPRESS
UTIL_IMPACT_PRIORITY priority
| 參數 | 作用 | 調優建議 |
|---|---|---|
| PARALLELISM n | db2bm 並行數 | ≤ 表空間數;過大反增 CPU 爭用 |
| TO dir1, dir2... | 目標路徑 = db2med 數 | 多路徑指向不同物理磁盤陣列,提升 I/O 並行 |
| BUFFER buff-size (4KB 頁) | 單個內部緩存大小 | extent 大小整數倍;多 extent 取最小公倍數 |
| WITH num-buf BUFFERS | 內部緩存個數 | ≥ 2 × db2med 數,避免寫入等待 |
| (BUFFER × num-buf) < UTIL_HEAP_SZ | 總緩存不超堆上限 | 同步調大 UTIL_HEAP_SZ |
| UTIL_IMPACT_PRIORITY 1-100 | CPU 佔用優先級 | 100=全速,生產窗口可降低減業務影響 |
| COMPRESS | 改進 LZ 算法實時壓縮 | 大幅減小備份體積 (89GB→13GB),間接提速 |
RESTORE DATABASE <DB> FROM dir | dev
WITH num-buf BUFFERS BUFFER buff-size
PARALLELISM n
PARALLELISM、FROM 多路徑、BUFFER、WITH BUFFERS 邏輯與 BACKUP 對稱BUFFER 應 = 備份時值或其整數倍,未設則用 RESTBUFSZ環境:AMD 4 核、8GB 內存、2 塊 IBM SCSI 備份盤、RAID5 數據盤
| PARALLELISM | Buffers/Size | 備份時間 | 現象 |
|---|---|---|---|
| 2 | 8 / 1024 | ~60 分鐘 | 基準 |
| 4 | 8 / 1024 | ~45 分鐘 | 明顯提速 |
| 8 | 8 / 1024 | ~40 分鐘 | 最優 |
| 16 | 8 / 1024 | ~72 分鐘 | CPU 過載反而變慢 |

結論:PARALLELISM 需匹配 CPU 核心數,4 核環境 8 為極限。
| 路徑數 | 備份時間 | 提速幅度 |
|---|---|---|
| 1 (D:\backup) | 基準 | - |
| 2 (D:\, F:\) | 顯著縮短 | I/O 並行提升 |


恢復時間近乎減半,證明 db2bm 並行讀取表空間效果顯著。

雙盤並行讀取通常更快,但受限於單盤 I/O 上限,極端情況下單盤可能更優。


| 應用規模 | 策略 | 核心邏輯 |
|---|---|---|
| 開發/測試 (小) | 每週 1 次在線備份 | 數據量小,恢復點目標 (RPO) 寬鬆 |
| 中等生產 | 每日在線備份 | 數小時內完成,業務影響可控 |
| 大規模生產 | 每日增量備份 + 週末全量 | 減少日備份數據量,縮短窗口 |
| 超大規模 | 分割鏡像 技術 | 存儲層面瞬時快照,近零業務影響 |