在 上Oracle Database Appliance
,默认部署只给你一个control file
.
我觉得这有点令人费解。单个控制文件会导致自动配置的企业管理器数据库控制台中的策略违规,据我所知,Oracle 的建议仍然是,您应该始终在不同的驱动器和文件系统上至少有两个控制文件。就个人而言,为了安全起见,我一直有三份。
ODA 配置了 ASM,并且使用三重镜像驱动器确实具有良好的存储冗余。在此配置中使用单个控制文件运行是否可以?
将第二个控制文件添加到同一个磁盘组可能没有多大意义,将控制文件多路复用到 SSD 磁盘组或者每个节点的操作系统驱动器是否更有意义?
KISS 原则:您是否拥有本身为您提供所需可用性级别的存储(即磁盘阵列)?而且您确实有带有恢复目录的 RMAN 备份(无论如何您都需要它,用于 DUPLICATE),不是吗?如果是和是,我的版本是:根本没有辅助控制文件,每个重做组一个成员,因为没有辅助数据文件(很明显,即使对于 system01.dbf)或没有辅助归档日志。
否则,您的数据库会不必要地执行属于存储级别的操作。我只是将存储的东西留在存储级别 - 镜像在那里完成,并且有效地完成。或者,如果您想要跨站点镜像,请在 ASM 级别进行。数据库被与数据库相关的处理占用。仅当您使用裸硬盘时,数据库级别的软件镜像才有意义。
不过,大多数人保守地坚持拥有三个控制文件。可能 Oracle 支持人员也会建议您使用三个。
不仅我从来没有从拥有第二个或第三个控制文件中受益;我想不出什么时候可以证明二级副本是合理的(即它为缺乏简单性提供了一些好处)。控制文件中的逻辑损坏将传播到第二个控制文件,就像硬件镜像的情况一样。在任何一种情况下都不会传播物理损坏。如果存储失败,您将丢失重做或数据 - 无论如何您都需要通过 RMAN 进行恢复。您丢失了控制文件,您可以使用 RESTORE CONTROLFILE 恢复它,最多只需花费一分钟。如果您丢失了重做,则恢复是不完整的。如果您没有丢失重做(但丢失了所有控制文件),则恢复实际上是完整的,但 Oracle 坚持使用 OPEN RESETLOGS(在这种情况下无损)。
只要确保自动控制文件备份已打开。如果您在备份控制文件之前添加或删除了数据文件,并且您遇到了导致单个 CF 无法访问的硬件故障,那么恢复将很痛苦……并非不可能,只是一个巨大的痛苦以及恢复服务的敏感时间期间的时间槽。
干杯,JD
考虑到所有因素,我认为没有理由在(任何一代)ODA 上没有更多控制文件。
虽然您可能永远不需要额外的副本,但它们不太可能造成任何伤害,并且不需要更改任何习惯、文档或流程来抵消所花费的时间 - 或者不得不摆弄 OEM 策略以仅接受一个控制文件。
由于 OAK 软件版本 12.x ODA 使用 ACFS,在创建多路复用控制文件时需要额外考虑,谢天谢地,David Hueber 发表了一篇解释该过程的帖子,可在他的博客上找到