Oracle12.1的库在业务高峰期非常慢,分析AWR发现latch free导致,具体定位为:Result Cache: RC Latch事件引起数据库缓慢

1.优化之前awr部分信息

awr整体负载情况,证明当前这个库已经比较忙,业务反馈很慢


addr信息和top wait信息,确定是latch free问题比较突出


latch信息统计和ash信息,找出来突出的latch,定位为Result Cache: RC Latch引起该问题


补充大量异常sql


类似sql语句

SELECT /* DS_SVC */ /*+ dynamic_sampling(0) no_sql_tune no_monitoring optimizer_features_enable(default) no_parallel */SUM(C1) FROM (SELECT /*+ qb_name("innerQuery") INDEX_FFS( "ACCOUNT" "ACC_USER_ID") */
1 AS C1 FROM "ACCOUNT" SAMPLE BLOCK(39.3701, 8) SEED(1) "ACCOUNT" WHERE ( "ACCOUNT".USER_ID IS NOT NULL)) innerQuery

查询mos发现
The cause of this issue is automatic dynamic statistics which is enabled by default in 12c automatically decides whether dynamic statistics are useful and which statistics level to use for all SQL statements. It collects dynamic statistics when the optimizer deems it necessary.
When Automatic Dynamic Sampling is used for the SQL statements, it can decide, based upon these statistics, that a better response time could be achieved by using the result cache for those queries. This can cause heavy usage of the result cache leading to the contention on latch free for “Result Cache: RC Latch”.
也就是说,12c在自动采样有改进,而且默认使用result cache特性,从而引起该问题,即使你设置了 RESULT_CACHE_MODE = MANUAL,依旧会有大量动态采样引起 Result Cache: RC Latch,彻底解决给问题就是通过隐含参数禁止Automatic Dynamic Statistics使用result cache

alter system set "_optimizer_ads_use_result_cache" = FALSE?

2.设置该优化参数之后效果

这里看,通过上述处理后,系统db time 大量减少,业务反馈已经运行正常


latch free和Result Cache: RC Latch已经基本上消失



当然这个异常是由于动态采样导致,可以通过收集数据库统计信息,设置动态采样级别,也可以从一定程度上缓解该情况.

3.参考mos

Very Long Parse Time for Queries in InMemory Database (Doc ID 2102106.1)
High “Latch Free” Waits with Contention on ‘Result Cache: RC Latch’ when RESULT_CACHE_MODE = MANUAL on Oracle 12c (Doc ID 2002089.1)

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle优化 latch free问题Result Cache:RC Latch引起数据库缓慢

原文唯一网址:http://www.oracleplus.net/arch/939.html

Oracle研究中心

关键词:

Oracle优化案例

latch free优化问题的解决办法

Result Cache:RC Latch事件引起数据库缓慢

Oracle12.1的库在业务高峰期非常慢,分析AWR发现latch free导致,具体定位为:Result Cache: RC Latch事件引起数据库缓慢

1.优化之前awr部分信息

awr整体负载情况,证明当前这个库已经比较忙,业务反馈很慢


addr信息和top wait信息,确定是latch free问题比较突出


latch信息统计和ash信息,找出来突出的latch,定位为Result Cache: RC Latch引起该问题


补充大量异常sql


类似sql语句

SELECT /* DS_SVC */ /*+ dynamic_sampling(0) no_sql_tune no_monitoring optimizer_features_enable(default) no_parallel */SUM(C1) FROM (SELECT /*+ qb_name("innerQuery") INDEX_FFS( "ACCOUNT" "ACC_USER_ID") */
1 AS C1 FROM "ACCOUNT" SAMPLE BLOCK(39.3701, 8) SEED(1) "ACCOUNT" WHERE ( "ACCOUNT".USER_ID IS NOT NULL)) innerQuery

查询mos发现
The cause of this issue is automatic dynamic statistics which is enabled by default in 12c automatically decides whether dynamic statistics are useful and which statistics level to use for all SQL statements. It collects dynamic statistics when the optimizer deems it necessary.
When Automatic Dynamic Sampling is used for the SQL statements, it can decide, based upon these statistics, that a better response time could be achieved by using the result cache for those queries. This can cause heavy usage of the result cache leading to the contention on latch free for “Result Cache: RC Latch”.
也就是说,12c在自动采样有改进,而且默认使用result cache特性,从而引起该问题,即使你设置了 RESULT_CACHE_MODE = MANUAL,依旧会有大量动态采样引起 Result Cache: RC Latch,彻底解决给问题就是通过隐含参数禁止Automatic Dynamic Statistics使用result cache

alter system set "_optimizer_ads_use_result_cache" = FALSE?

2.设置该优化参数之后效果

这里看,通过上述处理后,系统db time 大量减少,业务反馈已经运行正常


latch free和Result Cache: RC Latch已经基本上消失



当然这个异常是由于动态采样导致,可以通过收集数据库统计信息,设置动态采样级别,也可以从一定程度上缓解该情况.

