适用范围
Oracle Database - Enterprise Edition - Version 19.0.0.0.0 and later
问题概述
某客户咨询的一个问题,为什么数据库产生了好多非常小的archivelog?

问题原因
1).检查redolog信息

一共4个redolog group,每个thread 2个,大小为200M,每个instance的group数和redolog大小不足。
2).检查数据库归档情况

归档日志的切换规律为3次thread#2 较大的日志和1次非常小的日志,那么为什么是3次thread#2的日志切换呢,有什么特殊之处?
根据Oracle日志切换原理,每次onling redolog会被动触发增量检查点,dirty buffer开始刷盘,在完成前redo状态为active,当所有redo状态都为active时,redo日志切换自动触发全量检查点。初步怀疑是由于thread#2的全量检查点触发thread#1的自动日志切换?
3).测试环境模拟

在测试环境验证了之前的怀疑,得出以下结论,
结论1. 在19C RAC环境当一个instance中所有 redolog状态都为active时,再次切换日志,会触发其它节点一次日志切换。
结论2. 在11G RAC环境中(Oracle 11.2.0.4) 没有该功能,初步判断为12C之后的新功能。
解决方案
建议增量redo group数量和大小,缓解该问题。
参考文档
Checkpoint Tuning and Troubleshooting Guide (Doc ID 147468.1)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




