CN109614443B - 针对v9.7版本db2数据库的ddl同步方法及设备 - Google Patents

针对v9.7版本db2数据库的ddl同步方法及设备 Download PDF

Info

Publication number
CN109614443B
CN109614443B CN201811312253.7A CN201811312253A CN109614443B CN 109614443 B CN109614443 B CN 109614443B CN 201811312253 A CN201811312253 A CN 201811312253A CN 109614443 B CN109614443 B CN 109614443B
Authority
CN
China
Prior art keywords
ddl
database
auxiliary table
operation information
synchronization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811312253.7A
Other languages
English (en)
Other versions
CN109614443A (zh
Inventor
付铨
孙峰
赵家威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Dream Database Co ltd
Original Assignee
Wuhan Dameng Database Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Dameng Database Co Ltd filed Critical Wuhan Dameng Database Co Ltd
Priority to CN201811312253.7A priority Critical patent/CN109614443B/zh
Publication of CN109614443A publication Critical patent/CN109614443A/zh
Application granted granted Critical
Publication of CN109614443B publication Critical patent/CN109614443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种针对V9.7版本DB2数据库的DDL同步方法及设备。其中,所述方法包括:在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步。本发明实施例提供的针对V9.7版本DB2数据库的DDL同步方法及设备,可以在以V9.7版本DB2数据库为源的数据同步中实现DDL同步。

Description

针对V9.7版本DB2数据库的DDL同步方法及设备
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种针对V9.7版本DB2数据库的DDL同步方法及设备。
背景技术
基于数据库日志分析的数据实时同步是一种常用的数据实时复制技术。这种技术通过解析源数据库在线日志或归档日志,获得数据的增删改变化,再将这些变化转换为内部特定的消息格式通过TCP/IP网络发送到目标端数据同步服务,最后在目标端数据同步服务将源端数据库的事务日志恢复成SQL语句并在目标端目标端数据库上执行,来达到源和目标数据库的数据一致性。这种技术的实现基础在于源端数据库会将事务的INSERT、UPDATE、DELETE操作以特定日志记录的格式写入物理日志文件中。因此第三方工具可以通过实时读取物理日志文件中的增量日志数据,并进行解析来实现数据实时同步。对于DML(数据操作语言)操作,数据库都会在日志文件中记录相应的事务信息;但是对于DDL(数据定义语言)操作,并不是所有数据库都会在日志文件中记录DDL事务信息。
DB2数据库是一种商业闭源的数据库管理系统,提供了标准的读日志API(应用程序编程接口)用于从日志文件读取事务的操作信息。在V9.7版本的DB2数据库中,DB2数据库的日志文件中并未直接记录DDL操作相关信息,不能直接通过API接口获取DDL操作,也不支持通过创建事件触发器的形式来捕获DDL操作。因此,在V9.7版本的DB2数据库中,不能直接采用基于数据库日志分析解析事务日志的技术来实现DDL的同步。基于这种现实情况,找到一种可以直接在V9.7版本的DB2数据库中实现DDL操作同步的方法,就成为业界亟待解决的技术问题。
发明内容
针对现有技术存在的上述问题,本发明实施例提供了一种针对V9.7版本DB2数据库的DDL同步方法及设备。
第一方面,本发明的实施例提供了一种针对V9.7版本DB2数据库的DDL同步方法,包括:在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATA CAPTURECHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步;其中,所述开启DDL操作对应表的DATACAPTURE CHANGES属性,是用于开启DDL操作对应表的数据捕获功能,源端DB2数据库在日志中需要记录DDL操作对应表的DML操作,所述开启所述DDL记录辅助表的DATA CAPTURECHANGES属性,是用于在数据库日志中记录DDL记录辅助表中的INSERT操作。
进一步地,所述DDL捕获存储过程的内部执行步骤包括:若参数in tabschema为NULL,则从源端DB2数据库的系统表中提取当前DDL记录辅助表的模式名,并将所述模式名设置为参数in tabschema的参数值;根据DDL记录辅助表的模式名及DDL记录辅助表的名称,从源端DB2数据库的系统表中提取DDL记录辅助表的ID值,并提取DDL记录辅助表所属空间的ID值;将所述DDL记录辅助表的ID值、DDL记录辅助表所属空间的ID值及DDL操作,插入所述DDL记录辅助表中;其中,所述DDL记录辅助表的ID值及DDL记录辅助表所属空间的ID值,用于标识DDL操作中的对象,所述参数in tabschema用于存储DDL记录辅助表的模式名。
进一步地,所述继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURECHANGES属性,包括:执行DDL操作的SQL语句,并执行DDL捕获存储过程的脚本,开启DDL操作对应表的DATA CAPTURE CHANGES属性。
进一步地,所述提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务,包括:解析所述DDL操作信息中的SQL语句的内容,将解析得到的信息转换为消息包,通过TCP/IP网络发送至目标端数据同步服务。
进一步地,所述在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步,包括:在目标端数据同步服务接收到所述消息包后,进行拆包,从拆包后的消息中提取源端DB2数据库的DDL操作信息,并在目标端数据库上执行,实现DDL同步。
第二方面,本发明的实施例提供了一种针对V9.7版本DB2数据库的DDL同步装置,包括:
源端DB2数据库DDL操作信息提取模块,用于在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;
目标端数据同步服务DDL操作信息同步模块,用于在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步;
其中,所述开启DDL操作对应表的DATA CAPTURE CHANGES属性,是用于开启DDL操作对应表的数据捕获功能,源端DB2数据库在日志中需要记录DDL操作对应表的DML操作,所述开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,是用于在数据库日志中记录DDL记录辅助表中的INSERT操作。
第三方面,本发明的实施例提供了一种电子设备,包括:
至少一个处理器;以及
与处理器通信连接的至少一个存储器,其中:
存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的针对V9.7版本DB2数据库的DDL同步方法。
第四方面,本发明的实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的针对V9.7版本DB2数据库的DDL同步方法。
本发明实施例提供的针对V9.7版本DB2数据库的DDL同步方法及设备,通过将源端DB2数据库的DDL操作信息插入DDL记录辅助表中,然后提取插入的DDL操作信息并发送至目标端数据同步服务,由目标端数据同步服务中的数据同步服务提取DDL操作信息并在目标端数据库上执行,可以在V9.7版本DB2数据库中实现DDL同步。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的针对V9.7版本DB2数据库的DDL同步方法流程图;
图2为本发明实施例提供的DDL捕获存储过程的内部执行方法流程图;
图3为本发明实施例提供的针对V9.7版本DB2数据库的DDL同步装置结构示意图;
图4为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明实施例提供了一种针对V9.7版本DB2数据库的DDL同步方法,参见图1,该方法包括:
101、在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATACAPTURE CHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;
102、在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步。
其中,所述开启DDL操作对应表的DATA CAPTURE CHANGES属性,是用于开启DDL操作对应表的数据捕获功能,源端DB2数据库在日志中需要记录DDL操作对应表的DML操作,所述开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,是用于在数据库日志中记录DDL记录辅助表中的INSERT操作。
本发明实施例提供的针对V9.7版本DB2数据库的DDL同步方法,通过将源端DB2数据库的DDL操作信息插入DDL记录辅助表中,然后提取插入的DDL操作信息并发送至目标端数据同步服务,由目标端数据同步服务中的数据同步服务提取DDL操作信息并在目标端数据库上执行,可以在V9.7版本DB2数据库中实现DDL同步。
在上述实施例的基础上,本发明实施例中提供的针对V9.7版本DB2数据库的DDL同步方法,所述DDL捕获存储过程的内部执行方法可以参见图2,具体步骤包括:
201、若参数in tabschema为NULL,则从源端DB2数据库的系统表中提取当前DDL记录辅助表的模式名,并将所述模式名设置为参数in tabschema的参数值;
202、根据DDL记录辅助表的模式名及DDL记录辅助表的名称,从源端DB2数据库的系统表中提取DDL记录辅助表的ID值,并提取DDL记录辅助表所属空间的ID值;
203、将所述DDL记录辅助表的ID值、DDL记录辅助表所属空间的ID值及DDL操作,插入所述DDL记录辅助表中;
其中,所述DDL记录辅助表的ID值及DDL记录辅助表所属空间的ID值,用于标识DDL操作中的对象,所述参数in tabschema用于存储DDL记录辅助表的模式名。
在上述实施例的基础上,本发明实施例中提供的针对V9.7版本DB2数据库的DDL同步方法,所述继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,包括:执行DDL操作的SQL语句,并执行DDL捕获存储过程的脚本,开启DDL操作对应表的DATA CAPTURE CHANGES属性。
在上述实施例的基础上,本发明实施例中提供的针对V9.7版本DB2数据库的DDL同步方法,所述提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务,包括:解析所述DDL操作信息中的SQL语句的内容,将解析得到的信息转换为消息包,通过TCP/IP网络发送至目标端数据同步服务。
在上述实施例的基础上,本发明实施例中提供的针对V9.7版本DB2数据库的DDL同步方法,所述在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步,包括:在目标端数据同步服务接收到所述消息包后,进行拆包,从拆包后的消息中提取源端DB2数据库的DDL操作信息,并在目标端数据库上执行,实现DDL同步。
为了使得本发明实施例的精神实质得到跟加清晰的体现,下面以加入代码的方式将本发明的实施例进行进一步详细说明。需要注意的是,本发明实施例的进一步详细说明仅仅是为了将本发明实施例的技术方案进行跟加清晰的阐述,并不是对本发明保护范围的限制,凡是符合本发明精神实质的技术方案,均在本专利的保护范围之内。带有代码的实施例具体如下:
步骤10)在源端DB2数据库创建如下DDL记录辅助表:
create table dmhs_ddl_sql(
dt timestamp default current_timestamp not null,
tbspaceid int not null,
tableid int not null,
sql clob not null
);
其中,tbspaceid为DDL记录辅助表所在空间的ID,tableid为DDL记录辅助表的ID,sql为DDL记录辅助表的DDL操作语句。
步骤20)在源端DB2数据库创建如下DDL捕获存储过程。
Figure BDA0001855311210000071
进一步的,上述存储过程有3个输入参数,in_tabschema参数表示表所属的模式名,in_tabname参数表示DDL操作的表名,in_sql参数表示DDL操作的SQL语句。存储过程内部执行操作的步骤如下:
步骤21)判断当前输入参数in_tabschema是否为NULL,如果为NULL,则从源端DB2数据库系统表SYSIBM.SYSDUMMY1中取出当前模式名,设置为in_tabschema参数的值。
步骤22)根据参数模式名in_tabschema和表名in_tabname,从源端DB2数据库系统表SYSCAT.TABLES中取出DDL记录辅助表所属空间的ID值,并在变量中保存。
步骤23)根据参数模式名in_tabschema和表名in_tabname,从源端DB2数据库系统表SYSCAT.TABLES中取出DDL记录辅助表的ID值,并在变量中保存。
步骤24)将DDL记录辅助表所属空间ID值、DDL记录辅助表的ID值以及DDL操作信息的SQL语句,插入到上述DDL记录辅助表dmhs_ddl_sql中,并提交该插入操作。
进一步的,上述存储过程插入到DDL记录辅助表中的所属表空间ID值以及DDL记录辅助表ID值,用于在后续步骤中,数据实时同步软件日志捕获分析时,标识DDL操作信息中的对象。
步骤30)启动源端DB2数据库数据实时同步软件,应用程序在源端DB2数据库执行DDL操作之后,同时执行上述DDL捕获存储过程,用来在DDL记录辅助表中登记所执行的DDL操作。同时,为了进行该表的数据实时同步,需要启用该表的DATA CAPTURE CHANGES属性。
进一步的,应用程序执行DDL的具体示意流程如下步骤:
步骤31)执行具体的DDL操作SQL命令
CREATE TABLE ADMINISTRATOR.TEST(id int,note varchar(10));
步骤32)执行DDL捕获存储过程的脚本
call PROC_DMHSDB2SQL('ADMINISTRATOR,'TEST','CREATE TABLE TEST(id int,note varchar(10))');
步骤33)开启DDL记录辅助表的DATA CAPTURE CHANGES属性
ALTER TABLE ADMINISTRATOR.TEST DATA CAPTURE CHANGES;
步骤40)在源端DB2数据库,数据实时同步软件的日志捕获分析功能使用DB2的读日志API函数读取DDL记录辅助表dmhs_ddl_sql的INSERT操作日志,并解析出其中sql语句的内容,然后将解析的日志信息转换为内部消息包,通过TCP/IP网络发送到目标端数据同步服务的数据同步进程。
步骤50)在目标端数据同步服务,数据实时同步软件的日志同步进程在接收到源端发送过来的消息包后,进行拆包处理,从中提取出源端DB2数据库执行的DDL操作语句,并在目标端数据库上执行,实现DDL操作的同步。
本发明各个实施例的实现基础是通过具有处理器功能的设备进行程序化的处理实现的。因此在工程实际中,可以将本发明各个实施例的技术方案及其功能封装成各种模块。基于这种现实情况,在上述各实施例的基础上,本发明的实施例提供了一种针对V9.7版本DB2数据库的DDL同步装置,该装置用于执行上述方法实施例中的针对V9.7版本DB2数据库的DDL同步方法。参见图3,该装置包括:
源端DB2数据库DDL操作信息提取模块301,用于在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;
目标端数据同步服务DDL操作信息同步模块302,用于在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步;
其中,所述开启DDL操作对应表的DATA CAPTURE CHANGES属性,是用于开启DDL操作对应表的数据捕获功能,源端DB2数据库在日志中需要记录DDL操作对应表的DML操作,所述开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,是用于在数据库日志中记录DDL记录辅助表中的INSERT操作。
本发明实施例提供的针对V9.7版本DB2数据库的DDL同步装置,采用源端DB2数据库DDL操作信息提取模块及目标端数据同步服务DDL操作信息同步模块,通过将源端DB2数据库的DDL操作信息插入DDL记录辅助表中,然后提取插入的DDL操作信息并发送至目标端数据同步服务,由目标端数据同步服务中的数据同步服务提取DDL操作信息并在目标端数据库上执行,可以在V9.7版本DB2数据库中实现DDL同步。
本发明实施例的方法是依托电子设备实现的,因此对相关的电子设备有必要做一下介绍。基于此目的,本发明的实施例提供了一种电子设备,如图4所示,该电子设备包括:至少一个处理器(processor)401、通信接口(Communications Interface)404、至少一个存储器(memory)402和通信总线403,其中,至少一个处理器401,通信接口404,至少一个存储器402通过通信总线403完成相互间的通信。至少一个处理器401可以调用至少一个存储器402中的逻辑指令,以执行如下方法:在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步;其中,所述开启DDL操作对应表的DATA CAPTURE CHANGES属性,是用于开启DDL操作对应表的数据捕获功能,源端DB2数据库在日志中需要记录DDL操作对应表的DML操作,所述开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,是用于在数据库日志中记录DDL记录辅助表中的INSERT操作。
此外,上述的至少一个存储器402中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。例如包括:在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步;其中,所述开启DDL操作对应表的DATA CAPTURE CHANGES属性,是用于开启DDL操作对应表的数据捕获功能,源端DB2数据库在日志中需要记录DDL操作对应表的DML操作,所述开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,是用于在数据库日志中记录DDL记录辅助表中的INSERT操作。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种针对V9.7版本DB2数据库的DDL同步方法,其特征在于,包括:
在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATA CAPTURECHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;
在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步;
其中,所述开启DDL操作对应表的DATA CAPTURE CHANGES属性,是用于开启DDL操作对应表的数据捕获功能,源端DB2数据库在日志中需要记录DDL操作对应表的DML操作,所述开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,是用于在数据库日志中记录DDL记录辅助表中的INSERT操作。
2.根据权利要求1所述的针对V9.7版本DB2数据库的DDL同步方法,其特征在于,所述DDL捕获存储过程的内部执行步骤包括:
若参数in tabschema为NULL,则从源端DB2数据库的系统表中提取当前DDL记录辅助表的模式名,并将所述模式名设置为参数in tabschema的参数值;
根据DDL记录辅助表的模式名及DDL记录辅助表的名称,从源端DB2数据库的系统表中提取DDL记录辅助表的ID值,并提取DDL记录辅助表所属空间的ID值;
将所述DDL记录辅助表的ID值、DDL记录辅助表所属空间的ID值及DDL操作,插入所述DDL记录辅助表中;
其中,所述DDL记录辅助表的ID值及DDL记录辅助表所属空间的ID值,用于标识DDL操作中的对象,所述参数in tabschema用于存储DDL记录辅助表的模式名。
3.根据权利要求1所述的针对V9.7版本DB2数据库的DDL同步方法,其特征在于,所述继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,包括:
执行DDL操作的SQL语句,并执行DDL捕获存储过程的脚本,开启DDL操作对应表的DATACAPTURE CHANGES属性。
4.根据权利要求1所述的针对V9.7版本DB2数据库的DDL同步方法,其特征在于,所述提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务,包括:
解析所述DDL操作信息中的SQL语句的内容,将解析得到的信息转换为消息包,通过TCP/IP网络发送至目标端数据同步服务。
5.根据权利要求4所述的针对V9.7版本DB2数据库的DDL同步方法,其特征在于,所述在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步,包括:
在目标端数据同步服务接收到所述消息包后,进行拆包,从拆包后的消息中提取源端DB2数据库的DDL操作信息,并在目标端数据库上执行,实现DDL同步。
6.一种针对V9.7版本DB2数据库的DDL同步装置,其特征在于,包括:
源端DB2数据库DDL操作信息提取模块,用于在源端DB2数据库中创建DDL记录辅助表,并开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,采用DDL捕获存储过程将源端DB2数据库中的DDL操作插入所述DDL记录辅助表中,继续执行DDL捕获存储过程,开启DDL操作对应表的DATA CAPTURE CHANGES属性,解析所述DDL记录辅助表中的INSERT操作日志,提取所述DDL记录辅助表中的DDL操作信息,并将所述DDL操作信息发送至目标端数据同步服务;
目标端数据同步服务DDL操作信息同步模块,用于在目标端数据同步服务,提取所述DDL操作信息并在目标端数据库上执行,实现DDL同步;
其中,所述开启DDL操作对应表的DATA CAPTURE CHANGES属性,是用于开启DDL操作对应表的数据捕获功能,源端DB2数据库在日志中需要记录DDL操作对应表的DML操作,所述开启所述DDL记录辅助表的DATA CAPTURE CHANGES属性,是用于在数据库日志中记录DDL记录辅助表中的INSERT操作。
7.一种电子设备,其特征在于,包括:
至少一个处理器、至少一个存储器、通信接口和总线;其中,
所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以执行如权利要求1至5任一项所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5中任一项所述的方法。
CN201811312253.7A 2018-11-06 2018-11-06 针对v9.7版本db2数据库的ddl同步方法及设备 Active CN109614443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811312253.7A CN109614443B (zh) 2018-11-06 2018-11-06 针对v9.7版本db2数据库的ddl同步方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811312253.7A CN109614443B (zh) 2018-11-06 2018-11-06 针对v9.7版本db2数据库的ddl同步方法及设备

