MPP 環境重建核心原則
- 測試環境邏輯分區數必須與生產一致(物理機器數可不同)。
- 使用
db2nodes.cfg 定義相同邏輯節點對應。
- 在發出查詢的協調節點收集
db2look -f -fd,確保取得該節點緩衝池、註冊表、DB CFG/DBM CFG。
生產拓撲範例
Database Partitions:
ALLNODES (nodes 1-64)
NODE1 (defined on physical node 1)
NODE2 (defined on physical node 5)
Table Spaces:
TABSPACE1 (DMS on ALLNODES devices)
TABSPACE2 (SMS on NODE1)
TABSPACE3 (DMS on NODE2)
Tables:
TAB1 in TABSPACE1
TAB2 in TABSPACE2
TAB3 in TABSPACE3
MQT: on TAB3
VIEW: VIEW1 joins TAB1, TAB2
重建步驟
db2look -d <db> -l -o storage.out → 修改容器路徑/數量,保持 DMS/SMS 類型、PREFETCHSIZE/EXTENTSIZE 一致。
db2look -d <db> -f -fd -o config.out → 套用配置與 db2fopt。
db2look -d <db> -e -a -m -t TAB1 TAB2 TAB3 -o db2look.out → 含 MQT、VIEW 相關物件。
- 測試環境執行三檔案,重啟實例,比對
db2exfmt 輸出。
常見陷阱
- 緩衝池大小在不同節點可能不同,必須在查詢協調節點收集
-f -fd。
- 容器路徑在測試機不存在時,改用 DMS 檔案容器,但保持容器數與類型。
- 統計資料不一致(
RUNSTATS 期間有寫入)會導致 SQL1227N,需手工修正後重跑。