/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
。参考来源: