RAC的高可用性主要包含以下几点:
1> 实现节点间的负载均衡。
2> 实现失败切换的功能。
3> 通过Service组件来控制客户端的访问路径。
4> 集群软件能够自动化管理各个资源,并且有定时的节点状态监测机制,能自动对一些失败的进程以及心跳监测失败的节点进行重启,使其重新恢复到正常的运行状态。
2. 集群管理软件Clusterware
Clusterware为所有平台的Oracle数据库提供一个完整的集群解决方案,并为RAC运行提供必要的基础架构。Clusterware通过对VIP地址、数据库、监听器、服务等CRS资源的管理提供RAC的高可用性。从Oracle 11g开始,Clusterware作为Grid Infrastructure的一部分被安装和使用。安装和运行Clusterware的服务器可以具备不同机型、不同配置,但同一个集群必须安装相同的操作系统。
3. RAC并不能解决运行中可能出现的所有故障。存储失败(如阵列磁盘损坏)对RAC来说是致命的,一旦存储失败就可能导致所有运行节点出现问题。Oracle针对这种情况提出了MAA(Maximum Availability Architecture,最高可用性架构),即RAC+Active Data Guard。
4. Grid Infrastructure包含两个最主要的组件:Clusterware集群软件和ASM存储软件。Clusterware是Oracle的集群解决方案,ASM是Oracle的存储解决方案。
5. 11gR2在高可用性方面增加了两个新的数据库类型:
1> Restart Database
2> RAC One Node Database
Restart Database是对单实例数据库可用性的增强,它能使数据库随操作系统的启动而自动启动,相关应用资源的异常情况会被及时发现并自动重启,以确保应用资源的高可用性。在管理方面,Restart Database可以使用SRVCTL工具简化对数据库的管理。
RAC One Node Database即运行在一个节点上的RAC数据库。RAC One Node和RAC之间可以非常容易地相互切换,这对于系统维护、升级等操作来说非常有用。
Restart Database、RAC One Node Database以及RAC Database类型的数据库高可用特性都依赖于GI架构。