CN110278106B - 一种用于Oracle数据库长距双活网络高可用的方法 - Google Patents
一种用于Oracle数据库长距双活网络高可用的方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
Abstract
本发明涉及网络保护领域,公开了一种用于Oracle数据库长距双活网络高可用的方法,包括以下步骤:S1)在正常情况下保证一条链路active,另外一条backup;S2)在active链路发生故障后,backup链路切换为active,接替原有的链路,保证网络通信的连续性;S3)在两条长距链路发生故障后,保证本地机房内部的节点能够正常通信。本发明弥补了HAIP方案在一条中间长距链路发生故障,无法感知到,不会发生故障切换,业务会发生中断的缺陷,在两条链路都发生故障后,同机房内能正常通信。本发明保证了业务连续性,提高了企业的经济效益。
Description
技术领域
本发明涉及网络保护领域,公开了一种用于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,接替原有的链路,保证网络通信的连续性;在两条长距链路发生故障后,保证本地机房内部的节点能够正常通信。
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)
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链路检测切换修复的方法 |
-
2019
- 2019-05-14 CN CN201910398028.8A patent/CN110278106B/zh active Active
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 |