那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼

有很多朋友因为11gR2那些潜在的特性可能给升级后系统稳定运行带来麻烦而无法鼓足升级到11gR2的勇气,实际Oracle在开发新版本RDBMS软件时引入的一些特性有很好的理念的,但是往往这些理念会给已稳定的应用环境带来变数,最显著的就是10g/9i升级到11gR2时的执行计划稳定性,此外adaptive cursor sharing 自适应游标、automatic serial direct path自动判断串行直接路径读、deferred segment creation、GC read mostly DRM…….等等的一系列特性已经在大量的案例中被证明是不适合于大量国产Application的。

 

我在这篇文章里想做的是给出一张列表,能够将11gR2的优化器optimizer特性、和其他的如上列的这些可能引起问题的特性通过参数的方式给出一张列表,你可以选择性的禁用这些特性,前提是你的Applicaiton就该特性经过充分的测试,如果没有时间或者环境来测试这些新特性,那么还不如禁用这些特性,禁用新特性的结果也仅仅是回到老版本(一般是10gR2 10.2.0.4)的默认表现上来。

 

你肯定要问:” 如果都禁用了11gR2的特性,那么我还升级做什么?”

 

回答是: 首先这里给出的是一张禁用11gR2特性列表,如果你对部分特性已经很熟悉,那么你可以选择性而非全部地禁用这些特性,如果不熟悉也测试不了,那么无畏给稳定的系统引入不确定因素。其次这里列出的仅仅是11gR2部分默认已启用的可能”惹祸”的特性, 其他的一些特性例如flashback archive、securefile,它们默认不开启,本身需要你去手动打开才会生效,并不会受到这张列表的影响。

 

注意,为了避免滥用,我仅列出这张列表的部分内容,如果你确实需要该列表,那么请去T.askmaclean.com论坛下载,下载地址传送

 

 

 

REM ===============================FOR STABLE OPTIMIZER===================================

alter system set "_enable_automatic_sqltune"=false scope=both;       Automatic SQL Tuning Advisory enabled parameter  

#以下优化器参数均可以在session/system级别设置,一般优化器参数均可以在线修改            
alter session set "_serial_direct_read"=false;
alter session set "_nlj_batching_enabled" = 0; 
alter session set "_optimizer_undo_cost_change" = '10.2.0.4'; -- 11.2.0.1
alter session set "_optimizer_null_aware_antijoin" = false; -- true
alter session set "_optimizer_extend_jppd_view_types" = false; -- true
alter session set "_replace_virtual_columns" = false; -- true
alter session set "_first_k_rows_dynamic_proration" = false; -- true
alter session set "_bloom_pruning_enabled" = false; -- true
alter session set "_optimizer_multi_level_push_pred" = false; -- true
alter session set "_optimizer_group_by_placement" = false; -- true
alter session set "_optimizer_extended_cursor_sharing_rel" = none; -- simple
alter session set "_optimizer_adaptive_cursor_sharing" = false; -- true
alter session set "_optimizer_improve_selectivity" = false ; -- true
alter session set "_optimizer_enable_density_improvements" = false; -- true
alter session set "_optimizer_native_full_outer_join" = off; -- force
alter session set "_optimizer_enable_extended_stats" = false; -- true
alter session set "_nlj_batching_enabled" = 0; -- 1
alter session set "_optimizer_extended_stats_usage_control" = 255; -- 224
alter session set "_bloom_folding_enabled" = false; -- true
alter session set "_optimizer_coalesce_subqueries" = false; -- true
alter session set "_optimizer_fast_pred_transitivity" = false; -- true
alter session set "_optimizer_fast_access_pred_analysis" = false; -- true
alter session set "_optimizer_unnest_disjunctive_subq" = false; -- true
alter session set "_optimizer_unnest_corr_set_subq" = false; -- true
alter session set "_optimizer_distinct_agg_transform" = false; -- true
alter session set "_aggregation_optimization_settings" = 32; -- 0
alter session set "_optimizer_connect_by_elim_dups" = false; -- true
alter session set "_optimizer_eliminate_filtering_join" = false; -- true
alter session set "_connect_by_use_union_all" = old_plan_mode; --true
alter session set "_optimizer_join_factorization" = false; -- true
alter session set "_optimizer_use_cbqt_star_transformation" = false; -- true
alter session set "_optimizer_table_expansion" = false ; -- true
alter session set "_and_pruning_enabled" = false ; -- true
alter session set "_optimizer_distinct_placement" = false ; -- true
alter session set "_optimizer_use_feedback" = false ; -- true
alter session set "_optimizer_try_st_before_jppd" = false ; -- true

REM ===============================MEMORY===================================

alter system set "_memory_imm_mode_without_autosga"=false scope=both; 
alter system set "_enable_shared_pool_durations"=false scope=spfile;

REM ===============================SEGMENT==================================
alter system set deferred_segment_creation=false; 

.................

这位作者还没有填写简介。

查看所有文章

28 条评论

  1. Charlie 木匠 (@mujiang) October 24, 2012

    伙计, 你研究的的确是深入.

    我们比较幸运, 升级以后没有碰到任何性能问题.

  2. qingemini November 1, 2012

    求一个邀请码,好进入论坛下载资料学习,是否可以,多谢~

    1. Maclean Liu November 1, 2012

      FYI e26b46044fp227lw

  3. Silent Installation静默安装11gR2 DB SERVER单机并手动建库步骤 | Ask Maclean Oracle Blog November 6, 2012

    […] 那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼 […]

  4. haha216 November 12, 2012

    地址是个论坛,还得注册,求邀请码一个,能不能发我邮箱里呢?

  5. ryan November 16, 2012

    求一个邀請碼,好申請論譠帳號,能否寄到我的mail中

    1. Maclean Liu November 18, 2012

      FYI 06a458ab88mB7DoQ

  6. wangxy November 20, 2012

    老大,给个邀请码!谢谢!

    1. Maclean Liu November 21, 2012

      d24c675d77yOISzt

  7. gbzcm November 21, 2012

    一直在学习你的大作,非常钦佩,能否发一个邀请码到我的邮箱,多谢!

    1. Maclean Liu November 21, 2012

      348d80538dCPKP1n

  8. ray November 30, 2012

    老大,给个邀请码?

    1. Maclean Liu November 30, 2012

      dcgvv9

  9. noko December 20, 2012

    老大,给个邀请码?

  10. zwc December 25, 2012

    你好,请给一个邀请码。

  11. 小新 September 24, 2013

    刘大,能否给个邀请码?多谢了!

  12. 小吴 October 14, 2013

    刘大,能否给个邀请码,或者发个列表我邮箱,多谢了。[email protected]

    1. maclean October 14, 2013

      请不要发任何三无的帖子,否则封号http://t.askmaclean.com/home.php?mod=invite&id=523&c=fifxhz

      1. 小吴 October 15, 2013

        老大,“链接被使用了”。。。好像别人也都看的到。。。能否私信给一个。多谢。

      2. 小吴 October 15, 2013

        在线等。。。

  13. 小凌 October 15, 2013

    求邀请码,[email protected]

    1. Ask_Maclean_liu_Oracle October 15, 2013
  14. mike October 15, 2013

    求邀请码,[email protected]

    1. Ask_Maclean_liu_Oracle October 15, 2013
  15. John October 21, 2013

    求邀請碼, [email protected]

  16. qingqingxc January 13, 2014

    求邀请码,好进入论坛学习,多谢!

  17. cybean May 9, 2015

    求邀请码,好进入论坛学习,多谢!

回复 ryan 取消回复

Your email address will not be published. Required fields are marked *