ITPub博客

首页 > 数据库 > Oracle > oracle一次卡顿案例(六)-latch free

oracle一次卡顿案例(六)-latch free

原创 Oracle 作者:wanglinghua0907 时间:2024-01-26 09:02:01 0 删除 编辑

一、背景概述

XX客户生产数据库2021年1月22日上午排查故障,客户提供高峰期卡顿时间发生在月结。由于报告保存时间为7天,

无法查找到月初的报告,通过增加业务模拟环境,经过仔细诊断,发现业务产生时间段操作系统整体 资源使用率较低,数据库latch争用较为严重。


二、问题分析 


Latch Activity(门闩活动)

 


Latch Miss Sources(latch丢失源)

 


此时可知latch free等待主要在result cache上消耗较为严重


Tips:

Oracle 11G之前的版本数据读写操作,都是将数据块(Data Block)缓存到Buffer Cache中。每次SQL语句执行,

都是从Buffer Cache中检索数据块从而发生逻辑读。


在Oracle 11g中,推出了Result Cache这种新特性用于缓存结果集,Result Cache的原理是将SQL结果集直接进行保存,

每次SQL语句来了,就直接把结果集合返回,减少了逻辑读。


result_cache_max_size:result cache是SGA share pool的一部分,由参数result_cache_max_size控制其大小,

默认memory_target的0.25%或者sga_target的0.5%,但最大不能超过share pool的75%。


 


alter system set "_optimizer_ads_use_result_cache" = FALSE;

或

alter system set result_cache_max_size=0 scope=both;


另:

加大result_cache_max_size(消耗内存资源)


三、检验

重新跑业务,拉取awr报告查看,业务正常

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980685/viewspace-3005077/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE、sql server、oceanbase数据库专家,拥有7年以上的大型数据库运维经验,主方向oracle,擅长故障排除、诊断,大体量(TB)迁移,异常故障修复等。拥有丰富主导大型项目经验。服务行业包括:运营商、银行、金融业、政府单位、医疗、制造业、高校等等。

注册时间:2020-07-31

  • 博文量
    116
  • 访问量
    88783