关于升级至12cR2版本的Optimizer 自适应特性的设置建议
优化器自适应特性的设置是需要考虑比较慎重的一个点,oracle的产品经理 Nigel Bayliss 也公布了几篇关于此方面的设置参考,具体如下(建议看下参考文档):
情景1
从Oracle Database 11g(或更早版本)升级
将数据库升级到Oracle Database 12c第2版后,建议使用默认的自适应功能设置。为此,只需在数据库的初始化参数文件中不包含任何自适应功能参数。换句话说,不需要设置optimizer_adaptive_plans或optimizer_adaptive_statistics。
把事情简单化!
场景2
从Oracle Database 12c第1版升级,其中应用了21171382和22652097的修补程序。
这两个补丁使Oracle Database 12c第1版数据库能够使用与Oracle Database 12c第2版相同的自适应功能设置。
可以升级带有这些补丁的Oracle Database 12c第1版数据库,而无需更改任何自适应功能设置。
或者,如果没有使用推荐的默认值预升级,并且希望在升级后使用,那么建议如下设置:
- 从数据库初始化参数文件中删除对optimizer_adaptive_plans和optimizer_adaptive_statistics的引用。
- 确保使用DBMS_STATS.SET_GLOBAL_PREFS将DBMS_STATS首选项
- AUTO_STAT_EXTENSIONS设置为OFF
场景3
尚未应用从Oracle Database 12c第1版升级以及21171382和22652097的修补程序。
如果在Oracle数据库12c的第1版禁用了自适应功能(通过设置,例如,optimizer_adaptive_features到FALSE),那么而是使用Oracle数据库12c的第2版默认设置。为此,需要检查初始化参数文件,如下所示:
- 删除对optimizer_adaptive_features参数的引用(它在Oracle Database 12c第2版中已过时)。
- 删除用于禁用各种自适应功能的任何修复控件和隐藏参数设置。固定控制像12914055,12914055和7452863以隐藏参数等一起被典型地使用_optimizer_dsdir_usage_control和_sql_plan_directive_mgmt_control。
- 无需设置optimizer_adaptive_plans和optimizer_adaptive_statistics,因为默认值是建议值。
如果在Oracle Database 12c第1版数据库中启用了自适应功能,并且想在数据库升级后以相同方式继续使用这些功能,则:
- 从 初始化文件中删除对optimizer_adaptive_features的引用
(在Oracle Database 12c第2版中已过时)。 - 将optimizer_adaptive_statistics = TRUE添加到初始化参数文件中(并且不需要设置optimizer_adaptive_plans,因为默认值为TRUE)。
- 使用DBMS_STATS.SET_GLOBAL_PREFS将DBMS_STATS首选项
- AUTO_STAT_EXTENSIONS设置为ON
参考文档:
https://blogs.oracle.com/optimizer/optimizer-adaptive-features-and-upgrading-to-oracle-database-12c-release-2
https://blogs.oracle.com/optimizer/the-oracle-12102-october-2017-bp-and-the-adaptive-optimizer
https://mikedietrichde.com/2017/07/06/adpative-features-patches-oracle-peoplesoft/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了