一、RAC简介
1、高可用性
是指整合了硬件和软件技术的综合解决方案。它保证在不丢失数据的前提下,应用程序(服务)能够不间断运行,也就是服务的有效性或服务的可持续访问性。
特征:可靠性:可靠的硬件和可靠的软件
可恢复性:提供各种机制,确保能从失败中恢复丢失的数据和失败的进程
错误自动检测:能自动探测各种错误,并采取相应措施
可持续性:当某些组件失败时,仍然能够继续对外界提供服务
Oracle HA解决方案:Oracle Golden Gate、Oracle Data Guard、Oracle Stream Replication和Oracle Real Application Cluster(RAC)
(1)Oracle Golden Gate是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志(Online Redo)或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。
(2)Oracle Data Guard通常由两台机器组成,其中一台叫primary database,另外一台叫standby database,两台机器为复制关系。当primary database宕机时,standby database可以代替primary database,不间断地对外提供服务。
(3)Oracle Stream Replication叫流复制,它是基于消息队列的一种复制技术
(4)Oracle集群(RAC)是HA常用的一种解决方案,它通过共享存储等一系列技术实现数据库的高可用性。
2、Oracle集群
一个Oracle集群(RAC)通常由多台服务器(每台服务器称作一个“节点”)组成,多台服务器形成一个整体,对外提供服务。
但对外来说,好像只有一台机器。集群内部很复杂,但对外的访问接口却很简单。一个集群最多可支持100个节点。
节点间通过私有网络进行通信,数据库被放在共享存储上。集群中的每个节点都运行一个实例(instance),每个实例都有自己的内存和进程。
集群中的多个实例可以并行地访问共享存储上的数据库。通常,一个数据库对应一个实例 ,但是在RAC环境下,一个数据库对应多个实例。
RAC优点:
(1)高可用性:结合硬件(RAID)技术,当一块硬盘失败时,数据没有丢失,数据库仍然正常运行。当一个节点掉线时,另外一个节点将接管失败节点的负载,并正常对外提供数据库访问服务
(2)负载均衡:集群中的多个节点同时工作,共同接受客户端连接,共同分担负载。
(3)可扩展性:当性能或者容量成为瓶颈时,我们可以往集群中增加新的节点或新的磁盘
3、RAC硬件架构
A.分类
(1)外挂式(Direct Attached Storage, DAS),又名“直接附着存储”、“直接附加存储”
存储设备不在主机内,存储是一个单独的设备,它通过主机总线适配器(Host Bus Adapter, HBA)与主机直接进行连接。主机和存储设备之间没有任何网络设备(交换机、路由、HUB)
优点:速度快、安全、成本低廉、容易实施
缺点:服务器和存储设备间的距离短,对存储设备的访问会增加服务器的负载,服务器发生故障,数据将不可访问,难于扩展,集中度低。
(2)网络式(Network Attached Storage,NAS),又名“网络附加存储”、“网络附着存储”
存储设备通过网络和主机进行连接。利用普通网络(以太网)进行数据传输,可以利用现有的网络,因此成本较低。
(3)网络式(Storage Area Network,SAN)存储区域网络
存储设备也通过网络和主机进行连接。利用光纤通道的专有网络进行数据传输
优点:速度快,传输距离远,可靠性高,易于扩展。SAN代表了存储技术的主流,但成本较高
B.RAID级别
通过RAID技术,可以把几块物理硬盘虚拟成一块大硬盘,或者N块硬盘。
RAID技术两大意义:数据保护、提高I/O的吞吐量。
C.网络简介
(1)公有网络(Public Network):客户端通、Web通过公有网络访问RAC
(2)私有网络(Private Network):用于节点成员之间的相互通信,也就是节点互联,只有节点才能使用私有网络。不能用于公有网络,以免引起节点之间的通信延迟,从而影响RAC的性能。
注:无论是公用网络还是私有网络,都应该考虑网络的冗余性、高可用性。
4、软件架构
(1)软件分层
A. Oracle RAC:是一个独立的软件(不和Orae Grid Infrastructure集成到一起),是数据库软件,但加入了集群功能,负责集群数据库的管理。
一个集群中有一个数据库,每个节点上有一个实例,多个实例并发地访问数据库,每个实例有自己