的OPTIMIZER_FEATURES_ENABLE
初始化参数(或暗示)控制一组优化器相关的功能,这取决于该数据库的版本。
该参数接受与发行版号相对应的有效字符串值的列表之一,例如11.2.0.2
或12.2.0.1
。您可以使用此参数在数据库升级后保留优化器的旧行为。例如,如果将Oracle Database 12c第1版(12.1.0.2)升级到Oracle Database 12c第2版(12.2.0.1),则OPTIMIZER_FEATURES_ENABLE
参数的默认值将从更改12.1.0.2
为12.2.0.1
。
为了向后兼容,您可能不希望由于新版本中的新优化器功能而更改执行计划。在这种情况下,可以设置OPTIMIZER_FEATURES_ENABLE
为早期版本。如果升级到新版本,如果你想启用新版本中的功能,那么你就不会需要明确设置OPTIMIZER_FEATURES_ENABLE
初始化参数。
警告:
Oracle建议不要将OPTIMIZER_FEATURES_ENABLE
初始化参数显式设置为早期版本。为避免执行计划更改可能导致SQL性能下降,请考虑改用SQL计划管理。
假设条件
本教程假定以下内容:
- 您最近将数据库从Oracle Database 12c第1版(12 1.0.2)升级到Oracle Database 12c第2版(12.2.0.1)。
- 您要保留早期版本中的优化器行为。
要为特定版本启用查询优化器功能:
- 使用适当的特权登录到数据库,然后查询当前的优化器功能设置。
例如,运行以下SQL * Plus命令:
SQL> SHOW PARAMETER optimizer_features_enable NAME TYPE VALUE ------------------------------------ ----------- -------- optimizer_features_enable string 12.2.0.1
复制 - 在实例或会话级别设置优化器功能设置。
例如,运行以下SQL语句将优化程序版本设置为
12.1.0.2
:SQL> ALTER SYSTEM SET OPTIMIZER_FEATURES_ENABLE='12.1.0.2';
复制前面的语句恢复了Oracle Database 12c第1版(12.1.0.2)中存在的优化程序功能。
也可以看看:
- “ 管理SQL计划基准 ”
- 《 Oracle数据库参考》以了解在设置
OPTIMIZER_FEATURES_ENABLE
为不同的发行版值 时启用的优化器功能
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1296次阅读
2025-03-13 11:40:53
【专家观点】罗敏:从理论到真实SQL,感受DeepSeek如何做性能优化
墨天轮编辑部
1280次阅读
2025-03-06 16:45:38
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
782次阅读
2025-03-17 11:33:53
Oracle+Deepseek+Dify 实现数据库数据实时分析
bicewow
705次阅读
2025-03-06 09:41:49
【ORACLE】ORACLE19C在19.13版本前的一个严重BUG-24761824
DarkAthena
570次阅读
2025-03-04 14:33:31
Oracle避坑指南|同名表导出难题:如何精准排除指定用户下的表?
szrsu
535次阅读
2025-03-05 00:42:34
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
458次阅读
2025-03-13 14:38:19
Ogg23ai高手必看-MySQL Innodb Cluster跟oracle的亲密接触
曹海峰
455次阅读
2025-03-04 21:56:13
【ORACLE】char类型和sql优化器发生的“错误”反应
DarkAthena
406次阅读
2025-03-04 23:05:01
SQL优化 - explain查看SQL执行计划(一)
金同学
390次阅读
2025-03-13 16:04:22