AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 30096
Accepted
Roy
Roy
Asked: 2012-12-11 04:55:32 +0800 CST2012-12-11 04:55:32 +0800 CST 2012-12-11 04:55:32 +0800 CST

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

  • 772

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

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

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

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

oracle-11g-r2 oracle-12c
  • 3 3 个回答
  • 4223 Views

3 个回答

  • Voted
  1. Best Answer
    kubanczyk
    2012-12-14T13:37:52+08:002012-12-14T13:37:52+08:00

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

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

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

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

    • 3
  2. J.Dillinger
    2015-01-14T14:54:15+08:002015-01-14T14:54:15+08:00

    只要确保自动控制文件备份已打开。如果您在备份控制文件之前添加或删除了数据文件,并且您遇到了导致单个 CF 无法访问的硬件故障,那么恢复将很痛苦……并非不可能,只是一个巨大的痛苦以及恢复服务的敏感时间期间的时间槽。

    干杯,JD

    • 2
  3. Roy
    2016-09-01T12:58:34+08:002016-09-01T12:58:34+08:00

    考虑到所有因素,我认为没有理由在(任何一代)ODA 上没有更多控制文件。

    虽然您可能永远不需要额外的副本,但它们不太可能造成任何伤害,并且不需要更改任何习惯、文档或流程来抵消所花费的时间 - 或者不得不摆弄 OEM 策略以仅接受一个控制文件。

    由于 OAK 软件版本 12.x ODA 使用 ACFS,在创建多路复用控制文件时需要额外考虑,谢天谢地,David Hueber 发表了一篇解释该过程的帖子,可在他的博客上找到

    • 0

相关问题

  • 数据泵导出如何在 Windows 上限制其资源使用?

  • 数据泵导出如何在 Linux 上限制其资源使用?

  • 为什么操作系统身份验证被认为是 Oracle 数据库的低安全性?

  • 您如何对 Oracle 数据库更改进行版本控制?

  • 有没有办法允许代理连接在公共数据库链接中使用通过的身份验证?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve