oracle rac集群搭建笔记

最近在搭建oracle rac  所以顺便做个记录方便以后给自己翻看和给初学者做下参考
               --其中会引用一些高俊峰老师编写的(高性能linux服务器构建实战)的知识点,但不会太详细介绍
本文着重记录搭建过程,以及遇到的问题如何解决。
         
oracle rac 是oracle公司推出的一套数据库集群解决方案,它的全称是Oracle Real Application Cluster
通俗点说:一个oracle rac 集群有多很多台服务器,每个台服务器上都装了oracle,每台服务器运行一个实例
从整体上看所有实例隶属于一个数据库。
他有几个特点
1,可以实现多个节点的负载均衡
2,实现冗余(就是常说的高可用)
3,通过横向扩展提高并发连接数
4,并行执行提高处理事务的效率
5,可扩展,如增加节点。

他的结构图如下

 

每个节点由六个部分组成
1,oracle cluster软件 :主要用来实现心跳监控故障切换 这里用的比较多的是CRS(Cluster Ready Service)
2,数据库软件
3,共享数据文件,如下图

 


4,voting disk(表决磁盘) :主要用来跟踪节点的状态,记录哪个节点挂了,哪个节点正常
5,OCR(集群注册服务)主要用于记录RAC中集群和数据库的配置信息
6,flash recovery area 用于快速恢复数据

在oracle rac体系结构中,每个实例都是使用自己独立的重做现成和撤销表空间,各自锁定自己修改的数据,那rac是如何实现
各个节点数据的一致性呢?每个实例的SGA都有自己的buffer cache(缓冲区),rac通过缓存融合技术(cache fusion)同步各个节点SGA缓存的数据,保证各节点数据的一致性。

下面开始搭建环境


 
以上是推荐配置,我比较寒酸用的是两台虚拟机

 

桌面环境:xwindows system、GNOME desktop environment。
开发工具:development tools、x software development、gnome software development、kde software development。

 1. 方案说明
 服务器Server A和Server B构成双机热备份系统的两台主机,并且分别作为主节点(Primary Server)和从节点(Standby Server)。两台主机均运行Linux-HA heartbeat,该软件成为双机热备系统的控制程序。
 两台主机通过串口线、以太网等多种方式进行连接,传送数据和心跳信号,并互相进行状态监视。可以只使用一种连接方式(如以太网连接),但是多种连接方式下的冗余路径可以保证双机连接的可靠性和服务质量。
 数据库服务器或磁盘阵列柜是专门的数据存储和共享设备,两台服务器在运行时,均从该设备中读取和存储数据。这种方式可以有效地提高数据传输效率,提高双机热备服务器的系统性能,并且能够保证两台服务器之间的数据同步。

 2.存在的问题
 双机备份系统有两种配置方式,分别是“基于系统切换的双机系统”和“基于系统镜像的双机系统”,二者的区别是:
 基于系统切换的双机系统仅仅把两台服务器的硬盘数据进行镜像,在主节点失效的情况下,从节点将进行系统一级的切换。该方式不能实现无缝切换,实现的是冷备份。
 基于系统镜像的双机系统把两台服务器的硬盘数据和内存数据都进行镜像。为保证完全的内存镜像,两台服务器之间需通过专用连接网段实时地保持一个连续的、双向的镜像进程,该进程确保两台服务器之间的数据同步。一旦故障发生,无论任何一台服务器失效,失效服务器上的数据和应用,将立即切换到另一台
 服务器上,从而使用户在没有中断的情况下可以继续使用双机系统提供的服务。该方式能够做到无缝切换,实现的是热备份。
 本方案描述的heartbeat双机热备份系统是一种基于系统镜像的双机系统,实现方法是,主节点在出现故障的情况下,集群IP地址无缝地切换到从节点,从而客户机对服务器的访问可以由从节点来支持。但是两台服务器之间并没有镜像进程完成彻底的内存镜像,因而主节点在故障时所运行的数据信息不能切换到从节点,造成数据丢失以及服务中断。所以该方案不是严格意义上的系统镜像,实现的是服务一级的切换,并不能实现实时数据的切换。 
 

 

 

 

 

 

你可能感兴趣的:(oracle,RAC)