本发明涉及数据库技术、数字医疗以及金融,特别涉及一种数据库主备切换方法、装置、存储介质以及电子设备。
背景技术:
1、现在随着数据量规模的上升,数据迁移工具也成为了数据库侧的常见工具。使用数据迁移工具可以高效的实现数据侧的高效迁移。通常情况下,数据迁移需要开发人员进行开发以及测试,耗费时间长。传统的数据库侧的数据迁移工具有基于日志的结构化数据复制软件(oracle goldengate简称:ogg)软件,常见的ogg数据同步方案是在主数据库服务器以及备数据库服务器上装分别安装ogg软件进行数据迁移,当主服务器故障切换到备数据库后,由于当前运行程序还在主数据库上,需要人工将文件目录拷贝到备数据库上,实现主备库的切换,切换时间长,影响工作效率。
技术实现思路
1、有鉴于此,本发明提供了一种数据库主备切换方法、装置、存储介质以及电子设备,主要目的在于解决目前存在主备库的切换,切换时间长,工作效率低的问题。
2、为解决上述问题,本申请提供一种数据库主备切换方法,包括:
3、基于当前主数据库与当前备数据库的目标存储区域的共享日志,对当前主数据库的目标程序进行监控,判断当前主数据库是否发生异常;
4、当判断结果为当前主数据库发生异常时,将当前主数据库的目标程序切换到当前备数据库、以基于所述当前备数据库运行所述目标程序,将当前备数据库升级为新主数据库;
5、至少基于所述共享日志中的所述目标程序的切换告警日志,对新主数据库的目标进程进行恢复处理,得到无数据损失的数据库主备切换结果。
6、可选的,在所述监控当前主数据库是否发生异常之前,所述方法还包括:
7、获取在当前主数据库共享存储盘符构建的结构化数据复制程序的共享日志。
8、可选的,所述方法还包括:获取目标程序对应的目标错误日志;
9、所述至少基于目标存储区域存储的目标程序的切换告警日志,对新主数据库的目标进程进行恢复处理,包括:
10、基于第一预设正则表达式对所述共享日志进行第一关键字匹配检测,获得当前主数据库的目标程序切换到当前备数据库的切换告警日志;
11、基于所述切换告警日志在新主数据库上对异常主进程进行恢复;
12、基于目标程序对应的目标错误日志在新主数据库上对各异常子进程进行修复。
13、可选的,所述基于所述切换告警日志在新主数据库上对异常主进程进行恢复,包括:
14、基于预设切换关系表,得到当前主数据库与当前备数据库的ip映射关系;
15、基于所述映射关系,确定待修复异常主进程的新主数据库;
16、基于预设指令开启新主数据库的主进程,对新主数据库中未发生异常的子进程进行恢复。
17、可选的,所述基于目标程序对应的目标错误日志在新主数据库上对各异常子进程进行修复,具体包括:
18、在所述目标错误日志中获取目标异常子进程对应的目标系统修订号;
19、基于所述目标系统修订号对所述目标异常子进程进行修复。
20、可选的,当在至少基于在目标存储区域存储的目标程序的切换告警日志对新主数据库的目标进程进行恢复处理之前所述方法还包括:判断当前主服务器的异常类型;
21、当所述异常类型为当前主数据库非宕机的情况下,控制当前主数据库关闭目标程序对应的主进程。
22、可选的,所述获取目标异常子进程对应的目标系统修订号,包括:
23、定义异常子进程对应的进程名称变量以及系统修订号对应的系统修订号变量;
24、基于第二预设正则表达式在所述目标错误日志中进行第二关键字匹配检测,获得各所述异常子进程对应的系统修订号。
25、未解决上述问题,本申请提供一种数据库主备切换装置,包括:
26、监控模块:用于基于当前主数据库与当前备数据库的目标存储区域的共享日志,对当前主数据库的目标程序进行监控,判断当前主数据库是否发生异常;
27、切换模块:用于当判断结果为当前主数据库发生异常时,将当前主数据库的目标程序切换到当前备数据库、以基于所述当前备数据库运行所述目标程序,将当前备数据库升级为新主数据库;
28、恢复处理模块:用于至少基于所述共享日志中的所述目标程序的切换告警日志,对新主数据库的目标进程进行恢复处理,得到无数据损失的数据库主备切换结果。
29、为解决上述问题,本申请提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述所述数据库主备切换方法的步骤。
30、为解决上述问题,本申请提供一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述所述数据库主备切换方法的步骤。
31、本申请通过基于当前主数据库与当前备数据库的目标存储区域的共享日志,对当前主数据库的目标程序进行监控,判断当前主数据库是否发生异常;当判断结果为当前主数据库发生异常时,将当前主数据库的目标程序切换到当前备数据库、以基于所述当前备数据库运行所述目标程序,将当前备数据库升级为新主数据库;至少基于所述共享日志中的所述目标程序的切换告警日志,对新主数据库的目标进程进行恢复处理,得到无数据损失的数据库主备切换结果。通过本申请中的数据库主备切换方法,在当前主服务器异常切换到备数据库后,不需要人工对主数据库上的数据进行拷贝,提高了工作效率。
32、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种数据库主备切换方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,在所述监控当前主数据库是否发生异常之前,所述方法还包括:
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
4.如权利要求3所述的方法,其特征在于,所述基于所述切换告警日志在新主数据库上对异常主进程进行恢复,包括:
5.如权利要求3所述的方法,其特征在于,所述基于目标程序对应的目标错误日志在新主数据库上对各异常子进程进行修复,具体包括:
6.如权利要求1所述的方法,其特征在于,在至少基于在目标存储区域存储的目标程序的切换告警日志对新主数据库的目标进程进行恢复处理之前所述方法还包括:
7.如权利要求5所述的方法,其特征在于,所述获取目标异常子进程对应的目标系统修订号,包括:
8.一种数据库主备切换装置,其特征在于,包括:
9.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-7任一项所述数据库主备切换方法的步骤。
10.一种电子设备,其特征在于,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述权利要求1-7任一项所述数据库主备切换方法的步骤。