Freelist 管理表空間自由空間,位於段頭區塊,透過單向鏈表串聯可用資料塊。掌握其行為對高併發 INSERT/UPDATE 系統調優至關重要。
FREELISTS=N → 段頭建立 N 條獨立鏈表,減少 Latch 爭用。100-PCTFREE% → 從 Freelist 移除 (Unlink)。PCTFREE=10 → 90% 滿即移除,保留 10% 供行擴展。PCTUSED% 以下 → 重新加入 Freelist 表頭 (Relink)。PCTUSED=40 → 使用率 < 40% 即回鏈表最前端。關鍵誤區:一旦 Relink,塊將**永遠留在 Freelist**,即使後續使用率超過 60%,直到達 PCTFREE 才 Unlink。非「超過 PCTUSED 即踢出」。
DB_BLOCK_SIZE 科學設定 PCTFREE/PCTUSED。FREELISTS=50~200。SEGMENT SPACE MANAGEMENT AUTO (ASSM),使用 Bitmap 取代鏈表,自動管理、無參數調優、RAC 友善。FREELISTS/PCTUSED 參數被忽略。