oracle latch:row cache object,latch free案例处理

客户的系统在对3000人进行1个月排班的时候,系统执行后一直无法结束。
通过查看等待事件,是在等待latch:row cache object
cpu一个核的使用达到100%,
我们可以使用如下SQL检查row cache 是否高效。 pct_succ_gets 接近与100最好,如果接近于0,就说明需要优化。

SELECT parameter,
SUM(gets),
SUM(getmisses),
100 * SUM (gets-getmisses)/sum(gets)pct_succ_gets,
sum(modifications)updates
FROM VROWCACHE  
WHERE gets >0  
GROUP BYparameter;  
查看row cache objects 的具体信息:  
  SELECTaddr,  
        latch#,  
        child#,  
        level#,  
         name,  
         gets,  
        misses,  
        sleeps  
    FROMv
latch_children
WHEREname=’rowcache objects’ AND gets <>0
ORDER BYgets;
SELECT DISTINCTr.cache#,
r.parameter name,
r.TYPE,
r.subordinate#,
r.gets
FROMv$rowcache r
ORDER BY1, 4,5;

查看row cache objects具体包含的内容。

SET PAGES 1000
COLUMN cache# FORMAT 99999
COLUMN nameFORMAT a33
COLUMN latch# FORMAT 999999

SELECTDISTINCTs.kqrstcln latch#,
r.cache#,
r.parameter name,
r.TYPE,
r.subordinate#
FROMv rowcacher,x kqrst s
WHEREr.cache# =s.kqrstcid
ORDER BY1, 4,5;

通过查看share pool大小只有500m.sga有4g。将share pool 调整到1g,语句能快速执行。在10到15分钟内运行完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值