一、 Oracle集群体系结构
Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群 ,是oracle提供的一个并行集群系统,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application Clusters(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)等来保证整个集群系统数据的一致性。
从Oracle10g 起,Oracle提供了自己的集群软件,即Oracle clusterware,它通过CRS(即Cluster Ready Services)来实 现,这个软件是安装oracle rac的前提,也是RAC环境稳定运行的基础,在oracle10g之前的版本,安装RAC时 必须借助与第三方的集群软件,而在oracle10g以后,安装oracle rac时,可以用oracle自带的集群软件,也 可以使用经过RAC认证的第三方集群软件来代替。
从oracle的运行机制来说,集群中每台服务器就是一 个oracle实例,多个oracle实例对应同一个oracle数据库,组成了oracle数据库集群。请看下图:
从图中可以看出,运行在两个节点上的数据库实例访问同一个RAC数据库,并且两个节点的本地磁盘 仅用来存放oracle安装程序和ClusterWare软件,而在共享存储上,存放了oracle的数据文件、控制文件、联 机日志文件、归档日志文件等,这是安装oracle Rac时的一种数据存储分配方式,其实,RAC提供了多种数据 存储方式,这个将在下面进行独立介绍。