_cursor_obsolete_threshold
此參數主要的用途是為了避免 child cursor 過多而造成 High Version Count 的問題,當 child cursor 的數量超過此參數的設定時,便會重新產生 Parent Cursor 。此參數於 11.2.0.3 的預設值為 100 、 11.2.0.4 預設值為 1024 ,而在 12.2 版本之後的預設值為 8192 ,表示一個 Parent Cursor 最多可產生 8192 個 Child Cursor ,顯然這個預設值是太高了,建議設定為 100 或 1024 。
_cursor_reload_failure_threshold
當多個 session 同時需要 parse 同一句 SQL 時,由於無法同時進行 parsing ,其中某幾個 session 可能會進行 retry (reload) 並重新嘗試 parsing ,如果同時執行同一句 SQL 的 session 太多時,就有可能造成 reload 頻率過高,進而產生 library cache contention 的問題而影響效能。此參數就是為了避免 cursor reload 的頻率過高,當 reload 的次數超過此參數的設定時,便會視為此 cursor 無效,也就不會卡住一個 library cache 的空間。 19.18 之後的參數預設值為 20 ,如果系統有 parsing 所造成的效能問題,則可以考慮再調降此參數值。
_adg_parselock_timeout
這個參數是為了避免 ADG 產生 ORA-4021 而 crash 的情況 :
此參數預設是 0 ,建議設定為 550 避免 ORA-4021 的問題。
_ksipc_service_mask
此參數預設為 1 ,表示 IPC (Inter-Process Communication) 預設使用 MGA , MGA (Managed Global Area) 是 12.1 版本開始引進的一個新的共享區域,主要是用來存放 process 與 process 之間相同且可以共享的空間位址, MGA 由系統按需求自動創建與刪除,目前 IPC 為這塊區域的主要使用者。
_use_large_pages_for_mga
此參數用來設定 MGA 是否使用 large page ,預設為 FALSE ,不建議 MGA 使用 large page 。
pga_aggregate_target
建議設定值為 5MB * 最大 session 數量,例如線上最大 session 數量為 1000 ,則 pga_aggregate_target 設定為 5MB * 1000 = 5GB 。
_use_adaptive_log_file_sync
此參數設定是否啟用 adaptive log file sync 功能,預設為 TRUE ,建議維持預設值啟用。
_lm_comm_channel
用來設定 GES (Global Enqueue Service) 所使用的協定,預設值為 msgq ,更改此參數會影響 GC 的效能,建議維持預設值。
_spin_count
當一個 process 嘗試獲取 latch 而沒有成功時,便會再重新嘗試獲取一次,當嘗試的次數超過 _spin_count 仍然無法獲得 latch 時,此 process 就會進入休眠的隊列 (Latch Wait List) ,直到上一個 latch 被釋放後,此 process 才會從 Latch Wait List 中再度被喚醒進行操作。在 multi-processor 的環境下,此參數的預設值為 2000 ,由於會影響等待 latch 的行為,不建議隨意更改。
gcs_server_processes
用來設定 GCS server processes (LMSn and LMnn) 的數量,建議值為 2 + (CPUs / 32) 。