Oracle redo log切换非常频繁
检查数据库报告,发现log file sync 平均等待已经超过20ms,说明DML提交很慢,很可能磁盘比较慢。先查看IOStat by Function summary,确认一下数据库整体IO的情况。然后分析Segments by Physical Reads、Segments by Direct Physical Writes,是否有消耗占比大的对象。如果有则优化对应的SQL。 如果以上问题都没有,还有可能redo log切换太频繁也会导致慢。因为DML commit需要写了redo log才算成功,而在切换在线redo log时,在线redo log要传到归档空间之后,在此期间commit都是要等待的。查看log switches,一个小时52次太频繁了,正常一个小时切换1到2次。 Instance Activity Stats - Thread Activity
1.产生了大量的redo,这个可以通过Report Summary中的Redo size (bytes)计算得出。再根据redo log设置的大小,看切换次数是否正常。正式环境一个redo文件设置的是1G,而根据Report Summary计算出来的才产生的redo 2G,那就是redo log没有被写满就切换了。 2.如果根据Report Summary计算出来的的redo的量就是很大,假设有52G,那就得看Segments by DB Blocks Changes、Segments by Physical Writes、Segments by Direct Physical Writes,找到占比大的对象。 3.人工执行日志切换命令,看起来不可思议,rman增量备份的时候调用了日志切换,这个环境就是这个问题。 (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |