前言
監控錯誤指標等於盲人騎瞎馬。以下 10 個 KPI 直指性能核心,助你快速定位瓶頸。
10 大 KPI
- 記憶體區域配置不足:
SHARED_POOL_SIZE、PGA_AGGREGATE_TARGET、DB_CACHE_SIZE 過小 → 物理 I/O 飆升。適度增加 RAM 可顯著降低磁盤讀取。
- 記憶體排序比率:磁盤排序遠慢於記憶體排序。監控
V$SYSSTAT 中 sorts (memory) vs sorts (disk)。
- 執行/解析比率:硬解析消耗 CPU/共享池鎖。提高
SESSION_CACHED_CURSORS(默認 50,建議 100~1000)促進軟解析複用。
- 多餘嵌套循環連接:OLTP 中大量 Nested Loops 通常意味著索引缺失或統計信息過期。確保
PGA_AGGREGATE_TARGET 足夠讓 CBO 選擇 Hash Join。
- 緩存頁清除率:DBWR 將髒頁異步刷盤,為新頁騰位。目標 > 95%,否則前台進程可能被迫同步寫入(free buffer waits)。
- 緩存池平均 I/O 響應時間:端用戶最敏感指標。控制在 10ms 以內,超過說明存儲或爭用問題。
- 全表掃描頻率:持續高比例全表掃描 = 索引缺失或 SQL 未優化。若全表掃描返回行數 < 20% 表總行數,極大概率缺索引。
- 事務日志響應時間:LGWR 寫入延遲直接影響 COMMIT 延遲。同樣控制在 10ms 內。
- 行讀取/行返回比率:
consistent gets / rows returned。比率 > 20 表明大量無效掃描,需檢查索引設計與統計信息。
- 人為錯誤:最大的風險來自 DBA 自身——忽略 AWR/Statspack、未配置 OEM 告警、參數亂改。定期自檢,建立變更管理流程。
總結
工具輔助,核心在人。建立基線、設置告警、定期複盤,將這 10 個 KPI 納入日常巡檢體系。