CN112612859A - 一种基于日志解析的ddl分析方法及装置 - Google Patents

一种基于日志解析的ddl分析方法及装置 Download PDF

Info

Publication number
CN112612859A
CN112612859A CN202011640497.5A CN202011640497A CN112612859A CN 112612859 A CN112612859 A CN 112612859A CN 202011640497 A CN202011640497 A CN 202011640497A CN 112612859 A CN112612859 A CN 112612859A
Authority
CN
China
Prior art keywords
transaction
dll
ddl
redo
log
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.)
Pending
Application number
CN202011640497.5A
Other languages
English (en)
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.)
Shanghai Yingfang Software Co ltd
Original Assignee
Shanghai Yingfang Software 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 Shanghai Yingfang Software Co ltd filed Critical Shanghai Yingfang Software Co ltd
Priority to CN202011640497.5A priority Critical patent/CN112612859A/zh
Publication of CN112612859A publication Critical patent/CN112612859A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于日志解析的DDL分析方法及装置,所述方法包括如下步骤:步骤S1,连接数据库,从所述数据库中导出所需系统表的基本信息;步骤S2,读取重做日志文件redo,从读取的redo数据中分析出DLL事务及DML详细信息,对比匹配分析DLL事务中的详细信息与步骤S1中导出的所需系统表的基本信息,若出现匹配,则进入步骤S3,否则跳过当前事务,继续读取分析下一个事务;步骤S3,解析步骤S2得到的DLL事务,统计本DLL事务中对各个系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型;步骤S4,返回步骤S2,直至所述重做日志文件redo读取完毕。

Description

