| 參數名稱 | 說明 | 值域 | 預設值 |
|---|---|---|---|
session_max_open_files | 單一 Session 可開啟 BFILE 最大數,受 OS MAX_OPEN_FILES 限制 | 1 ~ max(50, OS_MAX_OPEN_FILES) | 10 |
parallel_execution_message_size | 並行訊息緩衝區大小 (PQ, PDML, 復原, 複寫);>2048 需擴大 Shared Pool | 2148 ~ 無上限 | 2148 (AUTOTUNING=FALSE) 4096 (AUTOTUNING=TRUE) |
parallel_min_percent | 並行執行要求的最小執行緒百分比;不足時回報錯誤而非降級執行 | 0 ~ 100 | 0 (不啟用) |
parallel_automatic_tuning | 啟用後 Oracle 自動決定並行相關參數預設值;仍需為表設定並行度 | TRUE / FALSE | FALSE |
parallel_threads_per_cpu | 每 CPU 可處理的並行執行緒數,影響自適應演算法與負載平衡 | 非零整數 | OS 相關 (通常 2) |
parallel_broadcast_enabled | 大結果集 Join 小結果集時,啟用廣播分佈以提升效能 (Hash/Merge Join) | TRUE / FALSE | FALSE |
parallel_adaptive_multi_user | 多用戶環境自適應演算法,依系統負載自動降低請求並行度;配合 AUTOTUNING=TRUE 效果最佳 | TRUE / FALSE | AUTOTUNING=TRUE 時 TRUE,否則 FALSE |
parallel_max_servers | 單一 Instance 並行執行伺服器/復原程序最大數;啟動時配置的 Query Server 可增長至上限 | 0 ~ 256 | 由 CPU_COUNT、AUTOTUNING、ADAPTIVE_MULTI_USER 決定 |
parallel_min_servers | Instance 啟動後預先建立的並行查詢伺服器最小數量 | 0 ~ PARALLEL_MAX_SERVERS | 0 |
PARALLEL_MAX_SERVERS 建議設為 CPU_COUNT × 2 ~ 4(視 I/O 能力)。PARALLEL_AUTOMATIC_TUNING = TRUE,搭配 PARALLEL_ADAPTIVE_MULTI_USER = TRUE,讓 Oracle 依負載動態調整。PARALLEL (DEGREE n) 或 Hint /*+ PARALLEL(t, 8) */ 覆蓋系統預設。大型並行查詢 (PX) 若出現 PX Deq: Execution Msg 等待事件,嘗試將 PARALLEL_EXECUTION_MESSAGE_SIZE 調大至 4096 或 8192,並相應增加 SHARED_POOL_SIZE 或 LARGE_POOL_SIZE (若 AUTOTUNING=TRUE)。
-- 並行伺服器使用狀況
SELECT * FROM V$PX_PROCESS_SYSSTAT;
-- 並行查詢執行統計
SELECT * FROM V$PQ_SESSTAT;
-- 並行執行等待事件
SELECT event, total_waits, time_waited_micro
FROM V$SYSTEM_EVENT
WHERE event LIKE 'PX%';