您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle RAC原理及关键技术
课程计划1、什么是OracleRAC2、OracleRAC的结构4、OracleRAC的关键技术5、OracleRAC的优缺点6、OracleRAC架构的延伸3、OracleRAC的原理RAC,全称realapplicationclusters,译为“实时应用集群”,是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。1、什么是OracleRAC1.2、什么是集群Interconnectednodesactasasingleserver.Clustersoftwarehidesthestructure.Disksareavailableforreadandwritebyallnodes.Operatingsystemisthesameoneachmachine.NodeDisksPrivateInterconnectClusterwareoneachnodePublicNetworkPublicNetworkPublicNetworkPublicNetwork1、什么是OracleRAC1.3、什么是OracleRACMultipleinstancesaccessingthesamedatabaseOneInstancepernodePhysicalorlogicalaccesstoeachdatabasefileSoftware-controlleddataaccessInstancesspreadacrossnodesDatabasefilesInterconnectSharedcache1、什么是OracleRAC1.4、OracleRAC和单点DB1、什么是OracleRACOracleRAC数据库管理软件1,硬件架构拓扑实现2,安装操作系统和集群管理软件,构成集群环境3,选用Oracle的RAC组件,构成RAC环境4,安装数据库管理软件5,创建数据库,监听,实例等等1.5、OracleRAC的历史1、什么是OracleRAC2、OracleRAC的结构2.1、OracleRAC硬件架构拓扑图硬件架构拓扑说明该拓扑图是一个典型的两节点RAC系统,整个架构由两台主机,一台共享存储设备,两台光纤交换机,四台网络交换机等等构成,其中,两台光纤交换机,两台心跳交换机,两台公用IP交换机都做了集群冗余,集群中的设备,无论哪台出了问题,都不会影响整个系统的正常运行2、OracleRAC的结构硬件设备主要包括如下部分:服务器共享存储设备网络交换机光纤交换机网线光纤2.2、硬件设备2、OracleRAC的结构2.2、硬件设备服务器:我们有时候称其为“数据库服务器”,“数据库主机”,在RAC的术语中我们又称其为“节点”。服务器的配置应该相同,cpu,内存等,还有,每台服务器上至少两块物理网卡,分别用于主机间私有通信和对外公用通信,也可以有多快网卡,进行网卡绑定,实现网卡的冗余。私有通信的网卡叫privateNIC,对应的IP为privateIP公用通信的网卡叫publicNIC,对应的IP为publicIP每台服务器至少一块HBA卡,用于共享存储的连接。可以用光纤线直连存储,也可以通过光纤交换机,我们建议使用光纤交换机。同时,也可以配置多块HBA卡,实现其冗余,提高其容错性。2、OracleRAC的结构2.2、硬件设备共享存储:共享存储是整个RAC架构中的核心RAC是一个典型的“多实例,单数据库”架构,被所有节点共享,并行访问。数据库数据文件,控制文件,参数文件,联机重做日志文件,甚至归档日志文件都放在共享存储上。并保证可以被所有节点同时访问。IO性能要求比较高,一般用光纤线连接,运行scsi协议共享存储可以通过存储镜像来实现其冗余2、OracleRAC的结构2.3、软件架构拓扑图2、OracleRAC的结构软件拓扑说明该拓扑图是一个典型的两节点RAC系统,服务器软件环境有:操作系统(OS),集群软件(Oracleclusterware),数据库软件(OracleRDBMS),各种驱动程序2、OracleRAC的结构2.4、软件设备软件设备如下:操作系统,如RHEL,AIX,HP_UX等集群软件:Oracleclusterware数据库软件:OracleRDBMS各式驱动程序,如网卡驱动,HBA卡驱动,ASMLib等2、OracleRAC的结构2.4、软件设备操作系统:每个节点上的必须是相同的操作系统,版本必须一致,包括操作系统小版本,补丁号等例如:操作系统:RHELAS4.864bit内核版本:2.6.9-89.EL2、OracleRAC的结构2.4、软件设备集群软件:是整个集群环境的核心组成部分,安装在操作系统上的特殊软件,负责管理整个集群环境中的硬件资源,并为其上层应用提供服务,如RAC集群提供基础服务。在单服务器模式下,应用所要做的事情,通过OS内核和硬件访问来完成,但是在多服务器模式下,OS内核无法完成对所有硬件资源的访问控制,集群软件填补了这个空白,应运而生。2、OracleRAC的结构2.4、软件设备数据库软件:新的硬件,新的操作系统,新的集群软件,新的数据库软件注意彼此之间的兼容性实验环境用的是oracle10.2.0.52、OracleRAC的结构2.4、软件设备集群文件系统:数据文件,控制文件,参数文件,重做日志文件等等都要放到共享存储上,各节点可以对这些文件进行并行访问控制,一般文件系统很难做到,需要裸设备或者集群文件系统。Oracle公司两种集群解决方案是:ocfs(2)和ASMIBM的集群文件系统:GPFSRedHat的集群文件系统:GFSVERITAS的集群文件系统:VeritasStorageFoundation„„2、OracleRAC的结构2.5、逻辑结构2、OracleRAC的结构3、OracleRAC的原理集群环境层面:并发控制,健忘症,脑裂,IO隔离;共享存储层面:共享,并发访问;RAC层面:存储层,网络层,集群件层,应用层数据库实例层面:并发访问和控制3.1、OracleRAC的原理3.2.1、并发控制:在集群环境中,数据是放在共享存储上的,每个节点之间的身份是对等的,对数据有相同的访问权利,这就要求集群件对这种对等权限的并发访问有控制机制在OracleRAC中,利用DistributeLockManagement(DLM)机制进行多个节点间并发访问的控制3.2、集群环境层面3、OracleRAC的原理3.2.2、健忘症:该问题是由于每个节点上都有一份集群配置信息,修改节点的配置信息得不到同步导致的。解决健忘问题的最简单办法是,整个集群只有一份集群配置信息,无论哪个节点修改了配置信息,都是同一份,配置信息对每个节点都是一样的。OracleRAC使用OCRDisk文件解决这个问题3.2、集群环境层面3、OracleRAC的原理3.2.3、脑裂:在集群环境中,节点间需要某种机制,比如心跳,了解彼此的健康状况。假如心跳出了问题,每个节点都会认为其他节点都不复存在了,自己是唯一的幸存者,就会控制整个集群。因为数据是共享的,都来控制独享,势必会破坏共享数据的完整性和一致性。这时候表决盘被引入,通过投票机制,获得最高票数或者最早到达的获得投票的,幸存,其他节点被踢出。在OracleRAC中VotingDisk用来记录节点间成员的状态,出现脑裂时,仲裁哪个partition获得控制权,其他的partition被剔除3.2、集群环境层面3、OracleRAC的原理3.2.4、IO隔离:虽然Partition被剔除了,但是并没有限制其对共享数据的访问,所以为了限制已踢出节点对共享数据的访问,必须进行IO隔离。OracleRAC采取的是直接重启故障节点。3.2、集群环境层面3、OracleRAC的原理因为集群环境中,数据是共享的,每个集群节点都可以访问到,因此存储必须能够共同访问,也就是解决好存储设备的共享和并发访问3.3、共享存储层面3、OracleRAC的原理3.4.1、存储层:RAC是多实例单数据库的架构,数据库相关的文件在集群中只有一份,而且是共享。所以RAC有时候不能完全依赖于集群层面解决存储的共享,并发访问控制等,也有自己的机制—cachefusionlock。3.4、RAC层面3、OracleRAC的原理3.4.2、网络层:在整个RAC环境中,可以认为存在四个网络环境:Public网络,对应publicIp,用于对外提供数据查询服务,服务器维护,数据库维护等Virtual网络,对应virtualIP,用于提供应用连接,一般应用程序使用的是该IPPrivate网络,对应privateIP,用于RAC心跳和cachefusion,对速度要求很高存储网络,由存储设备,HBA卡,光纤交换机等组成3.4、RAC层面3、OracleRAC的原理3.4.3、集群件层:在单机环境中,os内核直接和服务器硬件通信,管理硬件设备,控制进程之间的访问。但是在集群环境下,os内核就显得力不从心,无法保证多主机之间的协调工作,集群管理软件应运而生。在OracleRAC环境中,该机制位于oracle和os内核之间的Oracleclusterware,如果该节点需要与其他节点间进行通信,它会在os内核前截获请求,并与其他节点的clusterware通信协商。OracleRAC层和集群件层是不一样的,因为集群件可以是其他第三方的软件,如HACMP,ServiceGuard等3.4、RAC层面3、OracleRAC的原理3.4.4、应用层:在OracleRAC数据库系统来看,应用层也就是OracleRDBMS层面。整个应用层是由若干CRSResource组成,一个resource是由一个或者一组进程构成的一个完整服务OracleRAC系统之所以能提供高可用服务,主要是因为集群软件对运行其上的应用进行监控,并在应用发生异常时进行重启,切换等干预活动,被监视的对象就是CRSResource,进程是LMON(LockMonitorProcess)。CRSResource可以在RAC安装时自动或者手动创建,并注册到CRS中,以元数据的形式记录在OCR磁盘上。CRSResource包括:GSD,ONS,VIP,database,instance,listener,service等3.4、RAC层面3、OracleRAC的原理4、OracleRAC的关键技术OCRDiskVotingDiskVIPDLMCacheFusionFailoverLoadbalanceASM4.1、OracleRAC的关键技术OCRDisk主要用来解决集群的“健忘”问题健忘问题主要是由于修改集群配置信息后,节点间的集群配置信息不一致导致的,oracle给出的解决办法是,只有一份共享的集群配置文件,在linux系统中信息如下:[root@rac2~]#ll/etc/oracle/-rw-r--r--1rootoinstall45Mar2814:01ocr.locdrwxrwxr-x5rootroot4096Apr1212:32oprocddrwxr-xr-x3rootroot4096Mar2814:01scls_scr[root@rac2~]#cat/etc/oracle/ocr.lococrconfig_loc=/dev/raw/raw1local_only=FALSE4.2、OCRDISK4、OracleRAC的关键技术也可以用如下命令查看:4.2、OCRDISK4、OracleRAC的关键技术基于OCRDisk的重要性,在oracleclusterware在运行的过程中必须确保其内容的完整性,因此不是每个节点都可以操作OCRDisk,每个节点上都有一份其内容的拷贝,在一块叫OCRcache的内存中。如果需要修改其内容,节点上的OCRprocess会通知可以更改OCRDisk的节点—OCRmasterNode,masternode节
本文标题:Oracle RAC原理及关键技术
链接地址:https://www.777doc.com/doc-4520447 .html