数据库的日志分析处理方法及装置、DDL同步方法及装置制造方法及图纸

技术编号:20045077 阅读:42 留言:0更新日期:2019-01-09 04:12
本发明专利技术实施例公开一种数据库的日志分析处理方法及装置、DDL同步方法及装置,能减少对数据库的性能影响,尤其在频繁执行DDL操作的情况下,避免数据库阻塞。数据库的日志分析处理方法包括:通过分析数据库的日志生成DDL交易文件;通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,利用所述字段信息生成数据字典文件;将所述DDL交易文件和数据字典文件发送给目标端,以使所述目标端执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。

【技术实现步骤摘要】
数据库的日志分析处理方法及装置、DDL同步方法及装置
本专利技术实施例涉及数据库领域,具体涉及一种数据库的日志分析处理方法及装置、DDL同步方法及装置。
技术介绍
数据库逻辑交易级复制是源端通过分析数据库日志里的交易,形成交易文件(xf1/xdt),通过网络传送到目标端,在目标端经过用户、表、数据等转换装入到目标端数据库,来保证两端数据库的一致。常用的数据库的交易包括DML(数据操纵语言)、DDL(数据库模式定义语言)、DCL(数据库控制语言)、DQL(数据库查询语言)。其中,DQL的操作不写数据库日志,不需要分析;DCL的操作是能提前知晓控制;DML的操作是逻辑交易级复制最基础的功能;而DDL的操作涉及到表结构的变更以及夹杂着DDL之前DML和DDL之后DML操作的前后顺序,是考验逻辑交易级复制软件稳定性和易用性的重要功能。目前常用的DDL同步方法是通过在源端创建数据库DDL触发器(trigger)记录DDL操作,并同步到目标端,这种方式对数据库的性能影响较大,尤其在频繁执行DDL操作的情况下,容易导致数据库阻塞,影响生产业务的正常进行。
技术实现思路
针对现有技术存在的不足和缺陷,本专利技术实施例提供一种数据库的日志分析处理方法及装置、DDL同步方法及装置。一方面,本专利技术实施例提出一种数据库的日志分析处理方法,包括:通过分析数据库的日志生成DDL交易文件;通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,利用所述字段信息生成数据字典文件;将所述DDL交易文件和数据字典文件发送给目标端,以使所述目标端执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。另一方面,本专利技术实施例提出一种DDL同步方法,包括:接收源端发送的DDL交易文件和数据字典文件;执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。第三方面,本专利技术实施例提出一种数据库的日志分析处理装置,包括:分析单元,用于通过分析数据库的日志生成DDL交易文件;查询单元,用于通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,利用所述字段信息生成数据字典文件;发送单元,用于将所述DDL交易文件和数据字典文件发送给目标端,以使所述目标端执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。第四方面,本专利技术实施例提出一种DDL同步装置,包括:接收单元,用于接收源端发送的数据库模式定义语言DDL交易文件和数据字典文件;执行单元,用于执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。第五方面,本专利技术实施例提供一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;其中,所述处理器,存储器通过所述总线完成相互间的通信;所述处理器执行所述计算机程序时实现上述方法。第六方面,本专利技术实施例提供一种非暂态计算机可读存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法。本专利技术实施例提供的数据库的日志分析处理方法及装置、DDL同步方法及装置,在源端通过分析数据库的日志生成DDL交易文件;通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,利用所述字段信息生成数据字典文件;将所述DDL交易文件和数据字典文件发送给目标端;在目标端执行源端发送的所述DDL交易文件,并利用所述数据字典文件更新已有数据字典,整个DDL同步过程不需要在源端创建数据库DDL触发器,因而相较于现有技术,本方案能减少对数据库的性能影响,尤其在频繁执行DDL操作的情况下,避免数据库阻塞。附图说明图1为本专利技术数据库的日志分析处理方法一实施例的流程示意图;图2为本专利技术DDL同步方法一实施例的流程示意图;图3为本专利技术数据库的日志分析处理装置一实施例的结构示意图;图4为本专利技术DDL同步装置一实施例的结构示意图;图5为本专利技术实施例提供的一种电子设备的实体结构示意图;图6为本专利技术实施例提供的另一种电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术实施例保护的范围。参看图1,本实施例公开一种数据库的日志分析处理方法,包括:S10、通过分析数据库的日志生成DDL交易文件;可以理解的是,数据库的日志中包含有DDL交易对应的表的标识,利用已有的映射关系可以将该标识映射成所述objn字段。S11、通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,利用所述字段信息生成数据字典文件;S12、将所述DDL交易文件和数据字典文件发送给目标端,以使所述目标端执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。可以理解的是,步骤S11生成的数据字典文件中仅包含所述表的字段信息,即所述数据字典文件为所述表对应的数据字典文件。在更新时,只需要利用所述数据字典文件更新目标端已有数据字典中有关所述表的内容即可。本专利技术实施例提供的数据库的日志分析处理方法,源端通过分析数据库的日志生成DDL交易文件;通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,利用所述字段信息生成数据字典文件;将所述DDL交易文件和数据字典文件发送给目标端,以便于目标端执行源端发送的所述DDL交易文件,并利用所述数据字典文件更新已有数据字典,整个DDL同步过程不需要在源端创建数据库DDL触发器,因而相较于现有技术,本方案能减少对数据库的性能影响,尤其在频繁执行DDL操作的情况下,避免数据库阻塞。在前述方法实施例的基础上,所述通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,可以包括:采用回查SOL方式,通过查询所述数据库的$基表,得到所述表在DDL交易执行后的字段信息。本实施例中,在DDL不是很频繁的情况下,单条DDL同步方法可以通过分析日志中记录的具体DDL语句,先生成DDL的交易文件和DDL交易对应的表的objn字段,然后再通过查询$基表的SQL,根据此表的objn查询出各个字段经过DDL的情况,形成数据字典文件。这样在目标端数据,先执行DDL交易文件,在目标端数据库进行DDL的变更操作,然后再把数据字典文件内容更新到以前的数据字典文件里,完成整个DDL复制操作流程。在前述方法实施例的基础上,所述通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,可以包括:采用分析基表方式,通过分析所述数据库的重做redo日志中$基表的dml操作,得到所述表在DDL交易执行后的字段信息。前一个方法实施例使用的回查SQL是直接到数据库中去查询$基表的各个字段值,属于事后查询。本实施例中,在有频繁DDL的情况下(即瞬间产生批量DDL及批量DML),如果再使用回查SQL的方式,有可能就会出现生成的数据字典并不是执行完DDL那一刻的状态,导致后续的DML操作出现问题。如:增加一个列,再插入一条,再增加一个列,再插入一条,当日志分析滞后时,如果分析到第一个增加列的动作本文档来自技高网...

