[发明专利]数据库同步中基于闪回查询的初始化装载方法及设备有效
| 申请号: | 201910360528.2 | 申请日: | 2019-04-30 |
| 公开(公告)号: | CN110232093B | 公开(公告)日: | 2021-04-13 |
| 发明(设计)人: | 付铨;孙峰;余院兰;赵家威 | 申请(专利权)人: | 武汉达梦数据库有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/25 |
| 代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 黄君军 |
| 地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 同步 基于 查询 初始化 装载 方法 设备 | ||
本发明实施例提供了一种数据库同步中基于闪回查询的初始化装载方法及设备。所述方法包括:获取源端数据库当前日志的第一最终SCN,若当前活动事务中存在与系统表相关的活动事务,且相关的活动事务的起始SCN小于第一最终SCN,则将相关的活动事务提交完毕;获取第二最终SCN,将第二最终SCN送至目标端数据同步服务,将第二最终SCN与待装载表进行关联,根据第二最终SCN,闪回查询待装载表在第二最终SCN处的数据镜像,并送至目标端数据同步服务,对数据镜像进行同步,并将待装载表在日志流中捕获的操作,发送至目标端数据同步服务;若操作的SCN大于第二最终SCN,则同步待装载表。本发明可以保证源端和目标端数据库的一致性,以及源端数据库应用的稳定性。
技术领域
本发明实施例涉及数据库同步技术领域,尤其涉及一种数据库同步中基于闪回查询的初始化装载方法及设备。
背景技术
在数据库数据实时同步技术中,其中基于数据库日志分析的数据实时同步技术因其具备支持异构操作系统和数据库平台、对源端数据库系统侵入性较小、数据同步延时低等特点,而得到广泛应用。基于日志分析的数据实时同步技术,一般是捕获源端数据库的增量日志内容,然后通过网络发送至目标端,在目标端使用SQL逆向生成技术恢复源端数据库的事务操作SQL语句,再通过通用的数据库访问接口如ODBC、OCI等接口,执行恢复后的SQL语句,实现源端和目标端的数据实时同步。
通过上述数据实时同步技术实现数据库数据实时同步包括:实时读取源端数据库日志文件,捕获源端数据库上的事务增量日志内容;实时解析增量日志内容,提取日志中的事务ID、操作表ID、事务的操作类型如INSERT、UPDATE、DELETE,事务操作时间戳、日志LSN值、操作数据等,然后将其组装成特定格式的消息,存放在发送队列中;最后发送队列中的消息通过TCP/IP网络发送至同步系统的目标端。
在进行数据库数据实时同步时,首先需要对目标数据库进行数据初始化操作,来获得数据同步的基础点。在完成数据初始化操作之后,即可在此基础数据之上进行实时增量数据同步。在现实数据库应用中,源端数据库中可能存在很多应用,这些应用会分分秒秒的对数据库进行修改操作,还有一些应用的事务时间跨度非常的长(即长事务),往往一个事务要持续几个小时。在这种场景下,实现源端数据库到目标端数据库的数据初始化时需要对源端数据库上待装载的表上S锁,从而获得一份干净的数据。但是对源表上S锁则会影响到源端的数据库应用,导致应用无法对表进行修改操作,并且,在待装载表被长事务占用时,会导致装载的连接在短时间内无法获取该表的S锁,导致延长装载花费的时间。因此,找到一种可以在避免对待装载表上S锁的前提下,保证源端数据库和目标端数据库的一致性,以及源端数据库应用的稳定性的方法,就成为业界亟待解决的技术问题。
发明内容
针对现有技术存在的上述问题,本发明实施例提供了一种数据库同步中基于闪回查询的初始化装载方法及设备。
第一方面,本发明的实施例提供了一种数据库同步中基于闪回查询的初始化装载方法,包括:获取源端数据库当前日志的第一最终SCN,查询所述源端数据库的系统表,若当前活动事务中存在与所述系统表相关的活动事务,且所述相关的活动事务的起始SCN小于所述第一最终SCN,则将所述相关的活动事务提交完毕;获取源端数据库当前日志的第二最终SCN,将所述第二最终SCN发送至目标端数据同步服务,目标端数据同步服务将所述第二最终SCN与待装载表进行关联,根据所述第二最终SCN,闪回查询所述待装载表在所述第二最终SCN处的数据镜像,并将获取的数据镜像发送至所述目标端数据同步服务,对所述数据镜像进行同步,并将所述待装载表在日志流中捕获的操作,发送至所述目标端数据同步服务;若所述待装载表在日志流中捕获的操作的SCN,大于所述第二最终SCN,则同步所述待装载表。
进一步地,在上述方法实施例内容的基础上,本发明实施例中提供的数据库同步中基于闪回查询的初始化装载方法,所述系统表,包括:V$TRANSACTION和/或V$LOCKED_OBJECT。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库有限公司,未经武汉达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910360528.2/2.html,转载请声明来源钻瓜专利网。





