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

DB2 9 自動維護與實用程式節流:讓資料庫維護在業務高峰期「隱形」執行

     編輯:DB2 教學

前言:維護窗口消失了,怎麼辦?

傳統資料庫維護(備份、RUNSTATS、REORG 等)需在「維護窗口」離線執行,但現代業務 7×24 不間斷,窗口縮小甚至消失。DB2 9 引入自動維護與適應性實用程式節流雙引擎,讓維護在線上、無感知、可控制地進行。

一、自動維護:從「人工排程」到「目標驅動」

核心機制

DBA 設定維護目標(如:統計資訊新鮮度、備份頻率、重組閾值),DB2 Database Manager 自動評估是否需要執行維護,並在指定維護時間窗內自動執行。參數層級結構:

  • auto_maint:總開關
  • auto_db_backup:自動備份
  • auto_tbl_maint:表維護總開關
  •     auto_runstats:自動 RUNSTATS
  •     auto_stats_prof:統計資訊分析
  •     auto_prof_upd:統計配置檔自動更新
  •     auto_reorg:自動重組(離線)

新建資料庫預設全開,建議生產環境按業務節奏微調時間窗與閾值,而非直接關閉。

四大自動維護任務詳解

任務核心價值適用場景
自動備份確保定期備份,免寫 BACKUP 腳本,避免人為疏漏所有生產庫,特別是無專職 DBA 團隊
自動 RUNSTATS保持統計資訊最新,優化器永遠基於準確資訊選擇存取路徑資料變動頻繁、查詢模式多變的 OLTP/混合負載
統計資訊分析偵測過時/遺漏/錯誤統計,依查詢回饋建議收集策略複雜查詢多、統計維護成本高的系統
自動重組 (離線)消除資料碎片,提升掃描效率;管理離線重組排程大量 UPDATE/DELETE 導致碎片率高的表

二、實用程式節流:給維護「踩油門/刹車」的精細控制

痛點

自動維護雖好,但備份、重組、RUNSTATS 等實用程式運行時會消耗 CPU、I/O、記憶體、日誌頻寬,衝擊線上業務。離線備份/重組更會鎖定物件甚至整庫。

節流原理

DB2 適應性節流系統監控系統資源使用率,依據節流優先級與資源閾值,動態調整實用程式執行強度:

  • 高優先級/低負載時段: 全速運行(如夜間備份佔用 80% I/O)
  • 低優先級/高負載時段: 限速運行(如白天 RUNSTATS 僅佔用 10% CPU)
  • 極端負載: 暫停/排隊,待資源釋放後續跑

配置關鍵參數

  • UTIL_IMPACT_PRIORITY:實用程式影響優先級(0-100,預設 50),越高越優先獲取資源
  • UTIL_THROTTLE:節流開關(ON/OFF)
  • 維護時間窗設定:AUTO_MAINT_WINDOW 相關參數定義每日/每週可執行時段

實戰組合拳:自動維護 + 節流 = 業務零感知

-- 範例:設定夜間全速備份,白天限速統計
UPDATE DB CFG FOR MYDB USING AUTO_MAINT ON
                                   AUTO_DB_BACKUP ON
                                   AUTO_TBL_MAINT ON
                                   AUTO_RUNSTATS ON
                                   AUTO_REORG ON
                                   UTIL_IMPACT_PRIORITY 50
                                   UTIL_THROTTLE ON;
-- 配合排程:夜間 02:00-06:00 設為高優先級窗口,白天自動降速

三、線上重組:節流的最佳拍檔

DB2 9 增強了線上重組 (ONLINE REORG),允許在表被存取時重組,配合節流機制,可將重組影響降至最低。建議:

  • 大表優先使用線上重組 + 節流
  • 小表/靜態表可用離線重組(速度更快)
  • 監控 db2pd -reorg 追蹤進度與節流狀態

總結

DB2 9 透過「自動維護」解決做什麼、何時做,「實用程式節流」解決怎麼做不影響業務。兩者結合,實現了維護作業的目標導向、自適應、業務友善。建議:啟用預設自動維護,根據業務峰谷調整時間窗與優先級,開啟節流,定期檢視 db2diag.log 與維護歷史記錄微調策略。

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