为数据库规划高可用性

Oracle Cloud Infrastructure Database 服务允许您快速启动 Oracle Database System (DB System) 并在其上创建一个或多个数据库。数据库服务支持多种类型的数据库系统,包括大小、价格和性能。

要规划数据库的高可用性,应考虑的主要设计策略包括:
  • 使用以下关键工具:Exadata 数据库系统、双节点 RAC 数据库系统和数据卫士。
  • 配置 CPU 和存储层以自动缩放。
本文介绍了这些策略。

使用 Exadata 数据库系统

利用 Exadata 数据库系统,您可以在 Oracle Cloud Infrastructure 中利用 Exadata 的强大功能。

Exadata 数据库系统由四分之一机架、半机架或全机架的计算节点和存储服务器组成,并通过高速低延迟的 InfiniBand 网络和智能 Exadata 软件连接在一起。您可以配置自动备份,针对不同负载进行优化,并扩展系统以满足不断增长的需求。

Exadata 数据库系统提供内置的高可用性功能。内部部署 Exadata 数据库系统的所有现有优秀实践均适用。

使用双节点 RAC 数据库系统

Oracle Cloud Infrastructure 在虚拟机计算实例上提供双节点 RAC 数据库系统。双节点 RAC 数据库系统提供内置的高可用性功能,因此我们建议为需要高可用性的解决方案使用双节点 RAC 数据库系统。

您可以将数据库服务配置为自动备份到 Oracle Cloud Infrastructure Object Storage 。下图显示了如何部署双节点 RAC 数据库系统来支持三层 Web 应用程序的高可用性:

后面是 rac-db.png 的说明
插图 rac-db.png 的说明

注:

该体系结构显示多个可用性域 (Availability Domain,AD)。对于具有单个 AD 的区域,请调整体系结构以在 AD 中的容错域中分配资源。

使用数据卫士

对于具有单节点数据库系统的解决方案,请使用 Oracle Data Guard 实现高可用性。数据卫士可确保企业数据的高可用性,数据保护和灾难恢复。

在 Oracle Cloud Infrastructure Database 服务中实施 Data Guard 需要两个数据库,一个为主数据库,一个为备用数据库。两个数据库组成一个 Data Guard 关联。大多数应用程序都访问主数据库。备用数据库是与主数据库实现事务处理一致的副本。为了提高可用性和灾难恢复能力,我们建议将备用数据库的数据库系统放在与主数据库的数据库系统不同的可用性域中。Oracle Cloud Infrastructure 可用性域之间的高性能网络支持此部署。

后面是 db-dg.png 的说明
插图 db-dg.png 的说明

注:

该体系结构显示多个可用性域 (Availability Domain,AD)。对于具有单个 AD 的区域,请调整体系结构以在 AD 中的容错域中分配资源。

Data Guard 通过从主数据库传输和应用重做数据来维护备用数据库。如果主数据库不可用,则可以使用 Data Guard 将备用数据库切换为主数据库角色。

您可以使用 Data Guard 配置执行以下操作以支持高可用性:
  • 切换:撤消主数据库角色和备用数据库角色。每个数据库继续参与 Data Guard 关联的新角色。切换可确保不丢失数据。可以在主数据库上执行计划内维护之前使用切换。
  • 故障转移:在现有主数据库发生故障或无法访问后,将备用数据库转换为主数据库角色。使用最高性能保护模式时,故障转移可能会导致某些数据丢失。
  • 恢复:在 Data Guard 关联中将数据库恢复为备用角色。在更正失败原因后,可以使用恢复命令将失败的数据库返回服务。

自动扩展 CPU 和存储

要实现解决方案的高可用性,您必须确保您的数据库系统具有足够的容量。Oracle Cloud Infrastructure 上的数据库服务可以根据数据库服务的不同配置动态扩展 CPU 核心或数据库存储。

对于基于裸金属计算实例的数据库系统,我们建议您从最低 CPU 核心开始,并根据需要动态增加 CPU 核心数。对于基于虚拟机配置的数据库系统,您可以动态增加 CPU 核心和存储大小。