CN110278106B - 一种用于Oracle数据库长距双活网络高可用的方法 - Google Patents

一种用于Oracle数据库长距双活网络高可用的方法 Download PDF

Info

Publication number
CN110278106B
CN110278106B CN201910398028.8A CN201910398028A CN110278106B CN 110278106 B CN110278106 B CN 110278106B CN 201910398028 A CN201910398028 A CN 201910398028A CN 110278106 B CN110278106 B CN 110278106B
Authority
CN
China
Prior art keywords
link
links
state
oracle database
high availability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910398028.8A
Other languages
English (en)
Other versions
CN110278106A (zh
Inventor
吴炎
王磊
张�浩
陈仕昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Woqu Technology Co ltd
Original Assignee
Hangzhou Woqu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Woqu Technology Co ltd filed Critical Hangzhou Woqu Technology Co ltd
Priority to CN201910398028.8A priority Critical patent/CN110278106B/zh
Publication of CN110278106A publication Critical patent/CN110278106A/zh
Application granted granted Critical
Publication of CN110278106B publication Critical patent/CN110278106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors

Abstract

本发明涉及网络保护领域,公开了一种用于Oracle数据库长距双活网络高可用的方法,包括以下步骤:S1)在正常情况下保证一条链路active,另外一条backup;S2)在active链路发生故障后,backup链路切换为active,接替原有的链路,保证网络通信的连续性;S3)在两条长距链路发生故障后,保证本地机房内部的节点能够正常通信。本发明弥补了HAIP方案在一条中间长距链路发生故障,无法感知到,不会发生故障切换,业务会发生中断的缺陷,在两条链路都发生故障后,同机房内能正常通信。本发明保证了业务连续性,提高了企业的经济效益。

Description

一种用于Oracle数据库长距双活网络高可用的方法
技术领域
本发明涉及网络保护领域,公开了一种用于Oracle数据库长距双活网络高可用的方法。
背景技术
Oracle HighlyAvailable IP技术是Oracle数据库原生提供的一种网络高可用切换的方案。
Oracle多个节点之前需要进行通信,可以提供两条网络链路来进行冗余。 HAIP保证某一个节点的网口如果Down的状态下,能够进行切换。
公开了CN201710816989.7为发明专利,公开了一种Oracle数据库备份的方法,包括备份服务端在接收到用户指令后向安装在Oracle服务器上的执行备份任务的备份客户端发送备份指令,用户指令包括备份客户端的识别号;备份客户端在接收到备份指令后触发备份管理器RMAN将待备份的数据备份出来,并将备份数据传送出去;备份服务端接收备份数据并将备份数据保存在区别于 Oracle服务器上存储介质的存储介质上。发明将Oracle数据库的数据备份出来并保存到其他存储介质上,避免了Oracle服务器系统不慎损坏时导致数据丢失的问题,增加了Oracle数据库上数据的安全性。发明还公开了一种Oracle数据库备份的系统,具有上述有益效果。但是在我们的双活的集群架构下,如果中间长距链路发生故障,在节点上是不感知到端口发生变化的,所以就无法正常切换。如果只是靠数据备份,仍然会影响正常通信,如果两条链路都发生中断,也没有办法保证同一个机房内的节点能正常通信。所以使用HAIP发案,在该情况发生时,就会导致数据库集群发生故障,从而导致整个业务系统无法对外提供服务。
发明内容
本发明针对现有技术中Oracle原生HighlyAvailable IP网络高可用技术中无法准确探测链路变化的缺点,提供一种用于Oracle数据库长距双活网络高可用的方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种用于Oracle数据库长距双活网络高可用的方法,其特征在于,包括以下步骤:
S1)周期性对所有的链路进行检测,如果到达了时间,则开始,否则继续等待;检测的周期可以由用户自定义;
S2)进入检测的过程,对两条链路中的slave都进行检测;如果所有的slave都检测完毕了,则进入步骤S6)操作,如果还有slave没有检测,则进入到步骤 S3);
S3)该步骤的后续流程为对单一链路(slave)进行检测。如果当前的slave为 Down的状态,则进入到步骤S4),如果当前的slave为是Up的状态,则进入到步骤S5);
S4)判断这条链路是否具备从Down状态切换到Up状态的条件;如果在1个interval(检测周期)内收到了arp报文,则说明这条链路是正常的,则可以切换到Up状态,或interval内没有收到arp报文,但当前已经进入failed模式,也可以将链路状态切换到Up状态;否则该链路保持Down状态;
S5)如果当前口是Up状态的,则检查链路是否有发生故障;如果在两个interval(检查周期)内都没有收到arp报文,且也没有进入failed模式,则将该链路状态切换为Down;
S6)判断两条链路,是否在2个interval内都收到arp报文;如果是则表示两条链路都有问题,则进入到步骤S7),如果不是,则说明至少有一条链路是正常的,则进入到步骤S8);
S7)当前两条链路都有问题,增加失败的计数,在失败计数超过预先定义的阈值6次的时候,就进入到失败模式。
作为优选,步骤S7)进入失败模式之后,在两条链路中选择一条链路作为 active链路,重复步骤S4)或步骤S5)。
作为优选,还包括S8)在有任意一条链路正常的情况下,退出失败模式。
作为优选,还包括S9)对链路的检测结束,接下来需要对那些链路有UP、 Down变换的链路进行提交,最终使得状态生效。
作为优选,还包括S10)发送arp探测报文,根据探测报文是否有回复,判断当前链路是否是正常的。
作为优选,Oracle数据库在正常情况下保证一条链路为active,另外一条链路为backup;在active链路发生故障后,backup链路切换为active,接替原有的链路,保证网络通信的连续性;在两条长距链路发生故障后,保证本地机房内部的节点能够正常通信。Oracle数据库在正常情况下保证一条链路提供服务,另外一条链路作为冗余;在发生故障时,冗余链路替代故障链路,保证网络连续不中断。在两条链路都发生故障后,同机房内能正常通信。业务在以上的情况下,都能不受影响,连续的对外提供服务。
当在搭建Oracle数据库长距双活集群时,使用该方法,可以提供网络高可用。在网络发生故障的各种情况下,都能保证数据库服务的可用性,同时保证业务系统服务的连续性。取代原生必须重新开始的方法,是对Oracle自身高可用方案Oracle HighlyAvailableIP(Oracle HAIP)的替换、改进,弥补了原有方案中网络切换不及时、长距链路中断后同机房无法通信等缺陷。
本发明由于采用了以上技术方案,具有显著的技术效果:Oracle数据库在正常情况下保证一条链路提供服务,另外一条链路作为冗余;在发生故障时,冗余链路替代故障链路,保证网络连续不中断。在两条链路都发生故障后,同机房内能正常通信。业务在以上的情况下,都能不受影响,连续的对外提供服务。通过该方法对Oracle数据库长距双活集群提供了网络高可用,提供了网络的可靠性,保证了业务的连续性,提高了企业的经济效益。
附图说明
图1是用于Oracle数据库长距双活网络高可用的方法流程示意图;
图2是S2)有剩余slave时的方法流程示意图;
图3是S2)没有剩余slave时的方法流程示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述。
实施例1
如图1-3所示,一种用于Oracle数据库长距双活网络高可用的方法,包括以下步骤:
S1)周期性对所有的链路进行检测,如果到达了时间,则开始,否则继续等待;
S2)进入检测的过程,对两条链路中的slave都进行检测;如果所有的slave都检测完毕了,则进入步骤S6)操作,如果还有slave没有检测,则进入到步骤 S3);
S3)对单一链路进行检测;如果当前的slave为Down的状态,则进入到步骤S4),如果当前的slave为是Up的状态,则进入到步骤S5);
S4)判断这条链路是否具备从Down状态切换到Up状态的条件;如果在1个interval内收到了arp报文,则说明这条链路是正常的,则可以切换到Up状态,或interval内没有收到arp报文,但当前已经进入failed模式,也可以将链路状态切换到Up状态;否则该链路保持Down状态;
S5)如果当前口是Up状态的,则检查链路是否有发生故障;如果在两个interval内都没有收到arp报文,且也没有进入failed模式,则将该链路状态切换为Down;
S6)判断两条链路,是否在2个interval内都收到arp报文;如果是则表示两条链路都有问题,则进入到步骤S7),如果不是,则说明至少有一条链路是正常的,则进入到步骤S8);
S7)当前两条链路都有问题,增加失败的计数,在失败计数超过预先定义的阈值6次的时候,就进入到失败模式。步骤S7)进入失败模式之后,在两条链路中选择一条链路作为active链路,重复步骤S4)或步骤S5)。
还包括S8)在有任意一条链路正常的情况下,退出失败模式。
还包括S9)对链路的检测结束,接下来需要对那些链路有UP、Down变换的链路进行提交,最终使得状态生效。
还包括S10)发送arp探测报文,根据探测报文是否有回复,判断当前链路是否是正常的。
Oracle数据库在正常情况下保证一条链路为active,另外一条链路为backup;在active链路发生故障后,backup链路切换为active,接替原有的链路,保证网络通信的连续性;在两条长距链路发生故障后,保证本地机房内部的节点能够正常通信。Oracle数据库在正常情况下保证一条链路提供服务,另外一条链路作为冗余;在发生故障时,冗余链路替代故障链路,保证网络连续不中断。
实施例2
一种用于Oracle数据库长距双活网络高可用的方法,包括以下步骤:
S1)周期性对所有的链路进行检测,如果到达了时间,则开始,否则继续等待;
S2)进入检测的过程,对两条链路中的slave都进行检测;所有的slave都检测完毕了,则进入步骤S6)操作;
S6)判断两条链路,是否在2个interval内都收到arp报文;如果是则表示两条链路都有问题,则进入到步骤S7),如果不是,则说明至少有一条链路是正常的,则进入到步骤S8);
S7)当前两条链路都有问题,增加失败的计数,在失败计数超过预先定义的阈值6次的时候,就进入到失败模式。步骤S7)进入失败模式之后,在两条链路中选择一条链路作为active链路,重复步骤S4)或步骤S5)。
S8)在有任意一条链路正常的情况下,退出失败模式。
S9)对链路的检测结束,接下来需要对那些链路有UP、Down变换的链路进行提交,最终使得状态生效。
S10)发送arp探测报文,根据探测报文是否有回复,判断当前链路是否是正常的。
实施例3
一种用于Oracle数据库长距双活网络高可用的方法,包括以下步骤:
S1)周期性对所有的链路进行检测,如果到达了时间,则开始,否则继续等待;
S2)进入检测的过程,对两条链路中的slave都进行检测;还有slave没有检测,进入到步骤S3);
S3)对单一链路进行检测;当前的slave为Down的状态,进入到步骤S4);
S4)判断这条链路是否具备从Down状态切换到Up状态的条件;如果在1个interval内收到了arp报文,则说明这条链路是正常的,则可以切换到Up状态,或interval内没有收到arp报文,但当前已经进入failed模式,也可以将链路状态切换到Up状态;否则该链路保持Down状态;
S6)判断两条链路,是否在2个interval内都收到arp报文;如果是则表示两条链路都有问题,则进入到步骤S7),如果不是,则说明至少有一条链路是正常的,则进入到步骤S8);
S7)当前两条链路都有问题,增加失败的计数,在失败计数超过预先定义的阈值6次的时候,就进入到失败模式。步骤S7)进入失败模式之后,在两条链路中选择一条链路作为active链路,重复步骤S4)或步骤S5)。
S8)在有任意一条链路正常的情况下,退出失败模式。
S9)对链路的检测结束,接下来需要对那些链路有UP、Down变换的链路进行提交,最终使得状态生效。
S10)发送arp探测报文,根据探测报文是否有回复,判断当前链路是否是正常的。
实施例4
一种用于Oracle数据库长距双活网络高可用的方法,包括以下步骤:
S1)周期性对所有的链路进行检测,如果到达了时间,则开始,否则继续等待;
S2)进入检测的过程,对两条链路中的slave都进行检测;还有slave没有检测,进入到步骤S3);
S3)对单一链路进行检测;当前的slave为是Up的状态,则进入到步骤S5);
S5)当前口是Up状态的,则检查链路是否有发生故障;如果在两个interval内都没有收到arp报文,且也没有进入failed模式,则将该链路状态切换为Down;
S6)判断两条链路,是否在2个interval内都收到arp报文;如果是则表示两条链路都有问题,则进入到步骤S7),如果不是,则说明至少有一条链路是正常的,则进入到步骤S8);
S7)当前两条链路都有问题,增加失败的计数,在失败计数超过预先定义的阈值6次的时候,就进入到失败模式。步骤S7)进入失败模式之后,在两条链路中选择一条链路作为active链路,重复步骤S4)或步骤S5)。
S8)在有任意一条链路正常的情况下,退出失败模式。
S9)对链路的检测结束,接下来需要对那些链路有UP、Down变换的链路进行提交,最终使得状态生效。
S10)发送arp探测报文,根据探测报文是否有回复,判断当前链路是否是正常的。
总之,以上仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (5)

