一种基于日志解析的DDL分析方法及装置制造方法及图纸

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

【技术实现步骤摘要】
一种基于日志解析的DDL分析方法及装置
本专利技术涉及计算机数据库
,特别是涉及一种Oracle数据库基于日志解析的DDL(DataDefinitionLanguage,数据定义语言)分析方法及装置。
技术介绍
Oracle是一种非常流行的关系数据库,应用广泛,非常受市场欢迎。针对Oracle的各种研究也很活跃,其中基于在线日志(redolog)解析的数据库备份、保护、双活是一个重要方向。基于在线日志(redolog)的数据库备份有各种优点,例如对业务影响小,对数据库依赖低,性能影响小等。为了完整的实现数据库保护,从redo中分析DDL是很重要的一环。但由于DDL在日志中的记录方式较为复杂,解析较难且易错,因此目前大多产品不支持DDL分析,或者通过在库中创建触发器(修改了库)、定期查询系统表的方式获取,一般情况下,创建触发器、修改源库存在无法确定的影响,尤其是创建触发器,不但导致数据库性能下降,还可能导致数据错误,而定期查询则是一种效率低下、占用大量数据库IO的方案。
技术实现思路
为克服上述现有技术存在的不足,本专利本文档来自技高网...

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

【技术特征摘要】
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事务的特征...

【专利技术属性】
技术研发人员:崔梦华高志会周华江俊
申请(专利权)人:上海英方软件股份有限公司
类型:发明
国别省市:上海;31

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

1