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
# 啟用三大開關
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 謹慎開啟# 啟用
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 公式評估已更新統計的表/索引,滿足條件排程重組。
gunzip image.tar.gz; tar -xvf image.tar./silent_fixpackinstall.sh --imagepath=<fixpack解壓路徑> --path=<DB2安裝路徑>
# 例:./silent_fixpackinstall.sh --imagepath=/opt/software --path=/opt/ibm/db2/V9.7
腳本內容:停用實例/DAS → 執行 installFixPack -b <path> → 啟用驗證版本號。
| 特性 | 啟用指令 | 核心價值 |
|---|---|---|
| STMM | UPDATE 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 執行歷史DB2 9.7 提供了**完整的自動化維護閉環**:窗口排程 → 備份/統計/重組三大核心任務自動化 → 靜默升級消除修補窗口風險 → STMM/自動儲存消除容量規劃焦慮。將 embed-bundle 腳本化、參數化、版本化,嵌入映像檔構建流程,即可實現**「交付即運維、運行即優化」**的嵌入式資料庫交付模式。