重要声明
本文的参数设置建议是根据多年的运维经验总结出来的,并且现实中各个地方的RAC环境差异很大(包括数据库版本、OS版本、硬件和网络等),因此本文不构成普适性建议!仅供参考!仅供参考!
附:
1.RAC安装文章地址汇总:
2.番外篇——RAC安装后的参数配置地址:
实验环境
OS:Oracle Linux 7.6
Grid&DB:Oracle 19.3
参数设置
1.关闭自适应游标共享参数
12c版本的自适应游标共享(隐藏参数)会带来过多子游标和ORA-04031的问题,为了避免19c遇到同样问题,建议先将其关闭(重启库后生效):
alter system set "_optimizer_adaptive_cursor_sharing"=false sid='*' scope=spfile;
alter system set "_optimizer_extended_cursor_sharing"=none sid='*' scope=spfile;
alter system set "_optimizer_extended_cursor_sharing_rel"=none sid='*' scope=spfile;
2.关闭RAC隐藏参数"_gc_bypass_reader"和 "_gc_read_mostly_lock"
为了避免RAC的用户进程卡死在"gc current request"这个数据库内部等待,大多与隐藏参数"_gc_bypass_reader"和 "_gc_read_mostly_lock",
在参数关闭后会发现RAC稳定性提升明显(不会影响性能),同时还发现这两个参数也有其他不少bug,因此建议关闭:
alter system set "_gc_bypass_readers"=false;
alter system set "_gc_read_mostly_locking"=false;
注:这两个参数可以针对每个节点单独修改
3.关闭RAC全局事务支持隐藏参数
alter system set "_clusterwide_global_transactions"=false sid='*' scope=spfile;
4.关闭跨实例并行参数
alter system set parallel_force_local=true scope=spfile sid='*';
5.关闭Cardinality feedback
12c版本的Cardinality feedback可能会导致执行计划的不稳定,为了避免19c发生,建议关闭:
alter system set "_optimizer_use_feedback"=false sid ='*' scope=spfile;
6.关闭UNDO_RETENTION的自动调整
避免undo自动调整发生的一系列bug:
alter system set "_undo_autotune"=false scope=spfile sid='*';
alter system set undo_retention=10800 scope=spfile sid='*';
7.关闭DRM的相关隐藏参数
同样是避免bug:
alter system set "_gc_policy_time"=0 scope=spfile sid='*';
alter system set "_gc_undo_affinity"=false sid='*';
8.关闭result_cache
使用该参数意义不大:
alter system set result_cache_max_size=0 scope=spfile sid='*';
9.关闭初始化extent的延迟创建功能
alter system set deferred_segment_creation=false scope=spfile sid='*';
10.关闭数据文件的自动扩展
生产环境强烈建议关闭数据文件自动扩展,为了避免空间膨胀“爆炸”,特别是temp和undo表空间