一种基于日志解析的DDL分析方法及装置
技术领域
本发明涉及计算机数据库技术领域,特别是涉及一种Oracle数据库基于日志解析的DDL(Data Definition Language,数据定义语言)分析方法及装置。
背景技术
Oracle是一种非常流行的关系数据库,应用广泛,非常受市场欢迎。针对Oracle的各种研究也很活跃,其中基于在线日志(redo log)解析的数据库备份、保护、双活是一个重要方向。基于在线日志(redo log)的数据库备份有各种优点,例如对业务影响小,对数据库依赖低,性能影响小等。为了完整的实现数据库保护,从redo中分析DDL是很重要的一环。但由于DDL在日志中的记录方式较为复杂,解析较难且易错,因此目前大多产品不支持DDL分析,或者通过在库中创建触发器(修改了库)、定期查询系统表的方式获取,一般情况下,创建触发器、修改源库存在无法确定的影响,尤其是创建触发器,不但导致数据库性能下降,还可能导致数据错误,而定期查询则是一种效率低下、占用大量数据库IO的方案。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于日志解析的DDL分析方法及装置,以完全基于日志redo分析从而实现DDL解析的目的。
为达上述目的,本发明提出一种基于日志解析的DDL分析方法,包括如下步骤:
步骤S1,连接数据库,从所述数据库中导出所需系统表的基本信息;
步骤S2,读取重做日志文件redo,从读取的redo文件中分析出DLL事务及DML详细信息,对比匹配分析DLL事务中的详细信息与步骤S1中导出的所需系统表的基本信息,若出现匹配,则进入步骤S3,否则跳过当前事务,继续读取分析下一个事务;
步骤S3,解析步骤S2得到的DLL事务,统计本DLL事务中对各系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型;
步骤S4,返回步骤S2,直至所述重做日志文件redo读取完毕。
优选地,所需系统表包括sys.obj$表、sys.tab$表、sys.col$表、sys.part$表。
优选地,于步骤S2中,对比所述DLL事务中DML的对象号与步骤S1中导出的系统表对象号,若所述DLL事务中DML的对象号中出现了步骤S1中导出的系统表对象号,则进入步骤S3,若没有则跳过所述的DLL事务,继续读取redo文件分析并对比下一个事务。
优选地,于步骤S2中,若读取的是在线日志并已读到最新redo末尾,则等待预设时长后重新尝试读取,如果不是末尾则继续分析,从读到的重做日志文件redo数据中分析出DLL事务及DML详细信息。
优选地,于步骤S3之前,还包括如下步骤:
步骤S0,运行解析过程读取到在线日志最新位置,保证当前库中没有其他事务,执行DDL事务,记录下本事务的日志中系统表的DML操作类型及数量,并选取有代表性的系统表及操作类型作为判断此DDL事务的特征,多次运行上述过程从而得到多个DLL事务的特征。
优选地,于步骤S0中,进一步分析DML操作的具体数据内容,以此作为判断DLL事务的特征。
为达到上述目的,本发明还提供一种基于日志解析的DDL分析装置,包括:
系统表基本信息获取单元,用于连接数据库,从所述数据库中导出所需系统表的基本信息;
重做日志文件读取对比单元,用于读取重做日志文件redo,从读取的redo数据中分析出DLL事务及DML详细信息,对比匹配分析DLL事务中的详细信息与所述系统表基本信息获取单元中导出的所需系统表的基本信息,若出现匹配,则进入DLL事务解析单元,否则跳过当前事务,继续读取分析下一个事务;
DLL事务解析单元,用于解析所述重做日志文件读取对比单元得到的DLL事务,统计本DLL事务中对各个系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型。
优选地,所述重做日志文件读取对比单元对比所述DLL事务中DML的对象号与系统表基本信息获取单元中导出的系统表对象号,若所述DLL事务中DML的对象号中出现了系统表基本信息获取单元中导出的系统表对象号,则进入所述DLL事务解析单元,若没有则跳过所述的DLL事务,继续读取redo文件分析并对比下一个事务。
优选地,所述基于日志解析的DDL分析装置还包括:
学习单元,用于运行解析过程读取到在线日志最新位置,保证当前库中没有其他事务,执行DDL操作,记录下本事务的日志中系统表的DML操作类型及数量,并选取有代表性的系统表及操作类型作为判断此DDL事务的特征,多次运行上述过程从而得到多个DLL事务的特征。
优选地,所述学习单元还分析DML操作的具体数据内容,以此作为判断DLL事务的特征。
与现有技术相比,本发明一种基于日志解析的DDL分析方法及装置通过先从数据库中导出所需系统表的基本信息,然后读取重做日志文件redo,从读取的redo数据中分析出DLL事务及DML详细信息,对比匹配分析DLL事务中的详细信息与步骤S1中导出的所需系统表的基本信息,若出现匹配,则解析得到的DLL事务,统计本DLL事务中对各个系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型,从而达到通过解析日志实现DDL事务分析的目的。
附图说明
图1为本发明一种基于日志解析的DDL分析方法的步骤流程图;
图2为本发明一种基于日志解析的DDL分析装置的系统架构图;
图3为本发明实施例之基于日志解析的DDL分析的流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
在Oracle数据库中,Oracle的数据库对象的详细信息以数据表的形式存储在库中,例如sys.obj$表、sys.tab$表、sys.col$表、sys.ind$表等,其中sys.obj$表是oracle数据库字典表中的对象基础表,sys.obj$表中存储了对象的对象号、名称、所属用户号、类型、创建时间、修改时间等,sys.tab$表存储了所有表的对象号、部分属性值,sys.col$表用于保存表列的定义信息,其存储了所有表的对象号、列ID、列名称、列长度、列数据类型等,sys.ind$表存储了所有索引的对象号、所属表、创建修改时间等。所有系统表(如sys.obj$、sys.tab$等,系统表除包含上述列举的几个表外还有大量其他系统表)也是数据表,其基本信息如对象号、名称、列信息、索引信息等,也存储在系统表中,即系统表的结构信息也由系统表维护,同时也维护了用户数据表的结构信息,如sys.tab$是一个系统表,其对象号可以在sys.obj$中查询得到,其各个列的信息则可以在sys.col$中查询得到。
一个DDL操作实际是对一个或多个系统表的一系列DML(Data ManipulationLanguage,数据操纵语言,包含IRP、DRP、URP三种操作,分别对应insert、delete、update操作,并记录了所操作的对象号),这些DML在日志中记录为一个事务(Transaction)。每个事务都有一个事务号,一个事务的一系列DML都有这个事务号,因此可以根据事务号将一个事务的DML查找出来并组装成一个完整的事务。例如一个建表操作,sys.obj$产生一条IRP(insert即插入操作),sys.tab$产生一条IRP,sys.col$产生多条IRP,如果同时创建了索引则sys.ind$产生一条或多条IRP。其他数据库对象的DDL操作类似,会在不同的系统表上产生一个或多个DML操作。从这些DML操作中可以反向推断出DDL操作。
图1为本发明一种基于日志解析的DDL分析方法的步骤流程图。如图1所示,本发明一种基于日志解析的DDL分析方法,包括如下步骤:
步骤S1,连接数据库,从所述数据库中导出所需系统表的基本信息。
在本发明具体实施例中,所述数据库为Oracle数据库,即从Oracle数据库导出所需系统表的基本信息,所需系统表例如sys.obj$、sys.tab$、sys.col$、sys.part$等,导出这些表的基本信息,如对象号(从sys.obj$表中导出)、列信息(从sys.col$表中导出)等。在本发明具体实施例中,导出使用select语句,按照名称查询,形如select*from sys.obj$where name=‘OBJ$’,select*from sys.col$where obj#=(select obj#from sys.obj$where name=‘OBJ$’)。
步骤S2,读取重做日志文件redo,从读取的redo数据中分析出事务及其DML详细信息,对比匹配分析事务中的详细信息与步骤S1中导出的所需系统表的基本信息,若出现匹配,则进入步骤S3,否则跳过当前事务,继续步骤S2继续下一个事务。由于redo文件中的数据以特定格式的二进制存储,其中包含了大量的标签,每个事务有相同的事务id,按照事务id可以将同一个事务的日志解析出来。
具体地,读取重做日志文件redo,如果读取的是在线日志并已经读到最新redo末尾,则等待一定时长后重新尝试读取,如果不是末尾则继续分析,从读到的重做日志文件redo数据中分析出事务及DML详细信息,所述详细信息包括对象号(obj#)、操作类型(DRP、URP、IRP)、列数据等,对比事务中DML的对象号与步骤S1中导出的系统表对象号,若事务中DML的对象号中出现了步骤S1中导出的系统表对象号,则进入步骤S3,若没有则跳过当前事务,继续本步骤,继续读取redo文件分析并对比下一个事务。
步骤S3,解析步骤S2得到的DLL事务,统计本DLL事务中对各个系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型,更进一步的,结合DML中的具体数据可以获取该DDL操作的具体内容,如建表操作所建表的名称、对象号、列信息、索引信息等全部信息,这些DDL信息可以用作数据库的保护、维护、检查等。
具体地,比如,若统计结果包含了sys.obj$一个IRP、sys.tab$一个IRP、sys.col$一个或多个IRP,则推断本DDL事务为建表操作。这个反推的依据,需要预先根据反复实验获取,即通过执行特定的DDL操作,然后统计事务中所出现的各个系统表的各种DML操作数量,从而得到该特定DDL操作对应的各种DML操作数量。
因此,优选地,于步骤S3之前,还包括如下步骤:
步骤S0,运行日志读取,读取到在线日志最新位置,保证当前库中没有其他事务(因为库的所有操作都会记录在日志中,这样可以保证接下来读取到的事务就是要执行的DDL,防止混淆),执行DDL操作,读取事务日志,记录下本事务的日志中各个系统表的DML操作类型及数量。并选取可以区分各个DDL的系统表及操作类型作为判断此DDL事务的特征,例如建表与删表都会对sys.obj$、sys.tab$、sys.col$产生DML操作,不同的是建表产生的是IRP,删表产生的是DRP,因此可以选取这几个系统表的IRP数量、DRP数量作为判断这两个DDL的特征,且通过更多实验可以发现这个特征不会发生在其他DDL操作上(如创建视图、索引、分区等),因此是合理的。多次运行上述过程从而得到多个DLL事务的特征。
优选地,由于某些DDL操作比较容易混淆,比如truncate与move操作,其系统表DML有较多重复,特征相似,此时还需更进一步地分析对比DML具体数据内容,例如解析出sys.tabpart$的URP操作的ts#列的值,如果ts#的新旧值不相等则是move操作,如果相等则是truncate操作。
步骤S4,返回步骤S2,直至所述重做日志文件redo读取完毕。
图2为本发明一种基于日志解析的DDL分析装置的系统架构图。如图2所示,本发明一种基于日志解析的DDL分析装置,包括:
系统表基本信息获取单元201,用于连接数据库,从所述数据库中导出所需系统表的基本信息。
在本发明具体实施例中,所述数据库为Oracle数据库,即从Oracle数据库导出所需系统表的基本信息,所需系统表如sys.obj$、sys.tab$、sys.col$、sys.part$等,导出这些表的基本信息,例如对象号(从sys.obj$表中导出)、列信息(从sys.col$表中导出)等。在本发明具体实施例中,导出使用select语句,按照名称查询,形如select*from sys.obj$where name=‘OBJ$’,select*from sys.col$where obj#=(select obj#from sys.obj$where name=‘OBJ$’)。
重做日志文件读取对比单元202,用于读取重做日志文件redo,从读取的redo数据中分析出事务及DML详细信息,对比匹配分析事务中的详细信息与系统表基本信息获取单元201中导出的所需系统表的基本信息,若出现匹配,则进入DLL事务解析单元203,否则跳过当前事务,继续下一个事务的读取对比分析。
具体地,重做日志文件读取对比单元202读取重做日志文件redo,如果读取的是在线日志并已经读到最新redo末尾,则等待一定时长后重新尝试读取,如果不是末尾则继续分析,从读到的重做日志文件redo数据中分析出事务及DML详细信息,所述详细信息包括对象号(obj#)、操作类型(DRP、URP、IRP)、列数据等,对比事务中DML的对象号与系统表基本信息获取单元201中导出的系统表对象号,若事务中DML的对象号中出现了系统表基本信息获取单元201中导出的系统表对象号,则进入DLL事务解析单元203,若没有则跳过当前事务,继续读取redo文件分析并对比下一个事务。
DLL事务解析单元203,解析重做日志文件读取对比单元202得到的DLL事务,统计本DLL事务中对各个系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型。
具体地,比如,若统计结果包含了sys.obj$一个IRP、sys.tab$一个IRP、sys.col$一个或多个IRP,则推断本DDL事务为建表操作。这个反推的依据,需要预先根据反复实验获取,即通过执行特定的DDL操作,然后统计事务中所出现的各个系统表的各种DML操作数量,从而得到该特定DDL操作对应的各种DML操作数量。
优选地,本发明之基于日志解析的DDL分析装置,还包括:
学习单元,用于运行解析过程读取到在线日志最新位置,保证当前库中没有其他事务,执行DDL操作,记录下本事务的日志中系统表的DML操作类型及数量。并选取有代表性的系统表及操作类型作为判断此DDL事务的特征,多次运行上述过程从而得到多个DLL事务的特征。
优选地,某些DDL操作比较容易混淆,比如truncate与move操作,其系统表DML有较多重复,特征相似,此时还需更进一步地分析DML具体数据内容,以此作为判断DLL事务的特征。
实施例
如图3所示,在本实施例中,一种基于日志解析的DDL分析包括:
一、解析过程
001,连接数据库,从库中导出所需系统表的基本信息,所需系统表如sys.obj$、sys.tab$、sys.col$、sys.part$等,导出这些表的对象号(从sys.obj$中导出)、列信息(从sys.col$中导出)。导出使用select语句,按照名称查询,形如select*from sys.obj$wherename=‘OBJ$’,select*from sys.col$where obj#=(select obj#from sys.obj$wherename=‘OBJ$’)。
002,读取重做日志文件redo,如果读取的是在线日志并已经读到最新redo末尾,则等待一定时长后重新尝试读取,如果不是末尾则继续分析。从读到的redo数据中分析出事务及DML详细信息,详细信息包括对象号(obj#)、操作类型(DRP、URP、IRP)、列数据。对比事务中DML的对象号与步骤001中导出的系统表对象号,如果出现了这些对象号,则进入下一步,如果没有则跳过这个事务,继续本步骤。
003,解析步骤002中得到的事务,统计本事务中对各个系统表的DML操作类型及数量。比如,如果统计结果包含了sys.obj$一个IRP、sys.tab$一个IRP、sys.col$一个或多个IRP,则推断本DDL事务为建表操作。这个反推的依据,需要从反复实验中获取,即执行特定的DDL操作,然后观察事务中所出现的各个系统表的各种DML操作数量。
004,重复步骤002、003,直至重做日志文件redo读取结束。
二、学习过程
逻辑上,学习过程应该在解析过程之前完成,因为解析过程实际是在应用学习过程所得的结果。在实施过程中这是两个密切相关的过程。具体的学习过程如下:
001,实现一个解析过程,解析过程003步骤中的获得DDL类型没有实现,因为目前尚不清楚各个DDL包含的系统表DML。
002,运行解析过程读取到在线日志最新位置,保证当前库中没有其他事务,执行DDL操作,记录下本事务的日志中系统表的DML操作类型及数量。选取有代表性的系统表及操作类型作为判断此DDL的特征。
003,某些DDL操作比较容易混淆,比如truncate与move操作,其系统表DML有较多重复,特征相似,此时就要更加进一步的分析DML具体数据内容,以此作为判断特征。
004,将学习得到的特征写入解析过程中,继续学习其他DDL事务。
综上所述,本发明一种基于日志解析的DDL分析方法及装置通过先从数据库中导出所需系统表的基本信息,然后读取重做日志文件redo,从读取的redo数据中分析出DLL事务及DML详细信息,对比匹配分析DLL事务中的详细信息与步骤S1中导出的所需系统表的基本信息,若出现匹配,则解析得到的DLL事务,统计本DLL事务中对各个系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型,从而达到通过解析日志实现DDL事务分析的目的。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

Claims (10)

1.一种基于日志解析的DDL分析方法,包括如下步骤:
步骤S1,连接数据库,从所述数据库中导出所需系统表的基本信息;
步骤S2,读取重做日志文件redo,从读取的redo文件中分析出DLL事务及DML详细信息,对比匹配分析DLL事务中的详细信息与步骤S1中导出的所需系统表的基本信息,若出现匹配,则进入步骤S3,否则跳过当前事务,继续读取分析下一个事务;
步骤S3,解析步骤S2得到的DLL事务,统计本DLL事务中对各系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型;
步骤S4,返回步骤S2,直至所述重做日志文件redo读取完毕。
2.如权利要求1所述的一种基于日志解析的DDL分析方法,其特征在于:所需系统表包括sys.obj$表、sys.tab$表、sys.col$表、sys.part$表。
3.如权利要求2所述的一种基于日志解析的DDL分析方法,其特征在于:于步骤S2中,对比所述DLL事务中DML的对象号与步骤S1中导出的系统表对象号,若所述DLL事务中DML的对象号中出现了步骤S1中导出的系统表对象号,则进入步骤S3,若没有则跳过所述的DLL事务,继续读取redo文件分析并对比下一个事务。
4.如权利要求3所述的一种基于日志解析的DDL分析方法,其特征在于:于步骤S2中,若读取的是在线日志并已读到最新redo末尾,则等待预设时长后重新尝试读取,如果不是末尾则继续分析,从读到的重做日志文件redo数据中分析出DLL事务及DML详细信息。
5.如权利要求4所述的一种基于日志解析的DDL分析方法,其特征在于:于步骤S3之前,还包括如下步骤:
步骤S0,运行解析过程读取到在线日志最新位置,保证当前库中没有其他事务,执行DDL事务,记录下本事务的日志中系统表的DML操作类型及数量,并选取有代表性的系统表及操作类型作为判断此DDL事务的特征,多次运行上述过程从而得到多个DLL事务的特征。
6.如权利要求5所述的一种基于日志解析的DDL分析方法,其特征在于:于步骤S0中,进一步分析DML操作的具体数据内容,以此作为判断DLL事务的特征。
7.一种基于日志解析的DDL分析装置,包括:
系统表基本信息获取单元,用于连接数据库,从所述数据库中导出所需系统表的基本信息;
重做日志文件读取对比单元,用于读取重做日志文件redo,从读取的redo数据中分析出DLL事务及DML详细信息,对比匹配分析DLL事务中的详细信息与所述系统表基本信息获取单元中导出的所需系统表的基本信息,若出现匹配,则进入DLL事务解析单元,否则跳过当前事务,继续读取分析下一个事务;
DLL事务解析单元,用于解析所述重做日志文件读取对比单元得到的DLL事务,统计本DLL事务中对各个系统表的DML操作类型及数量,根据预先学习确定的DLL事务的特征确定当前DDL事务的类型。
8.如权利要求7所述的一种基于日志解析的DDL分析装置,其特征在于:所述重做日志文件读取对比单元对比所述DLL事务中DML的对象号与系统表基本信息获取单元中导出的系统表对象号,若所述DLL事务中DML的对象号中出现了系统表基本信息获取单元中导出的系统表对象号,则进入所述DLL事务解析单元,若没有则跳过所述的DLL事务,继续读取redo文件分析并对比下一个事务。
9.如权利要求8所述的一种基于日志解析的DDL分析装置,其特征在于,所述基于日志解析的DDL分析装置还包括:
学习单元,用于运行解析过程读取到在线日志最新位置,保证当前库中没有其他事务,执行DDL操作,记录下本事务的日志中系统表的DML操作类型及数量,并选取有代表性的系统表及操作类型作为判断此DDL事务的特征,多次运行上述过程从而得到多个DLL事务的特征。
10.如权利要求9所述的一种基于日志解析的DDL分析装置,其特征在于,所述学习单元还分析DML操作的具体数据内容,以此作为判断DLL事务的特征。
CN202011640497.5A 2020-12-31 2020-12-31 一种基于日志解析的ddl分析方法及装置 Pending CN112612859A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011640497.5A CN112612859A (zh) 2020-12-31 2020-12-31 一种基于日志解析的ddl分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011640497.5A CN112612859A (zh) 2020-12-31 2020-12-31 一种基于日志解析的ddl分析方法及装置

Publications (1)

Publication Number Publication Date
CN112612859A true CN112612859A (zh) 2021-04-06

Family

ID=75253032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011640497.5A Pending CN112612859A (zh) 2020-12-31 2020-12-31 一种基于日志解析的ddl分析方法及装置

Country Status (1)

Country Link
CN (1) CN112612859A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127427A (zh) * 2021-04-21 2021-07-16 山东英信计算机技术有限公司 一种解析数据库日志中事务分布的方法、系统及装置
CN115113989A (zh) * 2021-11-05 2022-09-27 腾讯科技(深圳)有限公司 事务执行方法、装置、计算设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145060A (zh) * 2018-07-20 2019-01-04 腾讯科技(深圳)有限公司 数据处理方法及装置
CN109189852A (zh) * 2018-08-01 2019-01-11 武汉达梦数据库有限公司 一种数据同步的方法及用于数据同步的装置
CN109656934A (zh) * 2018-11-19 2019-04-19 武汉达梦数据库有限公司 基于日志解析的源端Oracle数据库DDL同步方法及设备
CN111241193A (zh) * 2019-12-31 2020-06-05 武汉达梦数据库有限公司 一种基于日志解析的数据库添加列同步方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145060A (zh) * 2018-07-20 2019-01-04 腾讯科技(深圳)有限公司 数据处理方法及装置
CN109189852A (zh) * 2018-08-01 2019-01-11 武汉达梦数据库有限公司 一种数据同步的方法及用于数据同步的装置
CN109656934A (zh) * 2018-11-19 2019-04-19 武汉达梦数据库有限公司 基于日志解析的源端Oracle数据库DDL同步方法及设备
CN111241193A (zh) * 2019-12-31 2020-06-05 武汉达梦数据库有限公司 一种基于日志解析的数据库添加列同步方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127427A (zh) * 2021-04-21 2021-07-16 山东英信计算机技术有限公司 一种解析数据库日志中事务分布的方法、系统及装置
CN115113989A (zh) * 2021-11-05 2022-09-27 腾讯科技(深圳)有限公司 事务执行方法、装置、计算设备及存储介质

Similar Documents

Publication Publication Date Title
US6718338B2 (en) Storing data mining clustering results in a relational database for querying and reporting
US6970882B2 (en) Unified relational database model for data mining selected model scoring results, model training results where selection is based on metadata included in mining model control table
US8886617B2 (en) Query-based searching using a virtual table
US10769123B2 (en) Workload-driven recommendations for Columnstore and Rowstore indexes in relational databases
US7987178B2 (en) Automatically determining optimization frequencies of queries with parameter markers
US8712972B2 (en) Query optimization with awareness of limited resource usage
CN102073640B (zh) Sql语句的检测方法、系统及服务器
EP1643386A2 (en) Easy-to-use data context filtering
US9477729B2 (en) Domain based keyword search
US20090083224A1 (en) Summarizing data removed from a query result set based on a data quality standard
US8135702B2 (en) Eliminating unnecessary statistics collections for query optimization
CN106407360B (zh) 一种数据的处理方法及装置
US20190018851A1 (en) Data processing system
KR20020028208A (ko) 데이터베이스 오브젝트 통계의 실시간 수집 방법 및 시스템
CN112612859A (zh) 一种基于日志解析的ddl分析方法及装置
CN111143370B (zh) 用于分析多个数据表之间关系的方法、设备和计算机可读存储介质
US7761445B2 (en) Automated system for identifying and dropping marginal database indexes
US20080244433A1 (en) Data analysis using facet attributes
US20070073761A1 (en) Continual generation of index advice
CN117290376A (zh) 基于大语言模型的两阶段Text2SQL模型、方法与系统
CN111984625B (zh) 数据库负载特征处理方法、装置、介质和电子设备
KR20070103850A (ko) 데이터베이스 관리 시스템에서 구조화 질의어(SQL)실행경로(Trace) 분석 방법 및 장치
JP7481283B2 (ja) メタデータ管理装置、データ管理システムおよびデータ再現方法
US11995078B2 (en) Query intake for legacy databases
CN117540151B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210406

WD01 Invention patent application deemed withdrawn after publication