一种ORACLE数据库的双活机制部署方法及装置制造方法及图纸

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

【技术实现步骤摘要】
一种ORACLE数据库的双活机制部署方法及装置
本专利技术涉及数据处理
,尤指一种Oracle数据库的双活机制部署方法及装置。
技术介绍
目前,银行推出的交易应用在存储应用交易数据时会使用Oracle数据库,如工商银行的“商户之家”。参考图6,为现有技术的商户之家部署示意图。其中,数据库通常采用主备模式部署,通过OracleDataGuard实现主库与备库之间的数据库同步。当主数据库系统或所在资源域硬件异常时,通过Oracle提供的主备切换机制完成主备切换,从应急主备切换工作开始,到备库正常提供服务需要至少30分钟时间,期间应用无法正常对外提供服务。由于交易应用是银行服务收单商户的主要工具,为商户提供支付成功通知、明细查询、对账单查询等日常营业所需服务,数据库软、硬件出现异常时造成的服务中断,对商户日常生产生活造成了不良影响,同时也会影响银行商誉。综上来看,亟需一种可以克服上述缺陷,在数据库发生异常时能够保持服务不中断,保证系统稳定运行的技术方案。
技术实现思路
为解决现有技术存在的问题,本专利技术提出了一种Oracle数据库的双活机制部署方法及装置。本专利技术通过新建第二数据库,并基于银行分布式消息服务平台,利用分布式消息高并发、高吞吐量以及高效率的特点,实现第一数据库到新建第二数据库的准实时数据同步;应用侧通过扩展MyBatis数据库访问中间件,实现交易级别数据库访问读写分离,解决数据库异常导致服务中断的问题,降低数据库软、硬件异常导致服务中断给用户带来的业务影响,有效提升稳定性和可用性。在本专利技术实施例的第一方面,提出了一种Oracle数据库的双活机制部署方法,该方法包括:搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;利用分布式消息服务创建需要进行同步表的Topic;设置数据库同步组件,通过Maven方式引入交易应用;根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。进一步的,搭建第二数据库,包括:使用OracleDataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一台独立数据库。进一步的,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问,包括:通过扩展MyBatis拦截器,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。进一步的,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问,还包括:设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。进一步的,该方法还包括:在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。进一步的,当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic,还包括:通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步。在本专利技术实施例的第二方面,提出了一种Oracle数据库的双活机制部署装置,该装置包括:搭建单元,用于搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;创建单元,用于利用分布式消息服务创建需要进行同步表的Topic;引入单元,用于设置数据库同步组件,通过Maven方式引入交易应用;数据库访问单元,用于根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;数据写入单元,用于当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;消息持久化单元,用于新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。进一步的,所述搭建单元具体用于:使用OracleDataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一台独立数据库。进一步的,所述数据库访问单元具体用于:通过扩展MyBatis拦截器,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。进一步的,所述数据库访问单元还用于:设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。进一步的,所述数据写入单元还用于:在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。进一步的,所述数据写入单元还用于:通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步。在本专利技术实施例的第三方面,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现Oracle数据库的双活机制部署方法。在本专利技术实施例的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现Oracle数据库的双活机制部署方法。本专利技术提出的Oracle数据库的双活机制部署方法及装置通过新建数据库,利用分布式消息服务平台的高并发、高吞吐量以及高效率的特点,实现原有数据库到新建数据库的准实时数据同步,降低数据库软、硬件异常导致服务中断给用户带来的业务影响,有效提升应用系统稳定性、可用性。附图说明为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本专利技术一实施例的Oracle数据库的双活机制部署方法流程示意图。图2是本专利技术一具体实施例的基于本专利技术改进本文档来自技高网...

【技术保护点】
1.一种Oracle数据库的双活机制部署方法,其特征在于,该方法包括:/n搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;/n利用分布式消息服务创建需要进行同步表的Topic;/n设置数据库同步组件,通过Maven方式引入交易应用;/n根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;/n当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;/n新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。/n

【技术特征摘要】
1.一种Oracle数据库的双活机制部署方法,其特征在于,该方法包括:
搭建第二数据库,其中,第二数据库与第一数据库是两个独立的数据库,位于不同的园区;
利用分布式消息服务创建需要进行同步表的Topic;
设置数据库同步组件,通过Maven方式引入交易应用;
根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问;
当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic;
新建待同步数据消费者群组,由消费者群组订阅指定的Topic,拉取待同步消息,根据当前数据库中数据与待同步消息中数据时间戳将消息持久化到当前数据库。


2.根据权利要求1所述的Oracle数据库的双活机制部署方法,其特征在于,搭建第二数据库,包括:
使用OracleDataGuard搭建第二数据库,在所述第二数据库上执行FailOver操作,形成一台独立数据库。


3.根据权利要求1所述的Oracle数据库的双活机制部署方法,其特征在于,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问,包括:
通过扩展MyBatis拦截器,判断交易应用发生交易的园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问。


4.根据权利要求3所述的Oracle数据库的双活机制部署方法,其特征在于,根据交易应用发生的交易,判断交易发生园区、数据库表及操作类型,根据判断结果选择第一数据库或第二数据库进行访问,还包括:
设置熔断机制,当数据库访问发生异常情况时,根据所述熔断机制,通过配置中心进行手工数据源实时切换,或基于预设策略进行自动数据源切换。


5.根据权利要求1所述的Oracle数据库的双活机制部署方法,其特征在于,该方法还包括:
在数据库同步组件将待同步数据写入指定Topic时,若写入失败则登记数据同步任务表,利用定时任务扫描写入失败的记录,并在此尝试将待同步数据写入指定Topic。


6.根据权利要求5所述的Oracle数据库的双活机制部署方法,其特征在于,当所述交易应用发生的交易执行完成后,通过引用数据库同步组件提供的注解,查询待同步数据全量信息,并由数据库同步组件将待同步数据写入指定Topic,还包括:
通过设置待同步表的日终批量文件导出及导入作业,在应用级准实时数据同步的基础上进行批量数据同步。


7.一种Oracle数据库的双活机制部署装置,其特征在于,该装置包括...

【专利技术属性】
技术研发人员:刘永伟赵于凡卢晓露郭旭
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1