12.1.0.2自适应特性导致SQL性能下降
背景介绍
在升级到12.1.0.2.0数据库版本后,在使用12c中引入的自适应特性默认配置的情况下,可能引起SQL性能的下降。
问题现象
升级到12.1.0.2.0后,SQL语句性能可能出现下降。
影响的产品及版本
Oracle 12.1.0.2.0
原因和触发条件
Oracle 12.1.0.2版本上,增加了2个自适应特性:自适应计划和自适应统计信息,这两个特性默认都是开启的,通过一个参数optimizer_adaptive_features控制,某些场景下可能会导致SQL语句性能问题发生;
- 自适应特性是一组能够使优化器对执行计划进行运行时调整的功能,并根据以前执行的结果调整将来执行的计划。
1. 自适应计划(Adaptive Plans)-允许在执行过程中更改计划。
2. 自适应统计信息(Adaptive Statistics)-允许基于先前执行的结果构建计划。可以通过SQL Plan Directives或自动创建扩展统计数据,在数据字典中保存一些更改数据。
- 在12.2中,参数optimizer_adaptive_features已经废弃。自适应特征是由两个新参数optimizer_adaptive_plans和optimizer_adaptive_statistics进行控制。
optimizer_adaptive_plans参数控制优化器是否创建自适应计划,默认为true。当optimizer_features_enable设置12.1.0.1或更高版本时,所有的自适应功能由optimizer_adaptive_plans控制启用。optimizer_adaptive_statistics参数控制优化器是否使用自适应统计,默认为false。
选择这些默认值是为了强调实现稳定的SQL执行计划。
解决方案
建议参照12.2的标准,升级12.1的自适应特性,您需要安装补丁:
Patch 22652097
将参数optimizer_adaptive_features废弃,并分成2个参数optimizer_adaptive_plans和optimizer_adaptive_statistics,分别用于控制自适应执行计划和自适应统计信息,默认启用自适应执行计划,禁用自适应统计信息;
Patch 21171382
禁用扩展统计信息自动生成,除非参数auto_stat_extensions被设置为ON。
如果你的环境是12.1,且遇到上述问题,您需要考虑安装以上2个补丁;如果上述补丁不存在于您的特定版本和平台,或者与现有补丁的冲突,请联系支持以请求修补程序。
参考文档
Recommendations for Adaptive Features in Oracle Database 12c (Adaptive Statistics & 12c SQL Performance) (Doc ID 2187449.1)
12.1.0.2自适应特性导致SQL性能下降的更多相关文章
- sqlt 之 分析 DB upgrade 导致SQL 性能下降 的方法 xplore
https://blog.csdn.net/lukeUnique/article/details/79331779 https://mauro-pagano.com/2014/10/27/when-t ...
- 统计信息不准导致sql性能下降
某局的预生产系统一条sql语句20分钟执行完,上线以后2个小时没执行出来,在预生产执行计划是hash join在生产是nested loop,通过awr基表wri$_optstat_tab_histo ...
- Oracle 11g 中SQL性能优化新特性之SQL性能分析器(SQLPA)
Oracle11g中,真实应用测试选项(the Real Application Testing Option)提供了一个有用的特点,叫SQL性能分析器(SQL Performance Analyze ...
- oracle 12.1.0.2的mgmt 导致的ORA-01017 bug
两节点12c RAC,在两节点上export ORACLE_SID再sqlplus / as sysdba都正常登录,然而Commvault通过service_name方式(sqlplus sys/p ...
- Failed RMAN Catalog Upgrade from 11.2.0.2 to 12.1.0.2 ( ORA-02296 RMAN-06004 )
Failed RMAN Catalog Upgrade from 11.2.0.2 to 12.1.0.2 ( ORA-02296 RMAN-06004 ) 由于后期使用12c的数据库,需要对现有 ...
- SQL Server 优化器特性导致的内存授予相关BUG
我们有时会遇到一些坑,要不填平,要不绕过.这里为大家介绍一个相关SQL Server优化器方面的特性导致内存授予的相关BUG,及相关解决方式,也顺便回答下邹建同学的相关疑问. 问题描述 一个简单的查询 ...
- Atitit jquery 1.4--v1.11 v1.12 v2.0 3.0 的新特性
Atitit jquery 1.4--v1.11 v1.12 v2.0 3.0 的新特性 1.1. Jquery1.12 jQuery 2.2 和 1.12 新版本发布 - OPEN资讯.h ...
- Oracle 12.1.0.2 New Feature翻译学习【In-Memory column store内存列存储】【原创】
翻译没有追求信达雅,不是为了学英语翻译,是为了快速了解新特性,如有语义理解错误可以指正.欢迎加微信12735770或QQ12735770探讨oracle技术问题:) In-Memory Column ...
- Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN
Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...
随机推荐
- java 各进程功能java,javac,javaw,javaws,javap
javac 代码编译成字节码 javap字节码解析成代码 java.exe用于启动window console 控制台程序 javaw.exe用于启动 GUI程序 javaws.exe用于web程序 ...
- (转)Shell学习之Shift的用法
Shell学习之Shift的用法 原文:https://www.cnblogs.com/sunfie/p/5943753.html 位置参数可以用shift命令左移.比如shift 3表示原来的$4现 ...
- eureka 源码
本文为eureka学习笔记,错误之处请指正. ----------------------------------------------------------- 1.服务生产者是怎么注册到配置中心 ...
- pat1040. Longest Symmetric String (25)
1040. Longest Symmetric String (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, ...
- 上传文件,使用FormData进行Ajax请求,jsoncallback跨域
通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ...
- sqlmap 命令详解(自备速查)
sqlmap速查 /pentest/database/sqlmap/txt/ common-columns.txt 字段字典 common-outputs.txt common-tables.txt ...
- Hibernate课程 初探一对多映射5-1 课程总结
1 单方一对多 xml one-to-many 配置 实体类 一方添加保存多方集合 2 单方多对一 xml many-to-one 配置 实体类 多方添加保存一方引用 3 常用属性 inver ...
- baidu-aip-SDK node.js 身份证识别
最近项目中客户需要实现身份证识别功能,合理计划了之后决定使用百度ai的身份证识别. 身份证识别是文字识别的一种,类似的功能有很多比如驾驶证识别等等,原理都是相同的. 对于前端初学者来说,如果要实现这种 ...
- JQ的事件绑定
一.事件的绑定:可以添加多个同类事件 $("").click(function(){ }) $("").on(事件名,函数) $("").o ...
- ArcGIS 10.2之地图服务的发布、使用
2.发布地图服务 2.1 地图服务器的建立 打开ArcCatalog,在左侧的GIS Servers下,双击Add ArcGIS Server, 弹出添加界面,选择,Administer GIS服务项 ...