| 參數 | 說明 | 建議值 |
|---|---|---|
| PGA_AGGREGATE_TARGET | 所有PGA總大小 | 實體記憶體 - SGA |
| WORKAREA_SIZE_POLICY | AUTO/MANUAL | AUTO (需設定PGA_AGGREGATE_TARGET) |
啟用後,SORT_AREA_SIZE、HASH_AREA_SIZE等手動參數自動失效。
-- 關鍵指標
SELECT * FROM v$sysstat WHERE name LIKE '%sort%';
-- sorts (memory) : 純記憶體完成排序數
-- sorts (disk) : 需磁碟臨時段排序數
-- sorts (rows) : 總排序行數
-- 磁碟排序比率 < 5% 為健康
SELECT disk.value disk, mem.value mem, (disk.value/mem.value)*100 ratio
FROM v$sysstat disk, v$sysstat mem
WHERE disk.name='sorts (disk)' AND mem.name='sorts (memory)';
比率超標 → 增加PGA_AGGREGATE_TARGET或SORT_AREA_SIZE (手動模式)。
-- 即時監控
SELECT tablespace_name, current_users, total_extents, used_extents,
extent_hits, max_used_blocks, max_sort_blocks
FROM v$sort_segment;
| 欄位 | 含義 |
|---|---|
| CURRENT_USERS | 活躍使用者數 |
| TOTAL_EXTENTS | 總Extent數 |
| USED_EXTENTS | 排序佔用Extent數 |
| EXTENT_HITS | 從池中重用Extent次數 (越高越好) |
| MAX_USED_BLOCKS | 歷史最大使用區塊數 |
| MAX_SORT_BLOCKS | 單一排序最大區塊數 |
INITIAL/NEXT = SORT_AREA_SIZE整數倍 + 1區塊(段標頭)PCTINCREASE = 0 (固定Extent大小)資料已預排序時,建立索引可跳過排序階段:
CREATE INDEX idx_name ON table_name(col_name) NOSORT;
需確認資料確實依該欄位有序,否則報錯。