栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

19.7 rac for aix 7.1 row cache mutex 等待

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

19.7 rac for aix 7.1 row cache mutex 等待

    下午收到应用通知:杰哥,今天凌晨4到到5点,原来几分钟的任务跑了一个小时还没跑完,帮忙查下原因。

赶紧登录数据库主机,搜问题时间段的awr:

直接跳转到TOP 10

 row cache mutex 是字典缓冲区中的某个对象等待

再看看sql 执行时间最长的几个:

    dbms_scheduler 类型的sql引起了注意,这个是数据库的统计信息执行sql

这几个等待时间都和shared pool有关系。去查看解析情况:

    硬解析很厉害,正确情况下硬解析每秒30次左右属于正常

查看数据字段缓冲区状态信息:

  directiorary cache state:

      看可以以下几个过高:

     dc_histogram_data/defs: 申请获取直方图缓存(过高原因1、硬解析多 2、业务表中过多使用直方图信息,可以删除无用的直方图 3、手工做直方图统计)

    dc_users:申请获取用户缓存(错误密码频繁连接、批量用户赋权、bug)

    dc_objects:申请获取对象缓存(硬解析过高、手工编译对象、失效对象自动编译等等)

通过Active Session History (ASH) Report看能否发现蛛丝马迹:

   这里row cache mutex 里的p1对应的对象可以通过以下命令查看:

select * from v$rowcache where cache# in (16,10);

 和上面也能对应上。

 sql area    miss 96%,怪不得这么多硬解析

综上所述,我猜测根本原因是: SQL 的cursor失效导致命中不了SQL AREA,所以造成了大量的硬解析。游标失效的根本原因是每天凌晨4点有个统计分析的job

       收集表统计信息后,cursor就会失效,执行计划会重新生成,就会造成硬解析。

扩展:搜集统计信息时有个参数决定游标是否立即失效-no_invalidate.数据库采集默认是auto,由数据库决定啥时候失效

-----------------------------------------------

淘宝店铺,欢迎咨询:

首页-oracle数据库专家-淘宝网

    

   

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/693985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号