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

嵌入式環境自動化 DB2 9.7 維護全套:自動備份、Runstats、Reorg、靜默升級、STMM 與自動儲存

     編輯:DB2 教學

適用場景與前提

  • 目標:嵌入式/虛擬化/邊緣部署的 DB2 9.7,無專職 DBA、需零運維
  • 前提:Linux/UNIX、root 權限、實例擁有者權限 (如 db2inst1)
  • 工具箱:embed-bundle.zip (含腳本與策略 XML,文末下載)

工具箱部署

mv embed-bundle.zip /home/db2inst1
unzip /home/db2inst1/embed-bundle.zip
chmod +x /home/db2inst1/embed-bundle/*.sh

一、自動維護總開關與維護窗口

# 啟用自動維護總開關
UPDATE DB CFG FOR <dbname> USING AUTO_TBL_MAINT ON;

# 維護窗口策略 (DB2MaintenanceWindowPolicy.xml)
# 線上窗口:週一至週五 00:00-24:00
# 離線窗口:週六日 18:00-翌 06:00 (12小時)
db2 "call sysproc.automaint_set_policyfile
('MAINTENANCE_WINDOW', 'DB2MaintenanceWindowPolicy.xml')"

# 一鍵部署
./backupsetup.sh <dbname>

二、自動資料庫備份

# 啟用
UPDATE DB CFG FOR <dbname> USING AUTO_DB_BACKUP ON;

# 備份策略 (DB2AutoBackupPolicy.xml)
# 模式:線上備份
# 目標:/home/db2inst1/dbname/backupimages/
# 條件:至少 1 次完整備份、距上次備份 > 168 小時、日誌消耗 > 1000 4KB 頁
db2 "call sysproc.automaint_set_policyfile
('AUTO_BACKUP', 'DB2AutoBackupPolicy.xml')"

# 還原驗證指令
# 最新備份還原
db2 restore db <dbname> from <backup_dir> replace existing

# 指定時間點備份還原
db2 restore db <dbname> from <backup_dir> taken at <timestamp> replace existing

三、自動統計資訊收集 (Auto Runstats)

# 啟用三大開關
UPDATE DB CFG FOR <dbname> USING AUTO_RUNSTATS ON;
UPDATE DB CFG FOR <dbname> USING AUTO_STATS_PROF ON;
UPDATE DB CFG FOR <dbname> USING AUTO_PROF_UPD ON;

# 策略 (DB2AutoRunstatsPolicy.xml):全表含系統表
db2 "call sysproc.automaint_set_policyfile
('AUTO_RUNSTATS', 'DB2AutoRunstatsPolicy.xml')"

# 一鍵部署
./runstatssetup.sh <dbname>
  • AUTO_RUNSTATS:背景非同步收集
  • AUTO_STATS_PROF + AUTO_PROF_UPD:自動建立/更新統計剖面,針對性收集
  • AUTO_STMT_STATS (可選):實時語句級統計,高頻 OLTP 謹慎開啟

四、自動表/索引重組 (Auto Reorg)

# 啟用
UPDATE DB CFG FOR <dbname> USING AUTO_MAINT ON;
UPDATE DB CFG FOR <dbname> USING AUTO_TBL_MAINT ON;
UPDATE DB CFG FOR <dbname> USING AUTO_REORG ON;

# 策略 (DB2AutoReorgPolicy.xml)
# 索引線上重組、使用系統臨時表空間、排除系統表
db2 "call sysproc.automaint_set_policyfile
('AUTO_REORG', 'DB2AutoReorgPolicy.xml')"

# 一鍵部署
./reorgsetup.sh <dbname>

判斷依據:reorgchk 公式評估已更新統計的表/索引,滿足條件排程重組。

五、DB2 靜默 Fix Pack 升級

  1. IBM Fix Central 下載對應平台最新 Fix Pack (累積式)
  2. 目標機器解壓:gunzip image.tar.gz; tar -xvf image.tar
  3. 執行包裝腳本 (停止所有服務 → installFixPack → 重啟驗證):
    ./silent_fixpackinstall.sh --imagepath=<fixpack解壓路徑> --path=<DB2安裝路徑>
    # 例:./silent_fixpackinstall.sh --imagepath=/opt/software --path=/opt/ibm/db2/V9.7

腳本內容:停用實例/DAS → 執行 installFixPack -b <path> → 啟用驗證版本號。

六、自調優記憶體管理器 (STMM) 與自動儲存

特性啟用指令核心價值
STMMUPDATE DB CFG FOR <dbname> USING SELF_TUNING_MEM ON動態在緩衝池、排序堆、鎖清單、套件快取間重新分配記憶體,無需人工調整
自動儲存建庫指定 AUTOMATIC STORAGE YES 或 ALTER DATABASE ... ADD STORAGE PATH表空間容器自動跨儲存路徑條帶化擴展,消除手工 ALTER TABLESPACE

嵌入式部署檢查清單

  • ✅ embed-bundle 腳本已納入映像檔建構流程 (Packer/Dockerfile/VM Template)
  • ✅ 首啟腳本自動執行 create_mydb.db2 建庫並套用所有自動策略
  • ✅ 監控代理收集:AUTO_MAINT_STATUS、備份狀態、Runstats/Reorg 執行歷史
  • ✅ 靜默升級腳本已在 CI/CD 流水線驗證 (藍綠部署/金絲雀發布)
  • ✅ STMM 與自動儲存於建庫即啟用,無需後續干預

總結

DB2 9.7 提供了**完整的自動化維護閉環**:窗口排程 → 備份/統計/重組三大核心任務自動化 → 靜默升級消除修補窗口風險 → STMM/自動儲存消除容量規劃焦慮。將 embed-bundle 腳本化、參數化、版本化,嵌入映像檔構建流程,即可實現**「交付即運維、運行即優化」**的嵌入式資料庫交付模式。

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