2022-09-16
在数据库重启前有条sql执行时间很长,重启后快了很多
一套Oracle 19c RAC,在数据库重启前有条sql执行时间很长,重启后快了很多,重启前后的执行计划是一样的,sql内容如下

数据库重启前定位到sql涉及到的表SYSTEM.LOGMNR_RESTART_CKPT$存在HWM问题,4k行数据120G体积,所以怀疑是HWM导致的执行慢,但是在只重启并没有做shrink等操作来降低HWM后却执行变快了。
重启前的10046可以看到有很多物理读
重启后db file sequential read几乎消失

因为一直存在SGA不足的问题,数据库配置SPA98G,PGA18G,ADDM建议增加到130G和40G,所以怀疑是SGA不足导致频繁出现物理读的情况
但是我理解按照LRU算法,如果重启前频繁物理读说明至少和其他sql相比,这条sql读取的block不算热块,不然第一次物理读读到buffer cache后就不会被刷出去导致第二次物理读吧,如果是这样的话,那为什么重启后就一直是逻辑读了
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

评论