【技术保护点】
1.一种数据库的日志分析处理方法,其特征在于,包括:通过分析数据库的日志生成数据库模式定义语言DDL交易文件;通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,利用所述字段信息生成数据字典文件;将所述DDL交易文件和数据字典文件发送给目标端,以使所述目标端执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。

【技术特征摘要】
1.一种数据库的日志分析处理方法,其特征在于,包括:通过分析数据库的日志生成数据库模式定义语言DDL交易文件;通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,利用所述字段信息生成数据字典文件;将所述DDL交易文件和数据字典文件发送给目标端,以使所述目标端执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。2.根据权利要求1所述的方法,其特征在于,所述通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,包括:采用回查SOL方式,通过查询所述数据库的$基表,得到所述表在DDL交易执行后的字段信息。3.根据权利要求1所述的方法,其特征在于,所述通过分析所述数据库,得到DDL交易对应的表在DDL交易执行后的字段信息,包括:采用分析基表方式,通过分析所述数据库的重做redo日志中$基表的dml操作,得到所述表在DDL交易执行后的字段信息。4.一种DDL同步方法,其特征在于,包括:接收源端发送的数据库模式定义语言DDL交易文件和数据字典文件;执行所述DDL交易文件,并利用所述数据字典文件更新已有数据字典。5.一种数据库的日志分析处理装置,其特征在于,包括:分析单元,用于通过分析数据库的日志生成数据库模式定义语言DDL交易文件;查询单元,用于通过分析所述数据库,得...

【专利技术属性】
技术研发人员:白崇东刘玉赵明刘代军王真王鹏白煜马建民商杰
申请(专利权)人:农信银资金清算中心有限责任公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1