那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼
2013-03-19 00:52
501 查看
有很多朋友因为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论坛下载,下载地址传送:
我在这篇文章里想做的是给出一张列表,能够将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; .................
相关文章推荐
- 那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼
- 在11gR2中可能惹祸的新特性
- 图解Oracle 11g physical standby Rolling Upgrade物理备库滚动升级特性
- Oracle 11g R2 RAC高可用连接特性 – SCAN详解
- 图解Oracle 11g physical standby Rolling Upgrade物理备库滚动升级特性
- 11gR2向表插入序列值跳值问题(deferred segment 新特性带来的糟糕体验)
- Oracle 10g R2升级到Oracle 11g R2
- Oracle 11g R2 RAC高可用连接特性 – SCAN详解1
- Oracle 11g R2 新特性:Deferred Segment Generation
- Oracle 11g R2文档泄露的几点新特性
- Oracle 11g R2 RAC高可用连接特性 – SCAN详解2
- Oracle 11g R2 新特性
- Oracle 11g R2令人赞赏的五大新特性
- Oracle 11g r2分析函数新特性(一)
- 转 -- Oracle 11g R2 RAC高可用连接特性 – SCAN详解
- 11g R1 & R2新特性介绍(针对DBA和开发者)
- Oracle 11g R2 RAC高可用连接特性 – SCAN详解
- 11gR2游标共享新特性带来的一些问题以及_cursor_features_enabled、_cursor_obsolete_threshold和106001 event
- 《.NET本质论》中摘到的一张表,可能对初学者有点帮助
- Oracle 11g R2 64bit 安装(Oracle linux 7实践,帮助新手安装oracle)