CN113157701A - 一种oracle数据库的双活机制部署方法及装置 - Google Patents

一种oracle数据库的双活机制部署方法及装置 Download PDF

Info

Publication number
CN113157701A
CN113157701A CN202110458301.9A CN202110458301A CN113157701A CN 113157701 A CN113157701 A CN 113157701A CN 202110458301 A CN202110458301 A CN 202110458301A CN 113157701 A CN113157701 A CN 113157701A
Authority
CN
China
Prior art keywords
database
data
synchronized
transaction
oracle
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.)
Pending
Application number
CN202110458301.9A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110458301.9A priority Critical patent/CN113157701A/zh
Publication of CN113157701A publication Critical patent/CN113157701A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种ORACLE数据库的双活机制部署方法及装置,可以用于数据处理技术领域,该方法包括:搭建第二数据库;利用分布式消息服务创建需要进行同步表的Topic;设置数据库同步组件,通过Maven方式引入交易应用;根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择数据库进行访问;当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。

Description

一种ORACLE数据库的双活机制部署方法及装置
技术领域
本发明涉及数据处理技术领域,尤指一种Oracle数据库的双活机制部署方法及装置。
背景技术
目前,银行推出的交易应用在存储应用交易数据时会使用Oracle数据库,如工商银行的“商户之家”。参考图6,为现有技术的商户之家部署示意图。其中,数据库通常采用主备模式部署,通过Oracle DataGuard实现主库与备库之间的数据库同步。当主数据库***或所在资源域硬件异常时,通过Oracle提供的主备切换机制完成主备切换,从应急主备切换工作开始,到备库正常提供服务需要至少30分钟时间,期间应用无法正常对外提供服务。
由于交易应用是银行服务收单商户的主要工具,为商户提供支付成功通知、明细查询、对账单查询等日常营业所需服务,数据库软、硬件出现异常时造成的服务中断,对商户日常生产生活造成了不良影响,同时也会影响银行商誉。
综上来看,亟需一种可以克服上述缺陷,在数据库发生异常时能够保持服务不中断,保证***稳定运行的技术方案。
发明内容
为解决现有技术存在的问题,本发明提出了一种Oracle数据库的双活机制部署方法及装置。本发明通过新建第二数据库,并基于银行分布式消息服务平台,利用分布式消息高并发、高吞吐量以及高效率的特点,实现第一数据库到新建第二数据库的准实时数据同步;应用侧通过扩展MyBatis数据库访问中间件,实现交易级别数据库访问读写分离,解决数据库异常导致服务中断的问题,降低数据库软、硬件异常导致服务中断给用户带来的业务影响,有效提升稳定性和可用性。
在本发明实施例的第一方面,提出了一种Oracle数据库的双活机制部署方法,该方法包括:
搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;
利用分布式消息服务创建需要进行同步表的Topic;
设置数据库同步组件,通过Maven方式引入交易应用;
根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;
当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;
新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。
进一步的,搭建第二数据库,包括:
使用Oracle DataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一***立数据库。
进一步的,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问,包括:
通过扩展MyBatis***,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。
进一步的,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问,还包括:
设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。
进一步的,该方法还包括:
在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。
进一步的,当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic,还包括:
通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步。
在本发明实施例的第二方面,提出了一种Oracle数据库的双活机制部署装置,该装置包括:
搭建单元,用于搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;
创建单元,用于利用分布式消息服务创建需要进行同步表的Topic;
引入单元,用于设置数据库同步组件,通过Maven方式引入交易应用;
数据库访问单元,用于根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;
数据写入单元,用于当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;
消息持久化单元,用于新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。
进一步的,所述搭建单元具体用于:
使用Oracle DataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一***立数据库。
进一步的,所述数据库访问单元具体用于:
通过扩展MyBatis***,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。
进一步的,所述数据库访问单元还用于:
设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。
进一步的,所述数据写入单元还用于:
在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。
进一步的,所述数据写入单元还用于:
通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步。
在本发明实施例的第三方面,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现Oracle数据库的双活机制部署方法。
在本发明实施例的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现Oracle数据库的双活机制部署方法。
本发明提出的Oracle数据库的双活机制部署方法及装置通过新建数据库,利用分布式消息服务平台的高并发、高吞吐量以及高效率的特点,实现原有数据库到新建数据库的准实时数据同步,降低数据库软、硬件异常导致服务中断给用户带来的业务影响,有效提升应用***稳定性、可用性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明一实施例的Oracle数据库的双活机制部署方法流程示意图。
图2是本发明一具体实施例的基于本发明改进后的商户之家数据库双活部署示意图。
图3是本发明一具体实施例的待同步数据处理示意图。
图4是本发明一实施例的Oracle数据库的双活机制部署装置架构示意图。
图5是本发明一实施例的计算机设备结构示意图。
图6是现有技术的商户之家部署示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种Oracle数据库的双活机制部署方法及装置,涉及数据处理技术领域。
下面对本发明实施例所涉及的术语进行说明如下:
Oracle数据库:甲骨文公司的一款关系型数据库管理***。
Oracle DataGuard:Oracle自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用方案。
主备(Primary-Standby)模式:应用访问Primary数据库,通过DataGuard实现Primary数据库与Standby数据库之间的数据同步。
商户之家:银行收单商户服务平台,为银行收单商户提供支付成功消息通知、明细查询、对账单查询等服务。
分布式消息服务:集成ActiveMQ和Kafka两个业界较为成熟的开源消息中间件(MQ)产品,并提供自动安装部署,一键运维,消息服务监控等功能,以实现消息服务的平台化和自动化。
Kafka:开源消息中间件(MQ)产品。
Kafka Topic:消息目的地。
配置中心:集中管理跟应用版本相关的***、网络、应用技术参数配置,为银行开放平台应用提供统一、集中的配置服务,支持按环境、集群管理配置,支持配置的灵活更新和实时生效。
MyBatis:一款优秀的持久层框架,它支持定制化SQL,存储过程以及高级映射。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明一实施例的Oracle数据库的双活机制部署方法流程示意图。如图1所示,该方法包括:
步骤S1,搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;
步骤S2,利用分布式消息服务创建需要进行同步表的Topic;
步骤S3,设置数据库同步组件,通过Maven方式引入交易应用;
步骤S4,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;
步骤S5,当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;
步骤S6,新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。
为了对上述Oracle数据库的双活机制部署方法进行更为清楚的解释,下面结合一个具体的实施例来进行详细说明。
步骤S1:
使用Oracle DataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一***立数据库。
步骤S2:
利用分布式消息服务创建需要进行同步表的Topic。
步骤S3:
开发数据库同步组件,通过Maven方式引入商户之家项目。
步骤S4:
通过扩展MyBatis***,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。
在本实施例中,对于数据库异常情况可以设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。
步骤S5:
当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;例如,采用Kafka Producer将消息发送到指定Topic。
在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。
在本实施例中,可以通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步,进一步提升数据同步的一致性和完整性。
步骤S6:
新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。
在本实施例中,从指定Topic拉取消息可以采用Kafka Consumer。
为了对上述Oracle数据库的双活机制部署方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
图2是本发明一具体实施例的基于本发明改进后的商户之家数据库双活部署示意图。
相较于现有技术(图6所示)的商户之家部署,本发明提出新建数据库A,并基于银行分布式消息服务平台,利用分布式消息高并发、高吞吐量以及高效率的特点,实现数据库B到新建数据库A的准实时数据同步。应用侧通过扩展MyBatis数据库访问中间件,实现交易级别数据库访问读写分离,解决数据库异常时,服务中断的问题,有效提升***稳定性和可用性。
如图3所示,为本发明一具体实施例的待同步数据处理示意图。
一个Topic通常是由分散在各个服务节点上的Pratition组成,多台Produer按照一定的算法把消息发送给各个Partition上,Consumer按照一定的算法去消费不同pratition上的消息。其中,每一个Pratition最大允许一个consumer去消费,一个consumer可以消费多个Pratition。
商户之家交易通过引用组件提供的注解,在交易执行完成后查询待同步数据全量信息,并由组件将待同步数据写入指定Topic。消费者群组订阅指定的Topic,拉取待处理消息,通过判断数据库A中数据与待同步消息中数据时间戳的新旧判断是否将消息持久化到数据库A。
在另一实施例中,对于数据库同步的方式,还可以通过数据库触发器将发生变化的数据写入带同步任务表,通过后台线程读取待处理任务后,将数据同步到数据库A。或者借助第三方工具,如IBM CDC,实现数据库B与数据库A的数据同步。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明示例性实施方式的Oracle数据库的双活机制部署装置进行介绍。
Oracle数据库的双活机制部署装置的实施可以参见上述方法的实施,重复之处不再赘述。
以下所使用的术语“模块”或者“单元”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
基于同一发明构思,本发明还提出了一种Oracle数据库的双活机制部署装置,如图4所示,该装置包括:
搭建单元410,用于搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;
创建单元420,用于利用分布式消息服务创建需要进行同步表的Topic;
引入单元430,用于设置数据库同步组件,通过Maven方式引入交易应用;
数据库访问单元440,用于根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;
数据写入单元450,用于当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;
消息持久化单元460,用于新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。
在一实施例中,所述搭建单元410具体用于:
使用Oracle DataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一***立数据库。
在一实施例中,所述数据库访问单元440具体用于:
通过扩展MyBatis***,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。
在一实施例中,所述数据库访问单元440还用于:
设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。
在一实施例中,所述数据写入单元450还用于:
在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。
在一实施例中,所述数据写入单元450还用于:
通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步。
应当注意,尽管在上文详细描述中提及了Oracle数据库的双活机制部署装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
基于前述发明构思,如图5所示,本发明还提出了一种计算机设备500,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序530,所述处理器520执行所述计算机程序530时实现前述Oracle数据库的双活机制部署方法。
基于前述发明构思,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述Oracle数据库的双活机制部署方法。
本发明提出的Oracle数据库的双活机制部署方法及装置通过新建数据库,利用分布式消息服务平台的高并发、高吞吐量以及高效率的特点,实现原有数据库到新建数据库的准实时数据同步,降低数据库软、硬件异常导致服务中断给用户带来的业务影响,有效提升应用***稳定性、可用性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (14)

