集群是指多台计算机物理的连接在一起。
RAC是Oracle Real Application Cluster的简写,官方中文文档一般翻译为“真正应用集群”,它一般有两台或者两台以上同构计算机及共享存储设备构成,可提供强大的处理能力!
为什么需要RAC?
如果说我们通过对服务器添加CPU, 增加RAM等行为属于垂直扩展;那么多台计算机进行RAC就属于横向扩展!
高可用性是其最主要的特性!只要集群中有一台机器没有出现故障,就能保证用户的正常使用!当然如果出现某种大的灾难时,就应该使用Oracle9i Data Guard的失败切换方案!
另外可伸缩性也是其主要的特性! 当资金有限的时候,可以暂时不必购买配置较高的设备,只需购买能够满足当前需求的设备, 当业务量增长时,再考虑购买同等配置的设备(此时的价格应该很低了)!
RAC又是如何工作的呢?
在RAC环境中,每台计算机上运行一个实例,每个实例装载和打开同一个数据库!所有的实例都是对等的,共享高速缓存,避免出现重复的改动!
ORACLE9i出现的一个新名词service_name正是为了RAC准备的,所有的实例都有同一个服务名!应用程序只须连接到这个服务,该服务会自动把它们连接到一个实例!对这些应用程序是透明的! (*ORACLE还有一个ORACLE_SID, 每个实例都会有一个独立的SID)!
一般来说我们可以用
RAID技术保护磁盘
冗余技术保护网络
ORACLE RAC保护数据库