1.一种用于Oracle数据库长距双活网络高可用的方法,其特征在于,包括以下步骤:
S1)周期性对所有的链路进行检测,如果到达了时间,则开始,否则继续等待;S2)进入检测的过程,对两条链路中的slave都进行检测;如果所有的slave都检测完毕了,则进入步骤S6)操作,如果还有slave没有检测,则进入到步骤S3);
S3)对单一链路进行检测;如果当前的slave为Down的状态,则进入到步骤S4),如果当前的slave为是Up的状态,则进入到步骤S5);
S4)判断这条链路是否具备从Down状态切换到Up状态的条件;如果在1个interval内收到了arp报文,则可以切换到Up状态,或interval内没有收到arp报文,但当前已经进入failed模式,也可以将链路状态切换到Up状态;否则该链路保持Down状态;
S5)如果当前口是Up状态的,则检查链路是否有发生故障;如果在两个interval内都没有收到arp报文,且也没有进入failed模式,则将该链路状态切换为Down;S6)判断两条链路,是否在2个interval内都收到arp报文;如果是则表示两条链路都有问题,则进入到步骤S7),如果不是,则说明至少有一条链路是正常的,则进入到步骤S8);
S7)当前两条链路都有问题,增加失败的计数,在失败计数超过预先定义的阈值6次的时候,就进入到失败模式;
S8)在有任意一条链路正常的情况下,退出失败模式。
2.根据权利要求1所述的一种用于Oracle数据库长距双活网络高可用的方法,其特征在于:步骤S7)进入失败模式之后,在两条链路中选择一条链路作为active链路,重复步骤S4)或步骤S5)。
3.根据权利要求1所述的一种用于Oracle数据库长距双活网络高可用的方法,其特征在于:还包括S9)对链路的检测结束,接下来需要对那些链路有UP、Down变换的链路进行提交,最终使得状态生效。
4.根据权利要求1所述的一种用于Oracle数据库长距双活网络高可用的方法,其特征在于:还包括S10)发送arp探测报文,根据探测报文是否有回复,判断当前链路是否是正常的。
5.根据权利要求1所述的一种用于Oracle数据库长距双活网络高可用的方法,其特征在于:Oracle数据库在正常情况下保证一条链路为active,另外一条链路为backup;在active链路发生故障后,backup链路切换为active,接替原有的链路,保证网络通信的连续性;在两条长距链路发生故障后,保证本地机房内部的节点能够正常通信。
CN201910398028.8A 2019-05-14 2019-05-14 一种用于Oracle数据库长距双活网络高可用的方法 Active CN110278106B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910398028.8A CN110278106B (zh) 2019-05-14 2019-05-14 一种用于Oracle数据库长距双活网络高可用的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910398028.8A CN110278106B (zh) 2019-05-14 2019-05-14 一种用于Oracle数据库长距双活网络高可用的方法

