理解緩衝區內部運作是效能調校關鍵。Oracle 8i 引入「中點插入」策略,將緩衝區劃分為熱區與冷區,大幅提升常用資料塊留存率。
_db_percent_hot_default
_db_percent_hot_keep
_db_percent_hot_recycle
警告:非官方支援參數,僅供深諳內部機制的資深 DBA 在嚴格測試後調整。
關鍵欄位:
TCH:觸碰計數(Touch Count),存取次數。超過 _db_aging_hot_criteria 閾值者升入熱區。TIM:兩次存取時間差,關聯 _db_aging_touch_time。查詢熱區塊(TCH > 10):
SELECT obj, dbarfil, dbablk, tch
FROM x$bh
WHERE tch > 10
ORDER BY tch DESC;
識別熱門物件後,可考慮移入 KEEP 池長期駐留。
SELECT COUNT(*) FROM table 預熱所有表,將所有區塊載入緩衝區。-- 已分配區塊總數
SELECT SUM(blocks) FROM dba_data_files;
-- 實際使用區塊數
SELECT SUM(blocks) FROM dba_extents;
隨資料成長需同步調整 db_block_buffers(或 9i+ db_cache_size)。
中點插入 + 熱/冷區分離 + 觸碰計數老化,構成 Oracle 8i+ 緩衝區高效管理核心。善用 X$BH 監控熱門物件,配合 KEEP/RECYCLE 池與完整緩衝策略,可極大化記憶體投資報酬率。