/etc/sysctl.conf
,添加:vm.nr_hugepages=1024
(根據物理內存調整,通常為內存的50%-70%),然后執行 sudo sysctl -p
生效。echo "never" | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo "never" | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
。vm.swappiness=0
(減少交換空間使用)。vm.max_map_count=262144
(避免ORA-4030錯誤)。sudo sysctl -p
使配置生效。memory_target
和 memory_max_target
統一管理SGA和PGA,無需單獨設置組件參數。ALTER SYSTEM SET memory_target=16G SCOPE=SPFILE;
ALTER SYSTEM SET memory_max_target=32G SCOPE=SPFILE;
sga_target
和 pga_aggregate_target
,需手動配置SGA各組件(如 shared_pool_size
)。ALTER SYSTEM SET sga_target=8G SCOPE=SPFILE;
ALTER SYSTEM SET pga_aggregate_target=2G SCOPE=SPFILE;
db_cache_size
、shared_pool_size
等參數,適合復雜場景。shared_pool_size
:建議為SGA的15%-20%,優化并發性能。db_cache_size
:設置為SGA的50%-60%,提升數據讀取效率。pga_aggregate_target
:通常為物理內存的5%-15%,避免過度占用內存。SHOW PARAMETER target; -- 查看AMM參數
SHOW PARAMETER sga_target; -- 查看SGA參數
SELECT * FROM v$sgainfo;
(查看SGA使用情況)。SELECT * FROM v$pga_aggregate_target_advice;
(查看PGA建議值)。top
、free -h
、vmstat 1 5
。參考來源: