暂无图片
一个free buffer waits问题
我来答
分享
豆宇斯
2022-11-30
一个free buffer waits问题
暂无图片 10M

一套oracle19c RAC到19c 单实例的OGG,最近发现目标库每天18:30-20:30 OGG同步会出现延迟,延迟出现的时候trail file有正常接收,OGG 和alert日志中也没发现什么特殊报错。

做了对比AWR报告,1是正常情况,2是延迟出现的情况,都是18:30-20:30的报告

延迟出现时数据库负载升高,但DB Time/Elapsed< CPUs*0.8,IO是有比较大的区别

等待事件也有明显区别

看等待事件我感觉更像是IO问题,查看了Top SQL,执行次数上没有多少差别,不过之前需要0.X秒的OGG sql现在都得5s以上,怎么定位到具体是哪条sql引起的buffer 争用

我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
豆宇斯

万万没想到啊,buffer busy的问题是buffer cache自动被调小了。。。

数据库采用的SGA自动分配的方式,目前判断可能触发了bug,streams pool一直在自动增长,把buffer cache从30G挤到了512M,下次遇到这种问题还得留意一下是不是分配的问题,之前觉得自动管理就万事大吉了- -!

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
豆宇斯

目标库前后redo切换次数也没有明显区别,延迟是27号开始出现的

暂无图片 评论
暂无图片 有用 0
打赏 0
张sir

看下top sql by buffer gets,还有就是segment里面,有哪些segment全表扫描啥的比较多。

暂无图片 评论
暂无图片 有用 0
打赏 0
猫瞳映月
2022-11-30
豆宇斯
题主
2022-11-30
可以查到表数据量变化情况么刚看了下现在表有3亿的数据了。。怀疑是不是最近数据猛涨
zhangyfr
2022-11-30
展开全部评论(2条)
张sir

看下表的历史统计信息,大体上可以看下表的增长情况。

暂无图片 评论
暂无图片 有用 0
打赏 0
豆宇斯
题主
2022-11-30
刚在OEM上搜了下OGG对应的insert和delete的sql,发现最近除了延迟时间段,其他时间执行次数与时间都不长,感觉是源库每天在这个时间点产生了大量数据变化,目标库接收到后由于IO限制无法马上应用完。源库做的操作传到目标库后有insert也有delete,统计信息只能看到行数吧,想看看DML操作量是不是和之前比起来变化蛮多
豆宇斯

同事提醒,直接用

GGSCI  1> stats EXXX table XXX

找到数据变化情况了。。。

暂无图片 评论
暂无图片 有用 0
打赏 0
风车

每天这个时间点目标端延迟,根据你的报告能看到这个时间段磁盘IO较高,继续看下对应表具体的动作是那种DML操作,是否与表数据量增量有关,是否需要根据情况做分区表,或者对具体的事务抓取一下分析是否需要针对性的增加索引

暂无图片 评论
暂无图片 有用 0
打赏 0
豆宇斯
题主
2022-11-30
又抓了一些信息,目前这张表已经是分区表了,根据AWR上的Table Statistics by DML Operations,DML操作量没什么太大区别,怀疑是频繁DML操作导致索引出了点问题。。。现在全局索引已经有30g了,几个分区表加起来一共才47g
风车
答主
2022-11-30
这个索引确实有些大!要结合业务具体看一下能否把无效无用index清一下了
回答交流
Markdown


请输入正文
提交