「停機」不僅指資料庫完全離線,亦包含效能惡化導致服務不可用。計劃性停機(維護、升級、備份)雖可預期,但對 24/7 營運的業務仍屬災難。本文針對表/索引維護、資料載入、升級、備份、調優配置、儲存管理六大面向,提供可落地的最佳實踐。
REORG INDEXES ... CLEANUP ONLY ALL(無物件切換、無排他鎖);F7/F8 偽刪除鍵/頁若無效能影響可忽略。DB2MAXFSCRSEARCH=-1 優先重用已釋放空間線上 Reorg 僅截斷階段短暫阻塞寫入,讀取全程不受影響;索引採用 ALLOW WRITE ACCESS ... CLEANUP ONLY 即時清除偽刪除鍵,維持讀寫可用。
ALTER TABLE ... ATTACH PARTITION 秒級掛載,配合 SET INTEGRITY ... ALLOW WRITE ACCESS 即時可見。ALLOW READ ACCESS,以超級排他鎖換取最快載入速度下的讀取可用性。TAKEOVER HADR 切換主備無 HADR 環境可採用「同機不同路徑並行安裝新版 DB2 → db2iupdt 升級實例 → 執行後續腳本」模式,僅需短暫停機重啟實例。
DB2_OBJECT_TABLE_ENTRIES=65532 避免備份期間與線上建索引/Reorg 衝突DB2_TRUNCATE_REUSESTORAGE=IMPORTAUTOMATIC:applheapsz、database_memory、dbheap、instance_memory、mon_heap_sz、stat_heap_sz、stmtheap——防止堆耗盡拋出錯誤被誤判為不可用DB2_OPT_MAX_TEMP_SIZE=1024 避免大型排序佔滿臨時表空間DB2_OPTPROFILE=YES 以登錄變量繞過優化器缺陷,免重啟ALTER TABLESPACE ... AUTORESIZE YES,自動擴容防止檔案系統滿ALTER TABLESPACE ... REDUCE 釋放高水位線以上未用空間,部份情況可線上縮減高水位線DB2 提供完整工具鏈消除或壓縮計劃性停機:從架構層面的 MDC/分區表、HADR 滾動升級,到操作層面的線上 Reorg/Load/備份、動態參數與自動儲存。關鍵在於依業務可用性等級(SLA)選擇適當組合,並在測試環境嚴格驗證後再上生產。唯有「正確理解技術 + 嚴格測試驗證」,才能真正實現高可用承諾。