数据库11g rac 参数优化:
--调整最大进程数(以下值为一般设定值,根据具体应用要求)
alter system set processes=1000 scope=spfile sid='*';
alter system set resource_manager_plan='FORCE:' scope =spfile sid='*';
--禁用AUDIT
alter system set audit_trail=none scope=spfile sid='*';
alter system set undo_retention=10800 scope=spfile sid='*';
alter system set session_cached_cursors=500 scope=spfile sid='*';
alter system set db_files=5000 scope=spfile sid='*';
--客户端在连接到服务器进程时可以进行的身份验证尝试次数。 经过指定次数的失败尝试后,服务器进程将自动删除连接(默认10偏小)
alter system set sec_max_failed_login_attempts=100 scope=spfile sid='*';
--延迟段创建关闭
alter system set deferred_segment_creation=false scope=spfile sid='*';
alter system set parallel_force_local=true scope=spfile sid='*';
--不超过逻辑cpu的两倍
alter system set parallel_max_servers=32 scope=spfile sid='*';
--关闭密码大小写敏感
alter system set sec_case_sensitive_logon=false scope=spfile sid='*';
--单个进程同时打开的游标数
alter system set open_cursors=3000 scope=spfile sid='*';
--每个session最多允许的dblink数量
alter system set open_links =40 scope=spfile sid='*';
--每个实例最多允许的dblink个数
alter system set open_links_per_instance =40 scope=spfile sid='*';
--sga 建议设置物理内存*80%*80%(物理内存*64%),以下内存设置是安装物理内存4.2G计算
alter system set sga_target=2600M scope=spfile sid='*';
alter system set sga_max_size=2600M scope=spfile sid='*';
--db_cache_size 按照sga的60%~70%
alter system set db_cache_size=1612M scope=spfile sid='*';
--大内存建议手工设置shared_pool:建议sga的20%
alter system set shared_pool_size=520M scope=spfile sid='*';
alter system set large_pool_size=512m scope=spfile sid='*';
alter system set java_pool_size=512m scope=spfile sid='*';
alter system set db_cache_advice=off scope=spfile sid='*';
--指定 RAC实例间的实例间通信的后台GCS服务器进程(LMSn和LMnn)的数量,想用配置的机器可以不修改
alter system set gcs_server_processes=6 scope=spfile sid='*';
--关闭结果集缓存
alter system set result_cache_max_size = 0 sid='*';
--建议关闭绑定变量窥视
alter system set "_optim_peek_user_binds"=FALSE scope=spfile sid='*';
--将b-tree索引转换成位图索引
alter system set "_b_tree_bitmap_plans"=false scope=spfile sid='*';
--关闭RAC的DRM(dynamic remastering)特性
alter system set "_gc_policy_time"=0 scope=spfile sid='*';
alter system set "_gc_undo_affinity"=false scope=spfile sid='*';
alter system set "_gc_defer_time"=3 scope=spfile sid='*';
alter system set "_lm_sync_timeout"=1200 scope=spfile;
--_lm_tickets参数控制了RAC消息通讯中的tickets数量,在不同版本的Oracle数据库中,对于较大型、负载较高的数据库来说,是不够的,仅仅为1000。
--为了确保高负载的大型数据库在运行中不会因为tickets不足而导致性能问题甚至引发集群故障,该参数建议设置为5000或者更大
alter system set "_lm_tickets"=5000 scope=spfile sid='*';
--关闭"基数反馈",原因是bug多和执行计划不稳定
alter system set "_optimizer_use_feedback"=false sid='*';
alter system set "_undo_autotune"=false scope=both sid='*';
--禁用布隆过滤
alter system set "_bloom_filter_enabled"=FALSE scope=spfile sid='*';
--该参数指定回滚时每次回滚的ENTRIES个数,设置成2000加快回滚速度
alter system set "_cleanup_rollback_entries"=2000 scope=spfile sid='*';
--默认值0,保持有更多满足系统的online状态的undo,根据系统的特征设置(enq: US – contention等),副作用:startup会变慢
alter system set "_rollback_segment_count"=2000;
--在11G+版本中,建议启用大池(Large Pool)分配并行进程内存,减少对共享池(Shared Pool)的争用
alter system set "_px_use_large_pool"=true scope=spfile sid='*';
--关闭use_adaptive_log_file_sync特性
ALTER SYSTEM SET "_use_adaptive_log_file_sync"=FALSE scope=both sid='*';
--关闭直接路径读特性,IO强劲的环境,不建议关闭(比如一体机、全闪盘关闭会影响性能)
alter system set "_serial_direct_read"=NEVER scope=spfile sid='*';
--关闭ACS特性
alter system set "_optimizer_extended_cursor_sharing_rel"=NONE scope=spfile sid='*';
alter system set "_optimizer_extended_cursor_sharing"=NONE scope=spfile sid='*';
alter system set "_optimizer_adaptive_cursor_sharing"=false scope=spfile sid='*';
alter system set "_optimizer_cartesian_enabled"=FALSE scope=spfile sid='*';
alter system set "_sort_elimination_cost_ratio"=1 scope=spfile sid='*';
--建议关闭分区使用大的初始化区
alter system set "_partition_large_extents"=FALSE scope=spfile sid='*';
--建议关闭分区索引使用大的初始化区
alter system set "_index_partition_large_extents"=FALSE scope=spfile sid='*';
alter system set parallel_execution_message_size=32768 sid='*' scope=spfile;
--设置索引坏块自我修复
alter system set "_ktb_debug_flags"=8 scope=spfile;
--当sga_target=0时,内存部分组件还是会自动调整的原因就是这个参数控制的,建议设置成默认值true
alter system set "_memory_imm_mode_without_autosga"=true scope=spfile sid='*';
--把集群范围全局性事务(分布式事务的一种)当做单独的事务通过多阶段提交协调处理
alter system set "_clusterwide_global_transactions"=FALSE scope=spfile sid='*';
--避免Wrong Results bug
alter system set "_part_access_version_by_number"=FALSE scope=spfile;
alter system set "_ksmg_granule_size"=134217728 scope=spfile;
--表示如果受到外来scn(dblink)影响跳变时间超过1小时(默认值是24小时),就在alertlog记录一条告警信息
alter system set "_external_scn_logging_threshold_seconds"=3600 scope=spfile;
--当非系统表空间的数据文件出现I/O问题时,不强制将实例crash
alter system set "_datafile_write_errors_crash_instance"=false scope=spfile;
--指定数据库进行崩溃恢复需要的秒数:20分钟
alter system set fast_start_mttr_target=600 sid='*';
--指定数据库进行崩溃恢复需要的秒数:20分钟
alter system set fast_start_mttr_target=600 sid='*';
--设置部分event
alter system set event='28401 TRACE NAME CONTEXT FOREVER, LEVEL 1:60025 trace name context forever:10949 trace name context forever,level 1' sid='*' scope=spfile;
--event 说明:
event 28401: 密码延迟登陆特性
event 60025: 清理非活动状态下的lob【一些场景下lob没被及时清理,导致temp暴涨】
event 10949: 11g新特性,将全表扫描自动转成直接路径读,该event可以关闭这个特性
大于参数 _small_table_threshold的表(单位block,默认是buffer_cache的2%),被认识是大表,使用direct path read;在11.2版本之前,大于该参数5倍,才会走直接路径读。
另外DPR 特性也跟_very_large_object_threshold参数有关(单位是MB,默认值是500)。这个参数需要结合10949事件共同发挥作用。
10049和_very_large_object_threshold参数一起的时候,只要_very_large_object_threshold小于目标表大小*0.8;就可以不走direct path read。
所以,要想完全禁用非并行执行时的直接路径读,只要将_very_large_object_threshold设置的足够大即可,
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




