问题描述
嗨,汤姆,
您能向我解释一下Oracle数据库需要多久从控制文件中读取一次吗?并且将控制文件放置在与重做日志相同的磁盘/磁盘组上会导致I/O争用吗?
问题上下文:
我们有一个3节点RAC群集,托管29个繁忙的生产数据库。我们在所有数据库上随机遇到高等待尖峰,这似乎是从 “日志文件同步” 的根。重做日志在2个ASM diskgroups (REDO1和REDO2) 之间多路复用。我们还复用位于同一ASM diskgroups上的控制文件。
奇怪的是,我始终能够看到从REDO1读取数千kb/s,而REDO2始终几乎没有。我的理解是,除非需要恢复,否则不会从重做日志中读取任何内容。
这使我指向控制文件-我知道只有v $ controlfile的第一个controlfile条目是由Oracle “读取” 的,这将是有意义的,因为该条目在所有29个数据库上都是REDO1。29个数据库系统的controlfile “读取” 请求是否会累积价值数千kb/s的I/O?
我担心将controlfile放置在与重做日志相同的diskgroups上会导致I/O争用,从而导致等待日志文件同步。除了读取I/O之外,controlfile还会在每个事务上盖章,因此也会遇到大量的写入I/O。我已经在许多系统上看到了这个文件布局 (重做和控制文件在一起),但没有多达29个数据库。
非常感谢。
您能向我解释一下Oracle数据库需要多久从控制文件中读取一次吗?并且将控制文件放置在与重做日志相同的磁盘/磁盘组上会导致I/O争用吗?
问题上下文:
我们有一个3节点RAC群集,托管29个繁忙的生产数据库。我们在所有数据库上随机遇到高等待尖峰,这似乎是从 “日志文件同步” 的根。重做日志在2个ASM diskgroups (REDO1和REDO2) 之间多路复用。我们还复用位于同一ASM diskgroups上的控制文件。
奇怪的是,我始终能够看到从REDO1读取数千kb/s,而REDO2始终几乎没有。我的理解是,除非需要恢复,否则不会从重做日志中读取任何内容。
这使我指向控制文件-我知道只有v $ controlfile的第一个controlfile条目是由Oracle “读取” 的,这将是有意义的,因为该条目在所有29个数据库上都是REDO1。29个数据库系统的controlfile “读取” 请求是否会累积价值数千kb/s的I/O?
我担心将controlfile放置在与重做日志相同的diskgroups上会导致I/O争用,从而导致等待日志文件同步。除了读取I/O之外,controlfile还会在每个事务上盖章,因此也会遇到大量的写入I/O。我已经在许多系统上看到了这个文件布局 (重做和控制文件在一起),但没有多达29个数据库。
非常感谢。
专家解答
My understanding is that nothing reads from the redo logs, unless recovery is required.复制
好吧,归档程序会,如果您有备用数据库,那么我们将继续从主数据库到备用数据库进行重做。AWR报告可以按文件类型向您显示I/O分布,因此您可以使用它来确认其重做还是控制文件。但是让我们假设后者。
这里仍然有很多 * 潜在 * 的原因需要关注。
首先,“日志文件同步” 是您等待LGWR回复您的时间,但这可能是 (或可能不是) LGWR I/O的同义词。您应该检查日志文件同步到日志文件并行写入的比例,看看有多少时间是真正基于等待LGWR I/O。
例如,粉碎一台计算机以100% CPU,您将所有会话都停留在日志文件同步上,因为LGWR无法查看CPU,因此每个人都在等待。所以CPU是一个很好的起点。
你在做直接模式操作吗?直接路径加载或nologing操作导致controlfile操作。有时,即使在没有知识的情况下,这些也可能发生,例如,如果您有使用 “w同” 子句的SQL,我们可能会动态创建并加载全局临时表来支持这一点。
备份活动可能会导致大量的controlfile操作-因为RMAN正在通过controlfile跟踪其许多进度和结果。
你有备用数据库吗?再次-用于协调那里的活动的controlfile。
同样,您有多少个 “正在播放” 的archivelogs。那里的元数据将存储在controlfile中-检查V $ CONTROLFILE_RECORD_SECTION中archivelog信息的大小。大 = 痛苦
按照类似的思路,任何中断归档 (例如磁盘已满) 通常都会导致LGWR/ARCn等丢失情节,并在尝试/重试等时对控制文件进行弹道攻击。
因此,这应该给您一些东西-如果所有其他方法都失败了,可能是时候与支持人员取得联系了。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle DataGuard高可用性解决方案详解
孙莹
527次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
499次阅读
2025-04-15 17:24:06
墨天轮个人数说知识点合集
JiekeXu
411次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
409次阅读
2025-04-08 09:12:48
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
392次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
391次阅读
2025-04-01 11:08:44
Oracle 19c RAC更换IP实战,运维必看!
szrsu
351次阅读
2025-04-08 23:57:08
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
343次阅读
2025-04-20 10:07:02
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
320次阅读
2025-04-15 14:48:05
oracle定时任务常用攻略
virvle
320次阅读
2025-03-25 16:05:19