Oracle 12.1.0.2 "optimizer_adaptive_plans"特性引起的执行缓慢案例

Oracle 12.1.0.2 "optimizer_adaptive_plans"特性引起的执行缓慢案例

环境:Oracle 12.1.0.2 RAC 2node
问题现象:某地区公共资源应用系统页面加载缓慢、整体业务模块执行效率不高

awr:
在这里插入图片描述

top sql:
在这里插入图片描述

很明显第一条sql,执行2500多次,需要着重关注

SELECT executions, end_of_fetch_count, elapsed_time/px_servers elapsed_time, cpu_time/px_servers cpu_time, 
buffer_gets/executions buffer_gets FROM (SELECT sum(executions) as executions, 
sum(case when px_servers_executions > 0 then px_servers_executions else executions end) as px_servers, 
sum(end_of_fetch_count) as end_of_fetch_count, sum(elapsed_time) as elapsed_time, sum(cpu_time) as cpu_time, 
sum(buffer_gets) as buffer_gets 
FROM gv$sql WHERE executions > 0 AND sql_id = :1 AND parsing_schema_name = :2)

处理方法:
可以看出如上top sql的语句并非是业务用户执行,查阅MOS资料后发现这是12c 12.1.0.2新特性“optimizer_adaptive_features”,默认是打开的,这个特性会在执行sql的时候自动收集统计信息。

将此特性关闭

alter system set optimizer_adaptive_features=false scope=both;

关闭之后业务系统执行效率明显提升,再次观察awr,再无此等待事件

看了下MOS,这个特性oracle也是建议关闭,或者通过打补丁的方式,然而在12.2.0.1这个参数被2个新的参数取代“optimizer_adaptive_plans” 默认值为TRUE,“optimizer_adaptive_statistics” 默认值为FALSE
关于 Oracle Database 12c 版本1的自适应特性的建议 (Adaptive Features, Adaptive Statistics 以及 12c SQL 性能) (文档 ID 2297986.1)
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值