暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

oracle 12c/19c rac 最佳参数优化实践

原创 四九年入国军 2024-11-11
930
--database  参数优化:
alter system set "_and_pruning_enabled"=FALSE;
--将b-tree索引转换成位图索引
alter system set "_b_tree_bitmap_plans"=FALSE;
--禁用布隆过滤
alter system set "_bloom_filter_enabled"=FALSE;
--该参数指定回滚时每次回滚的ENTRIES个数,设置成5000加快回滚速度,此值太大会延迟数据库的open时间
alter system set "_cleanup_rollback_entries"=5000 scope=spfile;
--11g+ 把集群范围全局性事务(分布式事务的一种)当做单独的事务通过多阶段提交协调处理(不让跨节点)
alter system set "_clusterwide_global_transactions"=FALSE scope=spfile;
--限制子游标数量
alter system set "_cursor_obsolete_threshold"=500  scope=spfile;
alter system set "_datafile_open_errors_crash_instance"=FALSE;
alter system set "_datafile_write_errors_crash_instance"=FALSE;
--alert 日志里不输出类似"Resize operation completed 信息"
alter system set "_disable_file_resize_logging"=TRUE;
--大量登陆会导致 user$更新(它会记录用户的最后登录时间),出现library cache lock  12.1/12.2/19c,需要安装特定补丁
alter system set "_disable_last_successful_login_time"=TRUE;
--12c新特性:在sysaux里记录了hos objects信息导致sysaux快速增长,可以通过以下参数在线关闭
alter system set "_drop_stat_segment"=1;
----关闭ACS特性
alter system set "_optim_peek_user_binds"=FALSE;
alter system set "_optimizer_adaptive_cursor_sharing"=FALSE;
alter system set "_optimizer_ads_use_result_cache"=FALSE;
alter system set "_optimizer_cartesian_enabled"=FALSE;
alter system set "_optimizer_enhanced_join_elimination"=FALSE;
alter system set "_optimizer_extended_cursor_sharing"='NONE';
alter system set "_optimizer_extended_cursor_sharing_rel"='NONE';
alter system set "_optimizer_partial_join_eval"=FALSE;
--12c 新特性:标量子查询自动改写,建议关闭
alter system set "_optimizer_unnest_scalar_sq"=FALSE;
--关闭"基数反馈",原因是bug多和执行计划不稳定
alter system set "_optimizer_use_feedback"=FALSE;
--建议关闭分区使用大的初始化区
alter system set "_partition_large_extents"='FALSE';
----在11G+版本中,建议启用大池(Large Pool)分配并行进程内存,减少对共享池(Shared Pool)的争用
alter system set "_PX_use_large_pool"=TRUE scope=spfile;
--避免mmon_slave的SQL消耗过多CPU资源,默认值60,建议修改为0:awr里能看到很长以WITH MONITOR_DATA AS 开头的sql语句
alter system set "_report_capture_cycle_time"=0;
--默认值0,保持有更多满足系统的online状态的undo,根据系统的特征设置(enq: US – contention等),副作用:startup会变慢
alter system set "_rollback_segment_count"=2000;
--减少对LOBs字段频繁的update
alter system set "_securefiles_concurrency_estimate"=50 scope=spfile;
--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='*';
--设置shared pool保留比率
alter system set "_shared_pool_reserved_pct"=20 scope=spfile;
--可以很好的实现在undo自动管理模式下,指定事务在特定的回滚段,在某些极限情况下,可以通过该操作来减少回滚段争用
alter system set "_smu_debug_mode"=134217728;
--禁用SPD
alter system set "_sql_plan_directive_mgmt_control"=0;
--密码错误登陆延迟导致library cache lock,老版本中28401 event并不能完全解决,12c/19c还需要设置该参数。
alter system set "_sys_logon_delay"=0 scope=spfile;
--避免多log writer 在内部管理和切换上导致log file worker group相关等待
alter system set "_use_single_log_writer"='TRUE' scope=spfile;
alter system set "db_cache_advice"='OFF';
alter system  set parallel_force_local=TRUE scope=spfile sid='*';
alter system  set db_files=8000 scope=spfile sid='*';
--12c开始的新特性,启用这个参数会搜集客户端的一些信息,造成登录/登出 巨慢(和10g,11g对比,性能差10倍)
alter system  set client_statistics_level=OFF scope=spfile;
alter system  set control_file_record_keep_time=39  scope=spfile sid='*';
alter system set "_undo_autotune" = false sid='*';
alter system  set undo_retention=7200   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 "_lm_drm_disable"=7 SCOPE=BOTH SID='*';
--这个参数其实也没有明确的标准,如果有遇到Log file sync问题可以考虑设上进行隔离规避
alter system  set "_use_adaptive_log_file_sync"='FALSE';
--在11G以上版本中,建议关闭延迟段创建的特性。
alter system  set deferred_segment_creation = false   scope=spfile sid='*';
--如数据库没有活动,最长时间30分钟切一次归档
alter system  set ARCHIVE_LAG_TARGET=1800 scope=spfile sid='*';
--块写入校验,防止逻辑坏块
--每次写都会看数据有没有坏块
alter system  set DB_BLOCK_CHECKING=MEDIUM   scope=spfile sid='*';
--每次读写都会看数据有没有坏块,写的时候会生成一个新的,读的时候验证。 消耗写性能增加2~3%
alter system  set DB_BLOCK_CHECKSUM=FULL     scope=spfile sid='*';
--dg里防止写丢失,保证所有数据都写到dg那端
alter system  set DB_LOST_WRITE_PROTECT=TYPICAL      scope=spfile sid='*';
--打开这个参数可以将ddl语句记录在alert日志中。以便于某些故障的排查。建议在OLTP类系统中使用。
alter system  set ENABLE_DDL_LOGGING=true scope=spfile sid='*';     
--关闭自适应执行计划,bug多,易造成执行计划抖动
alter system  set OPTIMIZER_ADAPTIVE_PLANS=false scope=spfile sid='*';
alter system  set OPTIMIZER_ADAPTIVE_STATISTICS=false scope=spfile sid='*';
alter system set sec_max_failed_login_attempts=100 scope=spfile;
alter system set parallel_execution_message_size=32768  sid='*' scope=spfile;
alter  system  set audit_trail=none  scope=spfile;
alter system set result_cache_max_size= 0  sid='*';                                
alter system set resource_manager_plan='force:' sid='*' scope=spfile;
--不允许 merge join 笛卡尔积访问
alter  system set  "_optimizer_mjc_enabled"=false   sid='*' scope=spfile;
--关闭result cache功能启用情况下优化器自适应功能
alter system set "_keep_remote_column_size"=true sid='*' scope=spfile;
alter system set "_ash_size"=254M sid='*';
--12c、19c  trc产生太多,可以关闭非重要的trc产生
alter  system set  trace_enabled=false sid='*'  sid='*';
--12c开始列搜集增强,SQL 语句中列数过多导会导致的高 CPU 使用率,从而造成insert效率下降
alter system set "_column_tracking_level"=1 scope=spfile;
alter system set max_dump_file_size='1024M' scope=spfile sid='*';
--完全禁用空间管理任务
alter system set "_enable_spacebg"= false sid='*';
alter system set parallel_max_servers=cpu_count乘以2   ;
alter system set event='10849 trace name context forever,level 1','10949 trace name context forever,level 1','19823 trace name context forever,level 90','28401 trace name context forever,level 1','44951 trace name context forever,level 1024' scope=spfile;
--event 说明:
event 28401: 密码延迟登陆特性
event 60025: 清理非活动状态下的lob【一些场景下lob没被及时清理,导致temp暴涨】
event 10949: 11g新特性,将全表扫描自动转成直接路径读,该event可以关闭这个特性
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论