我应该有多少个控制文件?

Roy*_*Roy 5 oracle-11g-r2 oracle-asm oracle-database-appliance oracle-12c

Oracle Database Appliance,默认部署只给你一个control file.

我觉得这有点令人费解。单个控制文件会导致自动配置的企业管理器 DB 控制台中的策略违规,而 Oracle 的建议仍然是,据我所知,您应该始终在不同的驱动器和文件系统上至少拥有两个控制文件。就个人而言,为了保险起见,我一直都有三份副本。

ODA 使用 ASM 进行配置,并且使用三重镜像驱动器确实具有良好的存储冗余。在此配置中使用单个控制文件运行是否可以?

将第二个控制文件添加到同一个磁盘组可能没有多大意义,将控制文件多路复用到 SSD 磁盘组或每个节点的操作系统驱动器是否更有意义?

kub*_*zyk 3

KISS 原则:您是否拥有本身能够为您提供所需可用性级别的存储(即磁盘阵列)?而且您确实有带有恢复目录的 RMAN 备份(无论如何您都需要它,用于复制),不是吗?如果是并且是,我的版本是:根本没有辅助控制文件,每个重做组有一个成员,因为没有辅助数据文件(很明显,即使对于 system01.dbf)或没有辅助存档日志。

否则,您的数据库不必要地执行属于存储级别的操作。我只是将存储的事情留在存储级别 - 镜像就在那里完成,而且是有效完成的。或者,如果您想要跨站点镜像,请在 ASM 级别上进行。数据库被数据库相关处理占用。仅当您使用裸硬盘时,数据库级别的软件镜像才有意义。

不过,大多数人保守地坚持拥有三个控制文件。也许 Oracle 支持人员也会建议您使用三个。

我不仅从未从拥有第二个或第三个控制文件中实际受益;而且我从未真正从拥有第二个或第三个控制文件中受益。我无法想象辅助副本是否合理的场景(即它为缺乏简单性提供了一些好处)。控制文件中的逻辑损坏将传播到第二个控制文件,就像硬件镜像的情况一样。在这两种情况下,物理腐败都不会传播。如果存储失败,您会丢失重做或数据 - 无论如何您都需要通过 RMAN 进行恢复。你丢失了控制文件,你可以用RESTORE CONTROLFILE来恢复它,最多只需要多花一分钟的时间。如果您丢失了重做,则恢复是不完整的。如果您没有丢失重做(但丢失了所有控制文件),则恢复实际上已完成,但 Oracle 坚持使用 OPEN RESETLOGS(在这种情况下无损)。