Oracle RAC,全称是Oracle Real Application Cluster,翻译过来为Oracle真正的应用集群,它是Oracle提供的一个并行集群系统,由 Oracle Clusterware(集群就绪软件) 和 Real Application Cluster(RAC) 两大部分组成。
Oracle RAC的实质是 位于不同操作系统的Oracle实例节点同时访问同一个Oracle数据库 ,每个节点间通过私有网络进行通信,互相监控节点的运行状态,Oracle数据库所有的数据文件、联机日志文件、控制文件等均放在集群的共享存储设备(可以是RAW、ASM、OCFS2等)上,所有集群节点可以同时读写共享存储。
Oracle RAC的基本拓扑结构如下所示:
由上图可知,
- 一个Oracle RAC数据库由多个服务器节点组成,每个节点上都有自己独立的OS、ClusterWare、Oracle RAC数据库程序等,每个节点都有自己的网络监听器。
- ClusterWare是一个集群软件,主要用于集群系统管理。
- Oracle RAC数据库程序用于提供Oracle实例进程,以供客户端访问集群系统。
- 监听服务主要用于监控自己的网络端口信息。
- 所有的服务和程序通过操作系统都去访问同一个共享存储,最终完成数据的读写。
- 共享存储实现方式有多种,如自动存储管理(ASM)、Oracle集群文件系统(OCFS)、裸设备(Raw)、网络区域存储(NAS)等来保证整个集群系统数据的一致性。
Oracle 10g起,Oracle提供自己的集群软件Oracle ClusterWare,它通过CRS(Cluster Ready Services)来实现,这个软件是安装Oracle RAC的前提,也是RAC环境稳定运行的基础。在10g之前的版本,安装RAC必须借助于第三方的集群软件。
从Oracle运行机制来说,集群中每台服务器就是一个Oracle实例,多个Oracle实例对应同一个Oracle数据库,组成Oracle数据库集群。
1 RAC 体系结构与进程
1.1 RAC简介
RAC是一个具有共享缓存体系结构的集群数据库,它克服了传统的