Oracle Real Application Clusters — 概述
包含 Oracle Real Application Clusters (RAC) 选件的 Oracle 数据库允许依托一组共享的数据文件(也称为数据库)在集群中的不同服务器上运行多个数据库实例。该数据库跨越多个硬件系统,但是在应用程序看来,它是一个统一的数据库。这样就能够利用商用硬件降低总拥有成本并为支持各种应用程序负载提供一个可伸缩的计算环境。Oracle RAC 是 Oracle 首要的共享磁盘数据库集群技术。
Oracle RAC 体系
Oracle RAC 数据库要求首先在系统上安装 Oracle Clusterware,然后再安装支持 Oracle RAC 的数据库主目录。Oracle Clusterware (OCW) 是 Oracle Grid Infrastructure (GI) 产品套件的一个不可或缺的组成部分,该产品套件还包括自动存储管理 (ASM) 和 Oracle 云文件系统 (CloudFS)。
包含 Oracle ASM/CloudFS 和 Oracle Clusterware 的 Oracle Grid Infrastructure 以及包含 Oracle Real Application Clusters (RAC) 选件的 Oracle 数据库共同构成了 Oracle RAC 体系。
Oracle Grid Infrastructure 是 Oracle RAC 数据库系统的基础, 使用 Oracle Clusterware 实现自动资源布置、调整和管理, 使用 Oracle 自动存储管理实现高效、可靠的存储管理。
Oracle Clusterware
Oracle Clusterware 是一种将服务器场转换为集群的技术。集群是一组独立但相互连接的服务器,它们能够像一个系统似的协同工作。Oracle Clusterware 是该系统中支持协同工作的智能所在。 Oracle Clusterware 作为运行 Oracle Real Application Clusters (RAC) 所需的底层集群软件,随 Oracle Database 10g 第 1 版而引入。作为 Oracle RAC 体系的一部分,Oracle Clusterware 还用于 Oracle ASM 集群版,并且紧密集成到 Oracle RAC 体系中。 Oracle Clusterware 作为一个全面的免费集群解决方案,也可在 Oracle RAC 以外的环境中使用。在这些环境中,通常使用 Oracle Clusterware 来自动执行各种应用程序的资源布置、调整和管理。在两种环境中,Oracle Clusterware 都负责维护节点的成员关系并确保其相互隔离。
Oracle 自动存储管理 (ASM)
Oracle RAC 采用共享磁盘架构,因此卷管理和用于存储数据库数据的文件系统必须支持集群识别。Oracle 自动存储管理 (ASM) 是为 Oracle 数据库推荐的(集群)卷管理器。 Oracle ASM 管理所有数据:Oracle 数据库文件、Oracle Clusterware 文件和非结构化数据,如二进制文件、外部文件和文本文件(通过 Oracle CloudFS 进行管理)。凭借其较低的成本、便捷的管理以及较高的性能特性,Oracle ASM 成为 管理 Oracle 数据库存储的理想存储技术。
为实现性能和高可用性目标,Oracle ASM 遵循“全面条块化和镜像”原则。通过智能化的镜像功能,管理员可以定义双向或三向镜像以保护重要数据。当读操作识别出磁盘上损坏的块时,Oracle ASM 自动将有效的块从镜像副本重新定位到磁盘的未损坏部分。
Oracle 云文件系统 (CloudFS)
Oracle 云文件系统简化并自动化存储管理功能,提高存储利用率、正常运行时间和敏捷性,从而可为所有通用文件和数据库文件提供可预测的性能和可用性。CloudFS 包含集群卷管理器和集群文件系统:
- Oracle ASM 动态卷管理器 (ADVM) 是针对 Oracle ACFS 和第三方文件系统的通用集群卷管理器。
- Oracle ASM 集群文件系统 (ACFS) 是一个通用的与 POSIX 和 Windows 兼容的集群文件系统,其中包含高级数据服务,如快照、复制、加密和安全性等。
业务连续性和高可用性
Oracle Real Application Clusters (RAC) 是数据中心高可用性 (HA) 的基础。Oracle RAC 体系以 Oracle Grid Infrastructure 作为自己的管理框架,该框架提供计划、意外以及运行时和按需容量管理方法,因此可确保数据中心针对各种应用程序的操作不会中断。
Oracle RAC 是 Oracle 最高可用性架构不可或缺的组成部分,该架构提供的最佳实践可为您的数据中心提供最高可用性。由此而论,Oracle RAC 的一个主要优势是,数据库使用的多个物理服务器提供固有的容错功能。集群中的各个服务器独立运行,因此其中的一个或多个服务器故障不会影响其他服务器。此架构还允许一组服务器透明地上线或下线,而系统的其余部分仍继续提供不中断的数据库服务。
Oracle RAC 主要有以下特点,这些特点对于高可用性数据管理来说极其重要:
-
- 可靠性 — Oracle 数据库以其可靠性而著称。Oracle RAC 消除了数据库服务器单点故障问题,从而使可靠性更上一层楼。如果一个实例发生故障,集群中的其余实例仍将保持正常运行状态。Oracle Clusterware 监视所有 Oracle 进程,并能立即重启任何发生故障的组件。
- 错误检测 — Oracle Clusterware 自动监视 Oracle RAC 数据库和其他 Oracle 进程(Oracle ASM、实例、监听器等),并快速诊断环境中的问题。它还经常能在用户察觉到故障之前自动完成故障恢复。
- 恢复能力 — Oracle 数据库包含的许多特性有助于数据库轻松地从各类故障中恢复。如果 Oracle RAC 数据库中的一个实例出现故障,集群中的另外一个实例将察觉到这一故障,随后自动进行故障恢复。利用快速应用程序通知 (FAN)、快速连接故障切换 (FCF),尤其是利用 Oracle RAC 12c 应用程序连续性特性,可轻松地掩藏任何组件故障,使用户无法察觉。
- 连续运行 — Oracle RAC 可在计划和意外中断期间提供连续的服务。如果一个服务器(或实例)出现故障,数据库将保持运行,应用程序仍能继续访问数据,从而让业务关键型负载得以完成运行,而且多数情况下服务交付无延迟。
- 大多数数据库维护操作无需停机即可完成,而且对用户透明。很多维护任务都可以滚动方式执行,因此可最大限度地减少应用程序停机,或消除停机。