Oracle 10g 引入、11g 完善的自我調優機制,核心包含自適應檢查點與動態 SGA (MEMORY_TARGET/AMM),將 DBA 從手工參數調優中解放,實現負載感知的自動優化。
FAST_START_MTTR_TARGET 參數複雜,依賴經驗,多採用默認值檢查點 = 清潔車,自適應 = 智能交通警察。高峰期禁止清潔車入道,低峰期放行,將對主幹道影響降至最低。
自我調優只能優化現有資源利用率,無法突破物理容量上限。持續 I/O 瓶頸仍需擴容 SSD、增加內存、調整存儲架構。
-- 僅設置總量,內部自動分配
ALTER SYSTEM SET MEMORY_TARGET = 8G SCOPE=SPFILE;
ALTER SYSTEM SET MEMORY_MAX_TARGET = 10G SCOPE=SPFILE;
-- 重啟生效
MEMORY_MAX_TARGET僅自動管理 SGA 內部組件,PGA 手工管理:SGA_TARGET + PGA_AGGREGATE_TARGET。
| 階段 | 策略 | 理由 |
|---|---|---|
| 新部署/遷移 | 啟用 AMM,採用默認值 | 數據庫根據硬件自動基線化 |
| 運行 1 年+ | 基於 AWR/ASH 分析,微調 MEMORY_TARGET 上下限 | 業務特徵穩定,可精準定容 |
| 特殊負載 | 關鍵組件設 MIN 值(如 SHARED_POOL_SIZE) | 保障核心業務不被擠佔 |
自我調優是 Oracle 向「自治數據庫」邁進的關鍵一步,DBA 角色從「參數調優師」轉向「架構設計師、容量規劃師、自動化運維工程師」。