Publications (2)

Publication Number Publication Date
CN109614443A CN109614443A (zh) 2019-04-12
CN109614443B true CN109614443B (zh) 2021-04-13

Family

ID=66002266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811312253.7A Active CN109614443B (zh) 2018-11-06 2018-11-06 针对v9.7版本db2数据库的ddl同步方法及设备

Country Status (1)

Country Link
CN (1) CN109614443B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241094B (zh) * 2019-12-31 2021-06-08 武汉达梦数据库有限公司 一种基于日志解析的数据库删除列同步方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014101207A1 (en) * 2012-12-31 2014-07-03 Sybase, Inc. Continuous change data capture without disruption of ddl
CN106446166A (zh) * 2016-09-23 2017-02-22 郑州云海信息技术有限公司 数据从db2数据库迁移到k‑db数据库的方法和装置
CN108460163A (zh) * 2018-04-13 2018-08-28 郑州云海信息技术有限公司 K-db数据库数据同步方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9880815B2 (en) * 2013-01-22 2018-01-30 Aptitude Software Limited SQL visualizer
CN103092970A (zh) * 2013-01-24 2013-05-08 华为技术有限公司 一种数据库操作方法及设备
CN105426373B (zh) * 2014-09-19 2019-06-07 阿里巴巴集团控股有限公司 一种数据库同步方法与设备
CN106326376A (zh) * 2016-08-15 2017-01-11 东软集团股份有限公司 用于表结构变更后的信息复制方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014101207A1 (en) * 2012-12-31 2014-07-03 Sybase, Inc. Continuous change data capture without disruption of ddl
CN106446166A (zh) * 2016-09-23 2017-02-22 郑州云海信息技术有限公司 数据从db2数据库迁移到k‑db数据库的方法和装置
CN108460163A (zh) * 2018-04-13 2018-08-28 郑州云海信息技术有限公司 K-db数据库数据同步方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
使用SQLServer 2008的CDC功能实现数据变更捕获;發糞塗牆;《https://blog.csdn.net/dba_huangzj/java/article/details/8130448》;20121030;背景、详解、案例、日常使用情景 *
元仓库与源数据库的元数据同步策略的研究与设计;叶国权 等;《现代电子技术》;20100901(第17期);正文第1-2节,图1-4 *

