菜单
当前位置:首页>>解决方案>>硬件及运维解决方案

Oracle rac高可用解决方案

1.   产品介绍:Oracle Real Application Cluster (RAC,实时应用集群)用来在集群环境下实现多机共享数据库,以保证应用的高可用性;同时可以自动实现并行处理及负载均衡,并能实现数据库在故障时的容错和无断点恢复。它是oracle数据库支持网络计算环境的核心技术。它是oracle数据库支持网络计算环境的核心技术。

2.   RAC 数据库和单实例数据库的区别

为了让 RAC 中的所有实例能够访问数据库,所有的 datafiles、control files、PFILE/Spfile 和 redo log files 必须保存在共享磁盘上,并且要都能被所有节点同时访问,就涉及到裸设备和集群文件系统等。RAC database 在结构上与单实例的不同之处:至少为每个实例多配置一个 redo 线程,比如:两个实例组成的集群至少要 4 个 redo log group。每个实例两个 redo group。另外要为每一个实例准备一个 UNDO 表空间。


(1)redo 和 undo,每个实例在做数据库的修改时谁用谁的 redo 和 undo 段,各自锁定自己修改的数据,把不同实例的操作相对的独立开就避免了数据不一致。后面就要考虑备份或者恢复时 redo log 和归档日志在这种情况下的特殊考虑了。


(2)内存和进程各个节点的实例都有自己的内存结构和进程结构.各节点之间结构是基本相同的.通过 Cache Fusion(缓存融合)技术,RAC 在各个节点之间同步 SGA 中的缓存信息达到提高访问速度的效果也保证了一致性。


2.原理架构图:

3.oracle rac硬件设备

4.Rac体系结构图

集群管理器(Cluster Manager)在集群系统中对其他各个模块进行整合,通过高速的内连接来提供群集节点之间的通信。各节点之间内连接使用心跳线互联,心跳线上的信息功能确定群集逻辑上的节点成员信息和节点更新情况,以及节点在某个时间点的运行状态,保证群集系统正常运行。通信层管理节点之间的通信。它的职责是配置,互联群集中节点信息,在群集管理器中使用由心跳机制产生的信息,由通信层负责传输,确保信息的正确到达。还有一些群集监视进程不断验证系统的不同领域运行状况。例如,心跳监测不断验证的心跳机制的运作是否良好。在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是分散每一台服务器的工作量。硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备;同时还需要两类软件,一类是集群软件,另外一类就是 Oracle 数据库中的 RAC 组件。同时所有服务器上的 OS 都应该是同一类 OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的 listener 后,这台服务器根据负载均衡策略,会把请求发送给本机的 RAC组件处理,也可能会发送给另外一台服务器的 RAC 组件处理,处理完请求后,RAC 会通过群集软件来访问共享存储设备。逻辑结构上看,每一个参加群集的节点有一个独立的实例,这些实例访问同一个数据库。节点之间通过集群软件的通信层(Communication Layer)来进行通信。同时为了减少 I/O 的消耗,存在一个全局缓存服务,因此每一个数据库的实例,都保留了一份相同的数据库 cache