oracle缓存命中率低,一个库缓存命中率低下的案例

通过系统监控平台告警发现数据库的Library Hit %命中率很低

查看AWR报告发现:

每秒解析次数只有5.4

每秒硬解析次数达到928.4

Library Hit %: 71.16 Soft Parse %: -17,006.07

软解析比例完全溢出。

检查系统的解析次数统计发现大量的parse count (failures)

select * from v$sysstat where name like 'parse%';

STATISTIC# NAME                                     CLASS      VALUE    STAT_ID

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

581 parse time cpu                              64     477065  206905303

582 parse time elapsed                          64    4197686 1431595225

583 parse count (total)                         64    1236743   63887964

584 parse count (hard)                          64  144019327  143509059

585 parse count (failures)                      64  143996658 1118776443

586 parse count (describe)                      64        359  469016317

在v$session不时的出现一个活动会话,等待事件为如下2个:

cursor: pin S wait on X

kksfbc child completion

该SESSION执行的SQL在v$sql中并未查询到,怀疑是语法错误,sql语句并没有执行。

解析错误最常出现的字段不存在(ORA-00904)或表不存在的错误(ORA-00942)

检查应用日志,果然发现大量ORA-00942的错误。

原因是程序拼SQL语句时,在SQL中造出了不存在的表名。

该问题解决后,命中率恢复正常。

至此问题定位完成。

阅读(4992) | 评论(0) | 转发(0) |

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值