Also Published As

Publication number Publication date
CN109614443A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109656934B (zh) 基于日志解析的源端Oracle数据库DDL同步方法及设备
CN109933630B (zh) 数据库数据实时同步方法及设备
CN109034993B (zh) 对账方法、设备、系统及计算机可读存储介质
CN110908997B (zh) 数据血缘构建方法、装置、服务器及可读存储介质
CN102737020B (zh) 一种初始化多租户数据库的方法和装置
KR20190060725A (ko) Sql 검토 방법, 장치, 서버 및 저장 매체
CN110569214B (zh) 用于日志文件的索引构建方法、装置及电子设备
CN106919612B (zh) 一种上线结构化查询语言脚本的处理方法及装置
CN104391881A (zh) 一种基于分词算法的日志解析方法及系统
CN111177779B (zh) 数据库审计方法、其装置、电子设备及计算机存储介质
CN110222114B (zh) 数据库中数据双向同步的方法及设备
CN111737227B (zh) 数据修改方法及系统
CN112231407B (zh) PostgreSQL数据库的DDL同步方法、装置、设备和介质
CN111046100A (zh) 一种关系型数据库到非关系型数据库的同步方法和系统
CN108255837A (zh) 一种sql解析器及方法
CN103716394A (zh) 下载文件的管理方法及装置
CN113282555A (zh) 一种数据处理方法、装置、设备及存储介质
CN109614443B (zh) 针对v9.7版本db2数据库的ddl同步方法及设备
CN114490554A (zh) 数据同步方法及其装置、电子设备及存储介质
Riadi et al. A study of mobile forensic tools evaluation on android-based LINE messenger
CN111563131A (zh) 数据库实体关系生成方法、装置、计算机设备和存储介质
CN108694172B (zh) 信息输出方法和装置
US20200285630A1 (en) Systems and methods for application data transaction auditing
CN107862016A (zh) 一种专题页面的配置方法
CN111753141B (zh) 一种数据管理方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Fu Quan

Inventor after: Sun Feng

Inventor after: Zhao Jiawei

Inventor before: Fu Quan

Inventor before: Sun Feng

Inventor before: Zhao Jiawei

Inventor before: Yang Chun

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Patentee after: Wuhan dream database Co.,Ltd.

Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Patentee before: WUHAN DAMENG DATABASE Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220907

Address after: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee after: Wuhan dream database Co.,Ltd.

Patentee after: HUAZHONG University OF SCIENCE AND TECHNOLOGY

Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Patentee before: Wuhan dream database Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230802

Address after: 16-19/F, Building C3, Future Science and Technology Building, No. 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430206

Patentee after: Wuhan dream database Co.,Ltd.

Address before: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: Wuhan dream database Co.,Ltd.

Patentee before: HUAZHONG University OF SCIENCE AND TECHNOLOGY

TR01 Transfer of patent right