Publications (2)

Publication Number Publication Date
CN110278106A CN110278106A (zh) 2019-09-24
CN110278106B true CN110278106B (zh) 2022-04-22

Family

ID=67959948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910398028.8A Active CN110278106B (zh) 2019-05-14 2019-05-14 一种用于Oracle数据库长距双活网络高可用的方法

Country Status (1)

Country Link
CN (1) CN110278106B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9813257B2 (en) * 2010-09-10 2017-11-07 Extreme Networks, Inc. Access network dual path connectivity
CN105072029B (zh) * 2015-08-31 2018-05-04 浪潮(北京)电子信息产业有限公司 一种双活双控存储系统的冗余链路设计方法及系统
CN106686099A (zh) * 2017-01-03 2017-05-17 杭州沃趣科技股份有限公司 一种基于infiniband网络实现Oracle RAC数据库跨机房双活的方法
CN107547260B (zh) * 2017-07-24 2020-12-22 杭州沃趣科技股份有限公司 一种长距infiniband链路检测切换修复的方法

Also Published As

Publication number Publication date
CN110278106A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN101582787B (zh) 一种双机备份系统及备份方法
CN105933407B (zh) 一种实现Redis集群高可用的方法及系统
CN106330475B (zh) 一种通信系统中管理主备节点的方法和装置及高可用集群
US7730029B2 (en) System and method of fault tolerant reconciliation for control card redundancy
CN103795553A (zh) 基于监控的主、备服务器切换
CN103354503A (zh) 一种可自动检测及替换故障节点的云存储系统及其方法
CN107480014A (zh) 一种高可用设备切换方法及装置
CN110635950A (zh) 一种双数据中心容灾系统
WO2022088861A1 (zh) 数据库故障处理方法和装置
CN112218321B (zh) 主备链路切换方法、装置、通信设备和存储介质
CN104539479A (zh) 一种分布式服务监控系统及方法
CN112118130A (zh) 自适应的分布式缓存主备状态信息切换方法及装置
CN111142801B (zh) 分布式存储系统网络亚健康检测方法及装置
CN103186348B (zh) 存储系统及其数据读写方法
CN108243031B (zh) 一种双机热备的实现方法及装置
CN109189854B (zh) 提供持续业务的方法及节点设备
CN110278106B (zh) 一种用于Oracle数据库长距双活网络高可用的方法
CN102045185A (zh) 用户信息备份方法及装置
CN111309515B (zh) 一种容灾控制方法、装置及系统
CN112069018A (zh) 一种数据库高可用方法及系统
CN102238036A (zh) 一种用户会话备份切换方法及系统
CN115694748A (zh) 一种基于分层系统实时数据同步的冗余框架设计方法
CN115794769A (zh) 高可用数据库管理的方法、电子设备及存储介质
CN114328033A (zh) 保持高可用设备组业务配置一致性的方法及装置
CN111698136B (zh) 一种高可靠plc的数据传输方法及数据传输系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant