关于 Oracle Data Guard

您可以在数据库系统上使用 Oracle Data Guard。Oracle Data Guard 可确保企业数据的高可用性, 数据保护和灾难恢复。

有关 Oracle Data Guard 的更多信息,请参阅Oracle Data Guard 简介

必需的 IAM 策略

要使用 Oracle Cloud Infrastructure,必须由管理员在策略中为您授予安全访问权限。无论您是将控制台或 REST API 与 SDK、CLI 还是其他工具结合使用,都需要进行此访问。如果您收到一则表明您无权访问或未经授权的消息,请向管理员确认您具有哪些类型的访问权限以及要使用哪些区间

如果您刚接触策略,请参阅策略入门常见策略

一般信息

Oracle Data Guard 配置至少需要两个数据库:一个位于主角色,一个位于备用角色。主数据库和备用数据库一起构成 Data Guard 配置。大多数应用程序访问主数据库。备用数据库是与主数据库在事务处理上保持一致的副本。

Data Guard Group 提供了创建和管理链接到主数据库的多个本地和远程备用数据库的功能,为数据保护和灾难恢复提供了灵活性。在 Data Guard 组中,主数据库最多可以支持六个备用数据库。

Oracle Data Guard 通过从主数据库传输和应用重做数据来维护备用数据库。如果主数据库变得不可用,则可以使用数据卫士将备用数据库切换或故障转移到主数据库角色。即使您具有多个备用数据库,也是如此。
  • 切换:切换会对调主数据库和备用数据库角色。
  • 故障转移:在现有主数据库发生故障或变得不可访问后,故障转移会将备用数据库转换为主数据库角色。
  • 恢复:将数据库恢复为 Data Guard 配置中的备用角色。
在典型的 Data Guard 配置中,通常使用两个备用数据库:
  • 本地备用数据库:与生产数据库位于同一区域的备用数据库非常适合故障转移方案,可为本地故障(例如数据库、集群或可用性域故障)提供零数据丢失。在这种情况下,应用会减少故障转移影响,因为应用会继续运行,而不会产生与远程区域通信的性能开销。
  • 远程(跨区域)备用:位于不同区域的远程备用数据库通常用于灾难恢复或卸载只读查询处理。远程备用数据库设置可确保数据免受区域故障的影响。

一些企业客户的目标是在站点切换后实现对称。例如,他们可能更喜欢在区域 1 中同时具有主备用和本地备用,而在区域 2 中具有自己的本地备用的远程备用。在此配置中,将有三个备用数据库。站点切换后,您仍将拥有一个主数据库和一个在新主区域中随时可用的本地备用数据库。

此外,您可以利用快照(读/写)备用功能添加另一个备用数据库以进行测试,从而增强其配置。

Data Guard 配置至少需要两个数据库系统,一个包含主数据库,一个包含备用数据库。为数据库启用 Data Guard 时,会创建一个具有备用数据库的新数据库系统,并将其与主数据库关联。

其他要求详细信息如下:

  • 数据库版本和版本必须相同。对于 26ai 数据库,主数据库和备用数据库必须处于同一主发行版版本,而备用数据库可以处于较高的次要版本。
  • Data Guard 不支持 Oracle Database Standard Edition。(Active Data Guard 需要 Enterprise Edition Extreme Performance。)
  • Data Guard 配置中的每个数据库都必须具有唯一名称 (DB_UNIQUE_NAME) 值,该值不会被数据库系统中用于存储 Data Guard 配置的其他数据库使用。但是,主数据库和备用数据库可以使用相同的数据库名称 DB_NAME 值。
  • 数据库版本确定是否可以使用 Active Data Guard (ADG)。ADG 仅适用于 Enterprise Edition Extreme Performance。如果您使用的是 BYOL 许可模式,并且您的许可不包括 ADG,则必须确保在配置 Data Guard for Enterprise Edition Extreme Performance 时未启用 ADG。或者,您也可以使用 Enterprise Edition 或 Enterprise Edition High Performance(默认情况下不启用 ADG)。请参见 Use Oracle Data Guard with the Database CLI
  • 如果主数据库和备用数据库位于同一区域中,则两者必须使用相同的虚拟云网络 (VCN)。
  • 如果主数据库和备用数据库位于不同的区域,则必须对等每个数据库的虚拟云网络 (virtual cloud network,VCN)。请参阅使用 RPC 的远程 VCN 对等连接
  • 主数据库和备用数据库可能位于不同的区域中,但它们必须位于同一领域中。
  • 主数据库和备用数据库的 SYS 密码和 TDE wallet 密码必须相同。
  • 如果数据库将 OCI Vault 用于 TDE 密钥,则还支持跨区域 Data Guard。
  • 在 Data Guard 配置中为数据库系统的子网配置安全列表入站和出站规则,使 TCP 流量能够在适用的端口之间移动。确保创建的规则是有状态的(默认值)。

    例如,如果主数据库系统的子网使用源 CIDR 10.0.0.0/24,备用数据库系统的子网使用源 CIDR 10.0.1.0/24,则创建规则,如后续示例中所示。

    注意:

    示例中的出站规则显示了如何仅为端口 1521 启用 TCP 通信,这是数据卫士工作的最低要求。如果您的所有传出端口 (0.0.0.0/0) 上都已启用 TCP 流量,则无需显式添加这些特定的出站规则。
  • OCI 中的备用数据库是物理备用数据库。
  • 不支持创建与另一个备用数据库关联的备用数据库(“级联备用数据库”)。
  • 使用 OCI Vault 对数据库进行加密时,您可以创建 Data Guard 配置。但是,OCI Vault 当前仅支持密钥复制到一个远程区域。因此,使用 OCI Vault 的数据库的跨区域 Data Guard 配置仅限于两个区域:主区域和一个远程区域。可以在这些区域中创建多个备用数据库,但不支持跨三个或更多区域的配置。

已知问题

  • 在跨区域数据卫士中,执行切换后,无法在新主数据库上轮换数据库 KMS 密钥。
  • 在跨区域数据卫士中,执行切换后,无法在新的主数据库上创建 PDB。

主数据库系统上子网的安全列表

Ingress Rules:
	Stateless: No
	Source: 10.0.1.0/24
	IP Protocol: TCPSource Port Range: All 
	Destination Port Range: 1521
	Allows: TCP traffic for ports: 1521

Egress Rules:
	Stateless: No
	Destination: 10.0.1.0/24 
	IP Protocol: TCP 
	Source Port Range: All
	Destination Port Range: 1521
	Allows: TCP traffic for ports: 1521	

备用数据库系统上子网的安全列表

Ingress Rules:	
	Stateless: No
	Source: 10.0.0.0/24 
	IP Protocol: TCP 
	Source Port Range: All 
	Destination Port Range: 1521
	Allows: TCP traffic for ports: 1521

Egress Rules:
	Stateless: No
	Destination: 10.0.0.0/24 
	IP Protocol: TCP 
	Source Port Range: All
	Destination Port Range: 1521
	Allows: TCP traffic for ports: 1521	

有关创建和编辑规则的信息,请参阅安全列表

Oracle Data Guard 的可用性域和容错域注意事项

Oracle 建议包含备用数据库的数据库系统位于与包含主数据库的数据库系统不同的可用性域中,以改进可用性和灾难恢复。如果您为数据库启用 Oracle Data Guard,并且备用数据库与主数据库位于同一可用性域中(可以选择,或者因为您在单个可用性域区域中工作),则 Oracle 建议您将备用数据库置于与主数据库不同的容错域中。

注意:

如果主数据库和备用数据库是双节点 Oracle RAC 数据库,并且二者位于同一可用性域,则备用数据库的两个节点中的一个只能位于容错域中,该容错域不包括主数据库或备用数据库的任何其他节点这是因为每个可用性域只有三个容错域,而主数据库和备用数据库的总共四个节点。有关可用性域和容错域的更多信息,请参见区域和可用性域