1.一种Oracle数据库的双活机制部署方法,其特征在于,该方法包括:
搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;
利用分布式消息服务创建需要进行同步表的Topic;
设置数据库同步组件,通过Maven方式引入交易应用;
根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;
当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;
新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。
2.根据权利要求1所述的Oracle数据库的双活机制部署方法,其特征在于,搭建第二数据库,包括:
使用Oracle DataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一***立数据库。
3.根据权利要求1所述的Oracle数据库的双活机制部署方法,其特征在于,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问,包括:
通过扩展MyBatis***,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。
4.根据权利要求3所述的Oracle数据库的双活机制部署方法,其特征在于,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问,还包括:
设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。
5.根据权利要求1所述的Oracle数据库的双活机制部署方法,其特征在于,该方法还包括:
在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。
6.根据权利要求5所述的Oracle数据库的双活机制部署方法,其特征在于,当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic,还包括:
通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步。
7.一种Oracle数据库的双活机制部署装置,其特征在于,该装置包括:
搭建单元,用于搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;
创建单元,用于利用分布式消息服务创建需要进行同步表的Topic;
引入单元,用于设置数据库同步组件,通过Maven方式引入交易应用;
数据库访问单元,用于根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;
数据写入单元,用于当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;
消息持久化单元,用于新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。
8.根据权利要求7所述的Oracle数据库的双活机制部署装置,其特征在于,所述搭建单元具体用于:
使用Oracle DataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一***立数据库。
9.根据权利要求7所述的Oracle数据库的双活机制部署装置,其特征在于,所述数据库访问单元具体用于:
通过扩展MyBatis***,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。
10.根据权利要求9所述的Oracle数据库的双活机制部署装置,其特征在于,所述数据库访问单元还用于:
设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。
11.根据权利要求7所述的Oracle数据库的双活机制部署装置,其特征在于,所述数据写入单元还用于:
在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。
12.根据权利要求11所述的Oracle数据库的双活机制部署装置,其特征在于,所述数据写入单元还用于:
通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一所述方法。
CN202110458301.9A 2021-04-27 2021-04-27 一种oracle数据库的双活机制部署方法及装置 Pending CN113157701A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110458301.9A CN113157701A (zh) 2021-04-27 2021-04-27 一种oracle数据库的双活机制部署方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110458301.9A CN113157701A (zh) 2021-04-27 2021-04-27 一种oracle数据库的双活机制部署方法及装置

