本发明公开一种方法,涉及数据库同步,具体地说是一种基于字典文件的支持ddl的oracle增量采集方法。
背景技术:
1、数据库同步属于增量数据的同步是云上大数据操作必不可少的一项技术。关系型数据库如oracle由于磁盘坏块异常或者主机宕机问题,会存在各种各样数据丢失问题。为了保证数据安全,需要对这些表格进行数据同步到容灾数据库。
2、大部分oracle同步工具往往不支持涉及ddl变更的表格,因为logminer往往使用在线字典进行oracle增量日志数据解析,而官网明确指出此方式无法正常跟踪涉及ddl变更的表格的增量。
技术实现思路
1、本发明针对现有技术的问题,提供一种基于字典文件的支持ddl的oracle增量采集方法,通过引入字典文件生成机制,有效支撑了logminer对有ddl变更的表格的增量日志解析。
2、本发明提出的具体方案是:
3、本发明提供一种基于字典文件的支持ddl的oracle增量采集方法,利用logminer构建当前数据库的字典文件;
4、通过logminer确定增量采集区间,所述增量采集区间的起始增量点为上次增量采集区间的结束增量点,所述增量采集区间的结束增量点为当前数据库的日志增量点;
5、通过logminer进行增量日志解析,判断日志解析结果中是否包含ddl的表格增量数据,若包含则根据ddl的表格增量数据生成新字典文件,并确定新增量采集区间,所述新字典文件在所述新增量采集区间的起始增量点前生成,
6、通过logminer根据所述新字典文件进行所述包含ddl的表格增量数据的日志解析,完成增量采集。
7、优选地,所述的一种基于字典文件的支持ddl的oracle增量采集方法中所述利用logminer构建当前数据库的字典文件,包括:
8、通过sql语句创建当前数据库的文件字典,并按照序号命名文件字典中的字典文件。
9、优选地,所述的一种基于字典文件的支持ddl的oracle增量采集方法中所述通过logminer进行增量日志解析,判断日志解析结果中是否包含ddl的表格增量数据,包括:
10、判断增量日志解析是否正常,若正常则日志解析结果中不包含ddl的表格增量数据,当前数据库的字典文件与日志增量数据能够匹配,采集增量日志完成后进入下个采集循环,
11、若不正常则包含ddl的表格增量数据,当前数据库的字典文件与日志增量数据不匹配。
12、优选地,所述的一种基于字典文件的支持ddl的oracle增量采集方法中所述通过logminer利用sql语句对增量日志进行解析,并利用sql语句判断当前数据库的字典文件与日志增量数据是否匹配。
13、本发明提供一种基于字典文件的支持ddl的oracle增量采集装置,包括创建模块、采集区间管理模块和解析判断模块,
14、创建模块利用logminer构建当前数据库的字典文件;
15、采集区间管理模块通过logminer确定增量采集区间,所述增量采集区间的起始增量点为上次增量采集区间的结束增量点,所述增量采集区间的结束增量点为当前数据库的日志增量点;
16、解析判断模块通过logminer进行增量日志解析,判断日志解析结果中是否包含ddl的表格增量数据,若包含则根据ddl的表格增量数据生成新字典文件,并确定新增量采集区间,所述新字典文件在所述新增量采集区间的起始增量点前生成,
17、通过logminer根据所述新字典文件进行所述包含ddl的表格增量数据的日志解析,完成增量采集。
18、优选地,所述的一种基于字典文件的支持ddl的oracle增量采集装置中所述创建模块利用logminer构建当前数据库的字典文件,包括:
19、通过sql语句创建当前数据库的文件字典,并按照序号命名文件字典中的字典文件。
20、优选地,所述的一种基于字典文件的支持ddl的oracle增量采集装置中所述解析判断模块通过logminer进行增量日志解析,判断日志解析结果中是否包含ddl的表格增量数据,包括:
21、判断增量日志解析是否正常,若正常则日志解析结果中不包含ddl的表格增量数据,当前数据库的字典文件与日志增量数据能够匹配,采集增量日志完成后进入下个采集循环,
22、若不正常则包含ddl的表格增量数据,当前数据库的字典文件与日志增量数据不匹配。
23、优选地,所述的一种基于字典文件的支持ddl的oracle增量采集装置中所述解析判断模块通过logminer利用sql语句对增量日志进行解析,并利用sql语句判断当前数据库的字典文件与日志增量数据是否匹配。
24、本发明的有益之处是:
25、本发明提供一种基于字典文件的支持ddl的oracle增量采集方法,能有效完成涉及ddl变更的表格增量数据采集,有利于oracle进行ddl增量数据采集,并且oracle服务器cpu负载较小,提高了ddl变更的表格增量数据采集效率。
1.一种基于字典文件的支持ddl的oracle增量采集方法,其特征是利用logminer构建当前数据库的字典文件;
2.根据权利要求1所述的一种基于字典文件的支持ddl的oracle增量采集方法,其特征是所述利用logminer构建当前数据库的字典文件,包括:
3.根据权利要求1所述的一种基于字典文件的支持ddl的oracle增量采集方法,其特征是所述通过logminer进行增量日志解析,判断日志解析结果中是否包含ddl的表格增量数据,包括:
4.根据权利要求3所述的一种基于字典文件的支持ddl的oracle增量采集方法,其特征是所述通过logminer利用sql语句对增量日志进行解析,并利用sql语句判断当前数据库的字典文件与日志增量数据是否匹配。
5.一种基于字典文件的支持ddl的oracle增量采集装置,其特征是包括创建模块、采集区间管理模块和解析判断模块,
6.根据权利要求5所述的一种基于字典文件的支持ddl的oracle增量采集装置,其特征是所述创建模块利用logminer构建当前数据库的字典文件,包括:
7.根据权利要求5所述的一种基于字典文件的支持ddl的oracle增量采集装置,其特征是所述解析判断模块通过logminer进行增量日志解析,判断日志解析结果中是否包含ddl的表格增量数据,包括:
8.根据权利要求3所述的一种基于字典文件的支持ddl的oracle增量采集装置,其特征是所述解析判断模块通过logminer利用sql语句对增量日志进行解析,并利用sql语句判断当前数据库的字典文件与日志增量数据是否匹配。