[发明专利]一种基于日志解析的数据库添加列同步方法和装置有效
申请号: | 201911413389.1 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111241193B | 公开(公告)日: | 2021-04-27 |
发明(设计)人: | 孙峰;彭青松;余院兰 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 日志 解析 数据库 添加 同步 方法 装置 | ||
1.一种基于日志解析的数据库添加列同步方法,其特征在于,包括:
源端数据库的同步系统判断日志中待同步的操作为DDL事务,则根据DDL事务号收集后续属于所述DDL事务的日志;
当收集到上述DDL事务相关的用户表INSERT操作日志时,则判断DDL事务中是否为添加列的操作,如果是,则提取INSERT操作中新列的值构造出默认值常量表达式为EXP_NEW;
使用默认值常量表达式EXP_NEW作为目的端数据库中添加列的定义表达式,然后把添加列操作发送到目的端同步服务执行;
源端数据库同步系统继续捕获日志,直到捕获到所述DDL事务的提交日志;则根据前面收集的系统表操作日志还原出原始的添加列操作,并提取出源端数据库中添加列的定义表达式为EXP_OLD;
当捕获该添加列的提交日志时,判断目的端的定义表达式EXP_NEW和源端数据库中添加列的定义表达式EXP_OLD是否等价,如果等价则完成DDL事务同步,否则,使用表达式EXP_OLD构造一个修改列默认值的操作发送到目标库执行,完成DDL事务同步。
2.根据权利要求1所述的基于日志解析的数据库添加列同步方法,其特征在于,所述源端数据库的同步系统判断日志中待同步的操作为DDL事务,则根据DDL事务号收集后续属于所述DDL事务的日志,还包括:
当首先收集到对应所述DDL事务的日志内容不是用户表INSERT操作,而是提交日志时,判断DDL事务为添加列的操作,则使用EXP_OLD表达式作为默认值向目的端同步系统发送添加列操作。
3.根据权利要求2所述的基于日志解析的数据库添加列同步方法,其特征在于,目的端数据库的同步系统在接收到源端数据库的同步系统的添加列操作后,直接在目的端数据库上对用户表执行添加列操作,完成所述DDL事务同步。
4.根据权利要求2所述的基于日志解析的数据库添加列同步方法,其特征在于,目的端数据库在所述DDL事务前,若接收到查询请求,所述方法还包括:
所述目的端数据库的原表被锁定,从而处于不可被访问状态;其中,在完成所述DDL事务同步后,通过替换原表的新建表完成所述查询请求。
5.根据权利要求1所述的基于日志解析的数据库添加列同步方法,其特征在于,所述源端数据库同步系统继续捕获日志,还包括:
当捕获到该添加列的回滚日志时,由于目的端已经执行了添加列的操作,所以要构造删除列的操作发送到目的端执行,完成DDL事务同步。
6.根据权利要求1-5任一所述的基于日志解析的数据库添加列同步方法,其特征在于,所述当收集到对应所述DDL事务的日志内容为用户表INSERT操作时,判断DDL事务是否为添加列的操作,具体包括:
针对DDL事务,源端数据库会生成系统表的日志和对应普通表的日志;
在收集完系统表的日志以后,通过系统表日志反推所述DDL事务所属操作;
其中,收集完系统表的日志的条件是:产生DDL事务的提交或回滚消息,和/或,对应所述DDL事务的普通表的日志产生。
7.根据权利要求1-5任一所述的基于日志解析的数据库添加列同步方法,其特征在于,数据库包括Oracle和/或达梦数据库。
8.根据权利要求1-5任一所述的基于日志解析的数据库添加列同步方法,其特征在于,在所述方法中在源端数据库及目的端数据库部署同步系统,源端数据库同步系统从源端数据库读取日志,而目的端数据库同步系统则是负责把源端发过来的同步操作应用到目的端数据库。
9.一种基于日志解析的数据库添加列同步装置,其特征在于,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-8任一所述的基于日志解析的数据库添加列同步方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911413389.1/1.html,转载请声明来源钻瓜专利网。