基于GoldenGate的灾备智能切控制方法技术

技术编号:12338434 阅读:50 留言:0更新日期:2015-11-18 11:14
本发明专利技术公开了一种基于GoldenGate的灾备智能切控制方法,包括如下步骤:在源端和灾备目标端的节点主机上分别部署GoldenGate软件进行数据同步备份;每次切换前,在源端停止RAC监听,获取源端和灾备目标端的节点主机上各实例的SPID,并自动生成KILL脚本停止各实例的SPID;在源端节点主机上循环检测并停止抽取进程和投递进程;在源端节点主机启动反向同步的复制进程;在目标端节点主机循环检测复制进程,停止正向同步的复制进程,并启动反向同步的抽取进程;最后在目标端节点主机上启动投递进程。本发明专利技术不但安全可靠,有效避免数据丢失,并且能够在短时间内完成切换,大大缩短了业务停止生产的时间。

【技术实现步骤摘要】

本专利技术涉及一种数据库主备系统切换方法,尤其涉及一种。
技术介绍
在日常维护G0LDENGATE灾备系统时(两端均是ORACLE数据库),经常要检查生产系统(源端)与灾备系统(目标端)之间的同步是否正常,数据同步是否一致,两端均一致,才能保持业务高效地生产。通过对生产系统和灾备系统的切换、回切来验证是最具有说服力的,但往往人工进行切换、回切,需要操作的时间比较长,长达30min以上,严重影响业务生产。现有人工切换的主要问题如下:一、通过人工介入进行操作,操作流程和步骤较多,而且容易出错,进行一次切换的时间较长;二、人工切换由于切换操作流程不当,或检查不到位,容易出现数据丢失;三、一个库存在多个实例时进行切换,复杂性增加;四、切换完成后往往还有数据在源端修改,应用程序停止得不够彻底,使得生产系统与灾备系统之间的同步出现问题。
技术实现思路
本专利技术所要解决的技术问题是提供一种,不但安全可靠,有效避免数据丢失,并且能够在短时间内完成切换,大大缩短了业务停止生产的时间。本专利技术为解决上述技术问题而采用的技术方案是提供一种,包括如下步骤:S1:在源端和灾备目标端的节点主机上分别部署GoldenGate软件进行数据同步备份;S2:每次切换前,在源端停止实时应用集群监听,避免应用系统再连接到实例中;S3:获取源端和灾备目标端的节点主机上各实例的SPID,并自动生成KILL脚本停止各实例的SPID,断开会话,保证实例中无活动的业务进程;S4:在源端节点主机上循环检测抽取进程,以判断数据抽取是否全部完成,完成了则停止抽取进程;S5:在源端节点主机循环检测投递进程,以判断数据投递是否全部完成,完成了则停止投递进程;S6:在源端节点主机启动反向同步的复制进程,并提前准备好接收反向同步的数据;S7:在目标端节点主机循环检测复制进程,以判断数据复制是否全部完成,完成了则停止正向同步的复制进程,并从当前时间开始取数启动反向同步的抽取进程;S8:最后在目标端节点主机上启动投递进程。上述的,其中,所述源端节点主机启动反向同步的复制进程后,还启动AEXTCHK检查进程,以抽取GoldenGate同步以外产生的数据,抽取出来的数据存放在本地,根据用户需求再确定是否将数据同步到目标端,避免数据丢失。上述的,其中,如果源端和灾备目标端的节点主机上存在多个实例,则每次通过脚本执行切换一个实例。上述的,其中,所述步骤SI中源端节点主机上的GoldenGate利用抽取进程和数据库日志获得数据的增量变化,将增量数据转化为GoldenGate格式并采用10:1的压缩率对数据压缩后,利用投递进程在容灾链路上直接通过TCP/IP网络传输至灾备目标端节点主机;所述目标端节点主机上的GoldenGate通过交易重组,分批加载加快数据投递的速度和效率,在亚秒级实现增量数据的复制。上述的,其中,所述步骤S7中目标端节点主机获取灾备目标端最后应用的SCN号,查询该SCN号对应的时间点,并从该时间点开始取数启动反向同步的抽取进程。本专利技术对比现有技术有如下的有益效果:本专利技术提供的,不但安全可靠,有效避免数据丢失,并且能够在短时间内完成切换,大大缩短了业务停止生产的时间,具有自动化、智能化、完整性、一致性的特点。【附图说明】图1为本专利技术基于GoldenGate的灾备智能切控制流程示意图;图2为本专利技术基于GoldenGate的多实例灾备智能切控制架构示意图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步的描述。图1为本专利技术基于GoldenGate的灾备智能切控制流程示意图。请参见图1,本专利技术提供的,包括如下步骤:S1:在源端和灾备目标端的节点主机上分别部署GoldenGate软件进行数据同步备份;所述源端节点主机上的GoldenGate利用抽取进程和数据库日志获得数据的增量变化,将增量数据转化为GoldenGate格式并采用10:1的压缩率对数据压缩后,利用投递进程在容灾链路上直接通过TCP/IP网络传输至灾备目标端节点主机;所述目标端节点主机上的GoldenGate通过交易重组,分批加载加快数据投递的速度和效率,在亚秒级实现增量数据的复制;S2:每次切换前,在源端停止RAC (Real Applicat1n Clusters,实时应用集群监听),避免应用系统再连接到实例中;S3:获取源端和灾备目标端的节点主机上各实例的SPID (System Process ID,即操作系统进程ID),并自动生成KILL脚本停止各实例的SPID,断开会话,保证实例中无活动的业务进程;S4:在源端节点主机上循环检测抽取进程,以判断数据抽取是否全部完成,完成了则停止抽取进程;S5:在源端节点主机循环检测投递进程,以判断数据投递是否全部完成,完成了则停止投递进程;S6:在源端节点主机启动反向同步的复制进程,并提前准备好接收反向同步的数据;为了避免数据丢失,还可在源端启动AEXTCHK检查进程,以获取G0LDENGATE同步之外产生的数据,目的为了在生产中其他操作产生的数据仍可获取出来进行同步;S7:在目标端节点主机循环检测复制进程,以判断数据复制是否全部完成,完成了则停止正向同步的复制进程,并从当前时间开始取数启动反向同步的抽取进程;目标端节点主机可获取灾备目标端最后应用的SCN号(System Change Number),查询该SCN号对应的时间点,并从该时间点开始取数启动反向同步的抽取进程;S8:最后在目标端节点主机上启动投递进程。为确保生产与灾备系统切换能顺利、快速地实现,本专利技术可编写一套智能切换脚本,部署在各个节点中,实现无缝切换。一套脚本包含8个脚本,简介如下:fetch_sess1n_spid.sh:多实例的RAC,获取当前节点的spid,并生成KILL脚本;fetch_sess1n_spid_other_node.sh:获取另一节点的 spid,并生成 KILL 脚本;kill_sess1n_spid.sh:杀进程脚本,包括当前节点和另一节点(通过ssh信任访问);set_env.sh:设置环境变量,每个节点部署时设置;stop_listener.sh:使用 srvctl 停止 RAC 监听;stop_source_process.sh:检测并停止抽取、投递进程,并启动AEXTCHK抽取进程,以检查是否存在G0LDENGATE同步之外的操作;stop_target_process.sh:检测并停止复制进程;switch_ogg_SZtoBJ.sh:主脚本,以上脚本均由此脚本调用。具体的实施方法如下:1.正反向同步进程均配置好,反向进程处于stop状态;2.抽取进程使用E开头,抽取进程的参数可参考如下:EXTRACT xxxxxxobey/opt/oracle/product/rdbms/11.2.0/ogg/gg_ddb2_param.0byEXTTRAIL./dirdat/xxxxxx/ssTRANL0G0PT10NS L0GRETENT10N DISABLEDTRANL0G0PT10NS BUFSIZE 2048000TRANL0G0PT10NS DBLOGREADER, DBLOGREADERBUFSIZE 2048000TRANL0G0PT1本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN105068886.html" title="基于GoldenGate的灾备智能切控制方法原文来自X技术">基于GoldenGate的灾备智能切控制方法</a>

【技术保护点】
一种基于GoldenGate的灾备智能切控制方法,其特征在于,包括如下步骤:S1:在源端和灾备目标端的节点主机上分别部署GoldenGate软件进行数据同步备份;S2:每次切换前,在源端停止实时应用集群监听,避免应用系统再连接到实例中;S3:获取源端和灾备目标端的节点主机上各实例的SPID,并自动生成KILL脚本停止各实例的SPID,断开会话,保证实例中无活动的业务进程;S4:在源端节点主机上循环检测抽取进程,以判断数据抽取是否全部完成,完成了则停止抽取进程;S5:在源端节点主机循环检测投递进程,以判断数据投递是否全部完成,完成了则停止投递进程;S6:在源端节点主机启动反向同步的复制进程,并提前准备好接收反向同步的数据;S7:在目标端节点主机循环检测复制进程,以判断数据复制是否全部完成,完成了则停止正向同步的复制进程,并从当前时间开始取数启动反向同步的抽取进程;S8:最后在目标端节点主机上启动投递进程。

【技术特征摘要】

【专利技术属性】
技术研发人员:程永新林小勇温伟灵
申请(专利权)人:上海新炬网络信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1