Oracle12C RAC节点损坏恢复方案研究
王健;王启明
【摘 要】针对Windows平台下Oracle12C RAC集节点损坏问题进行方案研究,通过对Oracle RAC原理及易伸缩特性进行深入研究,多方查阅Oracle技术文档,成功解决了实施过程中的各类问题,最终实现在不停集即保证现场业务连续性的情况下,在线恢复集原有架构,保证核心系统的高可用性,为Windows平台下的数据库系统运维积累了宝贵经验.
【期刊名称】《铁路计算机应用》
【年(卷),期】2019(028)005
【总页数】6页(P31-36)
【关键词】OracleRAC;高可用性;易伸缩性;在线恢复
【作 者】王健;王启明
【作者单位】中国铁路北京局集团有限公司信息技术所,北京 100860;中国铁路北京局集团有限公司信息技术所,北京 100860
【正文语种】中 文
【中图分类】U29;TP39
Oracle RAC在业界以高并行性和高可用性著称,其优势在于使用多个节点(数据库实例)构成一个数据库[1] ,在保证数据库高可用性的前提下更加充分的利用了多台主机的性能,RAC还可以通过增加集节点进行性能扩展,为需要重新规划的应用提供了易伸缩性,以满足系统自身的调整。
在国内数据库市场,企业对数据库系统的稳定性和高可用性的要求越来越高,大部分企业选择Oracle RAC作为核心数据库[2] ,但在实际运维中会遇到服务器、操作系统、存储等软硬件设备故障导致RAC集节点损坏的问题,此时集的优势即会折损,后台数据库系统是否具有高可用性,能否保障关键数据的完整性和核心业务的连续性,成为影响大局的关键因素,而目前Oracle相关资料文献少有涉及RAC集节点损坏恢复的完整方案,本文从实际案例出
发,针对初次采用的Windows平台下Oracle12C RAC集架构,介绍了本单位RAC节点损坏后,进行在线恢复的详细过程以及相关bug的解决办法,为后续数据库系统的运行维护积累了实用且宝贵的经验。
1 Oracle RAC原理及特点
Oracle RAC (Oracle Real Application Clusters)是Oracle新数据库版本中采用的一项新技术,也是Oracle支持网格计算环境的核心技术,解决了传统数据库应用中的高可用性问题[3] 。
1.1 Oracle RAC原理
Oracle RAC工作原理是指在一个应用环境当中,所有的服务器管理和使用同一个数据库,目的是为了分散每台服务器的工作量,硬件设备至少需要两台及以上的服务器,并且还需要一台共享存储设备[4] 。同时需要的软件有两类:集软件和Oracle数据库中的RAC组件。所有服务器上的OS都应该保持版本一致,当某客户端发送请求到某台服务器的listener后,此服务器根据负载均衡配置策略,会把请求发送到本机的RAC组件处理也可能会发送到另外一台
服务器的RAC组件,请求处理完成后,RAC会通过集软件访问共享存储设备。从逻辑结构上看,每一个集节点都有一个独立的实例,这些实例访问同一个数据库,节点间通过集软件的通讯层来进行通讯。同时,为了减少I/O的消耗,采用了Cache Fusion[5] 缓存融合技术,因此每一个数据库的实例,都保存了一份相同的数据库Cache,Oracle RAC结构如图1所示。
图1 Oracle RAC工作结构图
1.2 Oracle RAC特点
不同的集产品都有各自的特点,RAC的特点包括:
(1)双机并行。RAC是并行模式,不是传统的主备模式。就是说,RAC集的全部成员都能同时接收客户端的请求。
(2)高可用性。RAC是Oracle产品的高可用性解决方案,集中只要还有一个节点存活,就能保证正常对外提供服务。
(3)易伸缩性。RAC能动态添加、删除节点,来满足系统自身的调整。
(4)低成本。能使用相对廉价的服务器来实现高吞吐量、高可用性的集环境,这比对高端服务器增加硬件来实现高吞吐量、高可用性花费的成本低很多。
(5)高吞吐量。随着集节点数量的增加,整个RAC的吞吐量也会不断增长[6] 。
2 系统及数据库环境分析
2.1 既有系统及数据库环境
传统数据中心核心业务和关键业务的计算及存储主要都由RISC小型机完成,伴随着X86处理器可靠性及性能的提升,这些业务正在逐步迁移到X86平台[7] 。2016年,本单位投产的货运系统,后台数据库环境整体都采用X86硬件架构,数据库操作系统为Windows Server 2012,为了保障系统的高可用性和业务并行处理能力,搭建了4节点Oracle12C RAC集,配置信息如表1所示。
2.2 存在问题
如表1所示的多点数据库集模式运行状态稳定,能够有效解决高并发访问情况下的单点瓶
颈问题[8] , 但是在病毒爆发后,为计算机安装最新的安全补丁,修复“永恒之蓝”攻击漏洞的过程中,节点2在打完补丁重启后未能正常引导进入操作系统,最终节点系统崩溃,导致集变为3节点运行,运行架构如图2所示。
表1 Oracle RAC配置信息节点名称项目名称 RAC节点1 RAC节点2 RAC节点3 RAC节点4操作系统 Windows Server 2012 R2标准版服务器名称 tjhyrac1 tjhyrac2 tjhyrac3 tjhyrac4公共IP地址 XX.XX.XX.191 XX.XX.XX.192 XX.XX.XX.193 XX.XX.XX.194虚拟IP地址 XX.XX.XX.201 XX.XX.XX.202 XX.XX.XX.203 XX.XX.XX.204心跳IP地址 192.168.100.191 192.168.100.192 192.168.100.193 192.168.100.194 ScanIP地址 XX.XX.XX.205 Oracle RAC SID oratjhy1 oratjhy2 oratjhy3 oratjhy4数据库名称 oratjhy数据库版本 Oracle 12.1.0.2数据库监听端口 1521数据库字符集 ZHS16GBK数据库磁盘管理方式 ASMlinux安装oracle 11g
图2 Oracle RAC运行架构
虽然一个节点的损坏不会影响整体业务的正常运行,但是为计算机安装安全补丁是一件常态化的工作,甚至计算机本地磁盘组损坏都是系统运维中会遇到的问题,因此,不能让集节点一味被动的削减,我们需要重新配置Oracle集信息,在保证业务正常运行的前提下,在
线修复损坏节点,恢复RAC集原有结构,保证核心系统的高可用性。
2.3 研究方法及实现目标
虽然Oracle RAC为需要重新规划的应用提供了易伸缩性,可以动态地添加、删除节点,以满足系统自身的调整规划,但目前Windows Server 2012+Oracle 12C RAC实施案例较少,通过查阅Oracle官方技术支持站点获取帮助资料,参考以往Unix、Linux平台Oracle 11g R2 RAC添加、删除节点实施案例,借鉴其中的关键技术及成功经验,进而实现以下目标:
(1)能够在不停集即保证现场货运业务连续性的情况下,获得水平的扩展,要在保留节点删除之前损坏的数据库实例,在集中删除故障节点的信息后,在线新增节点,恢复集原有架构。
(2)对整个实施过程以及在过程中遇到的各类问题认真总结,为X86架构Windows平台下Oracle RAC集运维积累经验,提高数据库系统管理水平,确保核心系统运行安全稳定。
3 方案实施步骤
3.1 恢复前工作准备
3.1.1 操作系统安装
对损坏的集节点2重新安装操作系统,要求与其他节点版本保持一致,更改主机名为tjhyrac2。
3.1.2 操作系统配置
(1)Host表修改
从保留节点的C:\Windows\System32\drivers\etc\hosts 复制到节点2相应的目录。
(2)网络配置
配置公网和私网IP。设置节点2两块网卡的IP地址,分别命名为Pub和Priv并设置网卡优先级,将Pub网卡设置为优先。
(3)服务配置
安装相关服务、开启远程桌面访问,将节点2上的Computer Browser设置为自动和启动状态。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论