从Oracle 12.2 中引入新特性:加入参数OPTIMIZER_ADAPTIVE_PLANS和 OPTIMITER_ADAPTIVE_STATISTICS; 但是在Oracle 12.1中我们也可以通过打补丁来使用12.2的Adaptive新特性来摒弃本用一个参数OPTIMIZER_ADAPTIVE_FEATURES来管理ADAPTIVE PLANS 和 ADAPTIVE STATISTICS两个部分的机制。
关于Adaptive新特性的推荐, 请您参考:
MOS: Note: 2187449.1 Recommendations for Adaptive Features in Oracle Database 12.1
关于12.2新特性的更多信息, 请您参考:
http://docs.oracle.com/database/122/REFRN/OPTIMIZER_ADAPTIVE_PLANS.htm#BEGIN
==> 1.211 OPTIMIZER_ADAPTIVE_PLANS 默认值为 true
http://docs.oracle.com/database/122/REFRN/OPTIMIZER_ADAPTIVE_STATISTICS.htm#BEGIN
==> 1.213 OPTIMIZER_ADAPTIVE_STATISTICS 默认值为 false
http://docs.oracle.com/database/122/UPGRD/initialization-parameter-changes-oracle-database-12c-r2.htm#UPGRD-GUID-BBBA10C4-F00A-4A9A-95A8-CCD925E4041C
==>OPTIMIZER_ADAPTIVE_PLANS 和 OPTIMIZER_ADAPTIVE_STATISTICS
https://blogs.oracle.com/UPGRADE/entry/optimizer_adaptive_features_obsolete_in
https://blogs.oracle.com/optimizer/entry/optimizer_adaptive_features_in_the
在您的数据库升级到Oracle 12.1后,推荐您打下面的两个补丁:
The patch for bug# 22652097 –引入两个参数OPTIMIZER_ADAPTIVE_PLANS 和 OPTIMIZER_ADAPTIVE_STATISTICS,并进一步删除OPTIMIZER_ADAPTIVE_FEATURES
The patch for bug# 21171382 — 无效化扩展统计信息的自动创建,除非把优化器参数AUTO_STATS_EXTENSIONS设置成ON.
在打上面的patch的时候,执行命令:alter system reset optimizer_adaptive_features; 在打完上面补丁后,请您务必从spfile中删除参数OPTIMIZER_ADAPTIVE_FEATURES。
这样的话,如果当您升级数据库到Oracle 12.1后碰到adaptive特性导致的性能问题时,这两个one off patch应该能帮助到您(使得 Adaptive Plan<参数:OPTIMIZER_ADAPTIVE_PLANS默认true>和Adaptive Statistics<参数:OPTIMITER_ADAPTIVE_STATISTICS默认false>分别用自己的参数来进行管理, 这两个默认值设置使得执行计划更加稳定)。
请注意没有必要把参数OPTIMIZER_DYNAMIC_SAMPLING设置成非默认值(2以外),
因为这些补丁将无效化adaptive dynamic sampling的使用; 并进一步删除OPTIMIZER_ADAPTIVE_FEATURES为false<默认>
参考于:https://blogs.oracle.com/UPGRADE/entry/enabling_adaptive_features_of_oracle