Publications (1)

Publication Number Publication Date
CN113157701A true CN113157701A (zh) 2021-07-23

Family

ID=76871205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110458301.9A Pending CN113157701A (zh) 2021-04-27 2021-04-27 一种oracle数据库的双活机制部署方法及装置

Country Status (1)

Country Link
CN (1) CN113157701A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277610A (zh) * 2022-07-25 2022-11-01 平安科技(深圳)有限公司 基于双活环境的消息分流发送方法、装置、设备及介质
CN115599868A (zh) * 2022-12-14 2023-01-13 广州睿帆科技有限公司(Cn) 数据实时同步处理方法、***、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277610A (zh) * 2022-07-25 2022-11-01 平安科技(深圳)有限公司 基于双活环境的消息分流发送方法、装置、设备及介质
CN115277610B (zh) * 2022-07-25 2024-06-04 平安科技(深圳)有限公司 基于双活环境的消息分流发送方法、装置、设备及介质
CN115599868A (zh) * 2022-12-14 2023-01-13 广州睿帆科技有限公司(Cn) 数据实时同步处理方法、***、设备及介质
CN115599868B (zh) * 2022-12-14 2023-03-14 广州睿帆科技有限公司 数据实时同步处理方法、***、设备及介质

Similar Documents

Publication Publication Date Title
CN110825420B (zh) 分布式集群的配置参数更新方法、装置、设备及存储介质
US9317555B2 (en) Query method for a distributed database system and query apparatus
CN113157701A (zh) 一种oracle数据库的双活机制部署方法及装置
CN110968603B (zh) 一种数据访问方法及装置
CN113220795B (zh) 基于分布式存储的数据处理方法、装置、设备以及介质
CN113515499A (zh) 一种数据库服务方法及***
US20140156596A1 (en) Replication control using eventually consistent meta-data
WO2023082800A1 (zh) 主节点选择方法、分布式数据库及存储介质
CN106339387B (zh) 一种数据库集群中新增服务器的数据同步方法及装置
CN111680017A (zh) 一种数据同步的方法及装置
CN112527801A (zh) 关系型数据库与大数据***间的数据同步方法及***
CN111651302A (zh) 分布式数据库备份方法,装置及***
CN115562676A (zh) 一种图计算引擎的触发方法
CN115587141A (zh) 一种数据库同步方法和装置
CN106789941B (zh) 一种数据库及***应用心跳统一管理的实现方法
CN115562849A (zh) 一种基于高可用的缓存数据方法及***
CN115587147A (zh) 一种数据处理方法及***
CN116150263A (zh) 一种分布式图计算引擎
CN115964436A (zh) 一种数据库集群管理的方法和装置
CN115080309A (zh) 数据备份***、方法、存储介质以及电子设备
CN113934792B (zh) 分布式数据库的处理方法、装置、网络设备和存储介质
CN114579364A (zh) 一种基于混合云的云原生数据库备份方法
CN114254039A (zh) 分布式同步***
CN112350837B (zh) 一种基于云平台的电力应用集群管理方法及装置
CN117009434A (zh) 数据的同步方法及装置、存储介质和电子设备

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