[发明专利]DB2数据库数据同步更新方法及设备有效
申请号: | 201811219296.0 | 申请日: | 2018-10-19 |
公开(公告)号: | CN109271452B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 付铨;孙峰;赵家威 | 申请(专利权)人: | 武汉达梦数据库有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F16/242 |
代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 黄君军 |
地址: | 430014 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | db2 数据库 数据 同步 更新 方法 设备 | ||
本发明实施例提供了DB2数据库数据同步更新方法及设备。所述方法包括:根据待同步更新表创建数据详细地址存储列,对待同步更新表上S锁,获取源端DB2数据库当前的日志序列号LSN作为待同步更新表的起始LSN,释放S锁;获取待同步更新表的结果集,将结果集发送至目标端数据库入库,获取源端DB2数据库当前LSN作为待同步更新表的结束LSN;接收源端同步更新服务发送的初始化数据,在目标端数据库将ROWID插入数据详细地址存储列,初始化待同步更新表的数据;启动数据实时同步更新服务,将源端DB2数据库的变化发送至目标端数据库进行数据同步更新。本发明的各个实施例可以在保证目标端数据库数据一致性的前提下,避免长时间对待同步更新表上S锁造成的不利影响。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种DB2数据库数据同步更新方法及设备。
背景技术
在基于软件的数据库数据复制技术中,基于数据库日志分析的数据实时同步技术,支持异构系统复制,并且异构备机可读写,对源端数据库的影响也比较小,因此在数据库实时复制领域得到广泛应用。目前在使用数据同步服务进行数据库数据初始化的主要技术原理是,首先对源端数据库中的同步表上S锁,防止其他事务对同步表做修改操作,查询出当前数据库的LSN值作为表增量同步的起始LSN,然后使用SELECT语句查询出源表中的数据。对于支持多版本并发控制的关系型数据库,在发出SELECT查询语句后,可以释放掉同步表上的S锁,因为SELECT语句能够利用多版本机制查询出起始LSN对应的结果集,对于大于此LSN的事务操作,SELECT不会查询到变化的数据。这一部分的变化则是通过后续的增量同步来保证源和目标端的数据一致性。而对于不支持多版本机制的关系型数据库,在SELECT查询并提取完所有结果集之后才能释放表上的S锁,防止在查询过程中,其他事务对同步表做修改操作,而读取到了变更的数据,这样再次在增量同步时会重复同步起始LSN之后提交的事务操作。
对于DB2数据库,由于其不支持多版本并发控制机制,因此在目前初始化步骤实现中需要对数据库同步表保持S锁。如果不对该表保持S锁,那么在某个表初始化时,查询操作会读取到在提取查询结果集期间其它事务提交的数据,初始化结束后开启同步时,这些提取结果集期间产生的事务会被再次同步,从而影响目标端库数据的一致性。如果对该表保持S锁,当源端数据表中数据量非常大时,查询结果集会花费较长时间,而长时间对同步表保持S锁,会对数据库上的应用程序造成较大影响。因此,找到在保证目标端数据库数据一致性的前提下,避免因长时间对待同步更新表上S锁,对应用程序造成不利影响的方法,就成为业界广泛关注的问题。
发明内容
针对现有技术存在的上述问题,本发明实施例提供了一种DB2数据库数据同步更新方法及设备。
第一方面,本发明的实施例提供了一种DB2数据库数据同步更新方法,包括:在目标端数据库,根据待同步更新表创建数据详细地址存储列,在源端数据库,对所述待同步更新表上S锁,获取源端DB2数据库当前的日志序列号LSN作为所述待同步更新表的起始LSN,释放S锁;获取所述待同步更新表的结果集,将所述结果集发送至目标端数据库入库,再次获取源端DB2数据库当前LSN作为所述待同步更新表的结束LSN;在目标端数据库,接收源端同步更新服务发送的初始化数据,将所述待同步更新表中的数据及数据详细地址ROWID组成INSERT语句,并在目标端数据库中将ROWID插入所述数据详细地址存储列,完成所述待同步更新表的数据初始化;在源端数据库,若所述结束LSN大于等于所述起始LSN,启动数据实时同步更新服务,将源端DB2数据库的变化发送至目标端数据库进行数据同步更新;其中,所述数据详细地址存储列用于存储源端数据库中的ROWID,所述结果集中包括所述源端数据库中的ROWID。
进一步地,所述数据详细地址存储列的形式包括:隐藏列或普通列。
进一步地,所述启动数据实时同步更新服务,将源端DB2数据库的变化发送至目标端数据库,包括:捕获并分析源端数据库日志,将源端DB2数据库的增删变化进行转换,将转换后的结果通过TCP/IP网络发送至目标端数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库有限公司,未经武汉达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811219296.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据库外部链接的提取方法
- 下一篇:一种数据库容量的确定方法和装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置