3.参考mos

Very Long Parse Time for Queries in InMemory Database (Doc ID 2102106.1)
High “Latch Free” Waits with Contention on ‘Result Cache: RC Latch’ when RESULT_CACHE_MODE = MANUAL on Oracle 12c (Doc ID 2002089.1)

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle优化 latch free问题Result Cache:RC Latch引起数据库缓慢

原文唯一网址:http://www.oracleplus.net/arch/939.html

Oracle研究中心

关键词:

Oracle优化案例

latch free优化问题的解决办法

Result Cache:RC Latch事件引起数据库缓慢

Oracle优化 latch free问题Result Cache:RC Latch引起数据库缓慢相关推荐

  1. oracle sample 慢,【案例】Oracle优化 latch free问题Result Cache:RC Latch引起数据库缓慢...

    天萃荷净 Oracle12.1的库在业务高峰期非常慢,分析AWR发现latch free导致,具体定位为:Result Cache: RC Latch事件引起数据库缓慢 1.优化之前awr部分信息 a ...

  2. Oracle结果集缓存(Result Cache)--服务器、客户端、函数缓存

    Oracle结果集缓存(Result Cache)--服务器.客户端.函数缓存 在11g中,Oracle提供了结果集缓存特性.该缓存是在共享内存中存储全部的结果集,如果一个查询SQL被执行,且它对应的 ...

  3. [20190214]11g Query Result Cache RC Latches.txt

    [20190214]11g Query Result Cache RC Latches.txt --//昨天我重复链接http://www.pythian.com/blog/oracle-11g-qu ...

  4. Oracle 11g新特性:Result Cache

    结果集缓存(Result Cache)是Oracle Database 11g新引入的功能,除了可以在服务器端缓存结果集(Server Result Cache)之外,还可以在客户端缓存结果集(Cli ...

  5. ORACLE (5): buffer cache(CBC LATCH实验)

    什么是cache buffers chains latch 当用户执行一条select语句的过程如下: 1.根据记录找到对应的DBA: 比如: SQL> select dbms_rowid.RO ...

  6. Oracle性能调优之--Buffer cache 的调整与优化

    Oracle性能调优之--Buffer cache 的调整与优化 Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候, ...

  7. Oracle 11g 新特性 -- Result Cache(结果高速缓存)

    Oracle 从11g开始引入了结果集缓存(result cache)的新特性,用于存储经常使用的SQL语句和函数的查询结果,将来语句再执行的时候,oracle直接的访问内存得到结果.其优点是重用相同 ...

  8. oracle 结果缓存,Result cache结果缓存

    结果缓存 结果缓存默认是可以开启的 , 可以通过下面的方式查询其是否开启 SQL> SQL> show parameter RESULT_CACHE_MAX_SIZE NAME       ...

  9. oracle result_cache_max_size,当设置RESULT_CACHE_MAX_SIZE参数并且重启过database后,Query Result Cache 还是被禁用的。...

    来源于: Query Result Cache is disabled After Setting RESULT_CACHE_MAX_SIZE And Restarting The Database ...

最新文章

  1. [Vue CLI 3] 插件编写实战和源码分析
  2. Redis 主库宕机如何快速恢复?面试必问!
  3. 串口的波特率误差对数据发送影响
  4. (译)如何用命令行在windows Azure上安装负载平衡的web Farm虚拟机(linux或其他)...
  5. 追了源码,做了测试,终于实现python的uvicorn日志自行配置
  6. #转载:十大排序方法,动图展示
  7. PaddleOCR——申请显存不足【Allocate too much memory for the GPU memory pool, assigned 8000 MB】解决方案
  8. html弹窗代码y\/n,Nodejs扩展,实现消息弹窗(示例代码)
  9. android 自定义水波纹点击效果Button
  10. Java定时器Timer学习之一
  11. python学习笔记(对象)
  12. 指针和引用的相同与不同
  13. Synchronized和Lock接口
  14. git rebase之前需要 commit 才行
  15. CSS的border属性绘制简单三角形、边框三角形
  16. 知乎spark与hadoop讨论
  17. Ray Tracing
  18. 中文分词-转载3_一个北京程序员
  19. Python 教程之 Pandas(14)—— 使用 Pandas 进行数据分析
  20. 【阿朱洞察】中国云计算市场未来3年展望(完善版)

热门文章

  1. edu邮箱怎么申请一个1T的onedrive
  2. 图形化编程语言的设计
  3. 【Android App】二维码的讲解及生成属于自己的二维码实战(附源码和演示 超详细必看)
  4. Leetcode_137_Single Number II
  5. Python聚类分析
  6. 如何搭建Bugzilla
  7. virtual Box与Vagrant的安装与踩坑
  8. TQ2440裸奔程序串口UART的PC机按键测试程序
  9. EntityConnection ConnectionString
  10. php word权限设置密码,在php中加密和解密word docx文件的问题