Oracle数据库中备份数据块的重复数据删除方法及系统技术方案

技术编号:19755201 阅读:40 留言:0更新日期:2018-12-14 22:00
本发明专利技术提供一种Oracle数据库中备份数据块的重复数据删除方法及系统,包括将初始备份数据块拆分为块头和数据体;生成拼接块头缓存信息,存储拼接块头的数据和缓存信息;生成数据体缓存信息,并存储数据体的指纹和缓存信息;当Oracle数据库的数据文件和日志文件发生变化时,生成再次备份数据块;将再次备份数据块拆分为块头和数据体;生成并存储拼接块头缓存信息;将每个数据体的指纹与已存储的指纹进行比对;若比对成功,则获取并存储所对应的数据体缓存信息;否则生成数据体缓存信息,并存储数据体数据块的指纹和缓存信息。本发明专利技术的Oracle数据库中备份数据块的重复数据删除方法及系统可将重复数据块只保留一个副本,从而缩减了磁盘上存储的数据。

【技术实现步骤摘要】
Oracle数据库中备份数据块的重复数据删除方法及系统
本专利技术涉及Oracle数据库的
,特别是涉及一种Oracle数据库中备份数据块的重复数据删除方法及系统。
技术介绍
随着计算机的不断发展,计算机需要存储的数据量也在迅速增加,数据所占用的物理空间越来越多。Oracle数据库,又名OracleRDBMS,是甲骨文公司的一款关系数据库管理系统,其具有系统可移植性好、使用方便、功能强等优点,适用于各类大、中、小、微机环境。故作为大型数据库管理系统,Oracle数据库近年来一直占有世界上高端数据库的最大份额,在保险、银行、电信等众多企业中得到广泛应用。RMAN(RecoveryManager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle工具。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN只能用于Oracle8或更高的版本中。目前,很多企业和用户都会选择RMAN进行数据的备份。RMAN会对Oracle数据块进行相关操作;在数据改变后,每次备份数据都不同。因此,进行多次备份后,会存在多个副本。这就造成了存储空间的浪费,占用了网络带宽。针对上述情况,需要在最大程度的获取到RMAN数据块后提取出RMAN数据块中相同的数据,并将这些数据只保留一份,以降低磁盘占用空间,减少网络传输。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种Oracle数据库中备份数据块的重复数据删除方法及系统,不依赖于脚本即可提取出Oracle数据库中备份数据块中的重复数据,从数据块级层面保证增量数据最大程度的相似性,通过删除重复数据来减少磁盘上冗余数据,从而降低磁盘占用空间,减少网络传输。为实现上述目的及其他相关目的,本专利技术提供一种Oracle数据库中备份数据块的重复数据删除方法,包括以下步骤:步骤S1、导出初始Oracle数据文件和日志文件,生成初始备份数据块;步骤S2、将初始备份数据块拆分为块头和数据体;步骤S3、将所有块头拼接起来得到拼接块头,生成拼接块头缓存信息,并存储拼接块头的数据和缓存信息;计算拆分后的每个数据体的指纹,生成数据体缓存信息,并存储数据体的指纹和缓存信息;步骤S4、当Oracle数据库的数据文件和日志文件发生变化时,导出Oracle数据文件和日志文件,生成再次备份数据块;步骤S5、将再次备份数据块拆分为块头和数据体;步骤S6、将所有块头拼接起来得到拼接块头,生成并存储拼接块头缓存信息;计算拆分后的每个数据体的指纹,并与已存储的指纹进行比对;若比对成功,则获取并存储已存储的指纹所对应的数据体缓存信息;若比对不成功,则生成数据体缓存信息,并存储数据体数据块的指纹和缓存信息。根据上述的Oracle数据库中备份数据块的重复数据删除方法,其中:通过RMAN脚本导出Oracle数据文件和日志文件。根据上述的Oracle数据库中备份数据块的重复数据删除方法,其中:拼接块头时,将拆分后获取的所有块头按照先后顺序依次进行拼接,得到拼接块头。根据上述的Oracle数据库中备份数据块的重复数据删除方法,其中:所述拼接块头缓存信息包括拼接块头的大小、块头的个数和存储位置等;所述数据体缓存信息包括数据体的存储位置和大小。根据上述的Oracle数据库中备份数据块的重复数据删除方法,其中:采用MD5算法计算数据体的指纹。同时,本专利技术还提供一种Oracle数据库中备份数据块的重复数据删除系统,包括初始导出模块、初始拆分模块、初始备份模块、再次导出模块、再次拆分模块和再次备份模块;初始导出模块用于导出初始Oracle数据文件和日志文件,生成初始备份数据块;初始拆分模块用于将初始备份数据块拆分为块头和数据体;初始备份模块用于将所有块头拼接起来得到拼接块头,生成拼接块头缓存信息,并存储拼接块头的数据和缓存信息;计算拆分后的每个数据体的指纹,生成数据体缓存信息,并存储数据体的指纹和缓存信息;再次导出模块用于在Oracle数据库的数据文件和日志文件发生变化时,导出Oracle数据文件和日志文件,生成再次备份数据块;再次导出模块用于将再次备份数据块拆分为块头和数据体;再次备份模块用于将所有块头拼接起来得到拼接块头,生成并存储拼接块头缓存信息;计算拆分后的每个数据体的指纹,并与已存储的指纹进行比对;若比对成功,则获取并存储已存储的指纹所对应的数据体缓存信息;若比对不成功,则生成数据体缓存信息,并存储数据体数据块的指纹和缓存信息。根据上述的Oracle数据库中备份数据块的重复数据删除系统,其中:通过RMAN脚本导出Oracle数据文件和日志文件。根据上述的Oracle数据库中备份数据块的重复数据删除系统,其中:拼接块头时,将拆分后获取的所有块头按照先后顺序依次进行拼接,得到拼接块头。根据上述的Oracle数据库中备份数据块的重复数据删除系统,其中:所述拼接块头缓存信息包括拼接块头的大小、块头的个数和存储位置等;所述数据体缓存信息包括数据体的存储位置和大小。根据上述的Oracle数据库中备份数据块的重复数据删除系统,其中:采用MD5算法计算数据体的指纹。如上所述,本专利技术的Oracle数据库中备份数据块的重复数据删除方法及系统,具有以下有益效果:(1)不依赖于备份脚本;(2)对导出的RMAN数据块进行分割,将相同数据和不相同数据分割开后分别进行识别,使得切分的数据块只有一半的指纹数,减少了指纹存储占据的空间;(3)对于重复数据块只保留一个副本,以提高了重删率,缩减磁盘上存储的数据;(4)减少磁盘使用空间和数据传输时间,节省了更多的人力物力。附图说明图1显示为本专利技术的Oracle数据库中备份数据块的重复数据删除方法的流程图;图2显示为RMAN数据块的结构示意图;图3显示为RMAN数据块拆分及归类的示意图;图4显示为本专利技术的Oracle数据库中备份数据块的重复数据删除系统的结构示意图。元件标号说明1初始导出模块2初始拆分模块3初始备份模块4再次导出模块5再次拆分模块6再次备份模块具体实施方式以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需要说明的是,本实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图式中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本专利技术的Oracle数据库中备份数据块的重复数据删除方法及系统,无需依赖于脚本即可提取出Oracle数据库中备份数据块中的重复数据,从数据块级层面保证增量数据最大程度的相似性,通过删除重复数据来减少磁盘上冗余数据,从而降低了磁盘占用空间,减少了网络传输。如图1所示,本专利技术的Oracle数据库中备份数据块的重复数据删除方法包括以下步骤:步骤S1、导出初始Oracle数据文件和日志文件,生成初始备份数据块。具体地,通过RMAN脚本导出Oracle数据文本文档来自技高网...

【技术保护点】
1.一种Oracle数据库中备份数据块的重复数据删除方法,其特征在于:包括以下步骤:步骤S1、导出初始Oracle数据文件和日志文件,生成初始备份数据块;步骤S2、将初始备份数据块拆分为块头和数据体;步骤S3、将所有块头拼接起来得到拼接块头,生成拼接块头缓存信息,并存储拼接块头的数据和缓存信息;计算拆分后的每个数据体的指纹,生成数据体缓存信息,并存储数据体的指纹和缓存信息;步骤S4、当Oracle数据库的数据文件和日志文件发生变化时,导出Oracle数据文件和日志文件,生成再次备份数据块;步骤S5、将再次备份数据块拆分为块头和数据体;步骤S6、将所有块头拼接起来得到拼接块头,生成并存储拼接块头缓存信息;计算拆分后的每个数据体的指纹,并与已存储的指纹进行比对;若比对成功,则获取并存储已存储的指纹所对应的数据体缓存信息;若比对不成功,则生成数据体缓存信息,并存储数据体数据块的指纹和缓存信息。

【技术特征摘要】
1.一种Oracle数据库中备份数据块的重复数据删除方法,其特征在于:包括以下步骤:步骤S1、导出初始Oracle数据文件和日志文件,生成初始备份数据块;步骤S2、将初始备份数据块拆分为块头和数据体;步骤S3、将所有块头拼接起来得到拼接块头,生成拼接块头缓存信息,并存储拼接块头的数据和缓存信息;计算拆分后的每个数据体的指纹,生成数据体缓存信息,并存储数据体的指纹和缓存信息;步骤S4、当Oracle数据库的数据文件和日志文件发生变化时,导出Oracle数据文件和日志文件,生成再次备份数据块;步骤S5、将再次备份数据块拆分为块头和数据体;步骤S6、将所有块头拼接起来得到拼接块头,生成并存储拼接块头缓存信息;计算拆分后的每个数据体的指纹,并与已存储的指纹进行比对;若比对成功,则获取并存储已存储的指纹所对应的数据体缓存信息;若比对不成功,则生成数据体缓存信息,并存储数据体数据块的指纹和缓存信息。2.根据权利要求1所述的Oracle数据库中备份数据块的重复数据删除方法,其特征在于:通过RMAN脚本导出Oracle数据文件和日志文件。3.根据权利要求1所述的Oracle数据库中备份数据块的重复数据删除方法,其特征在于:拼接块头时,将拆分后获取的所有块头按照先后顺序依次进行拼接,得到拼接块头。4.根据权利要求1所述的Oracle数据库中备份数据块的重复数据删除方法,其特征在于:所述拼接块头缓存信息包括拼接块头的大小、块头的个数和存储位置;所述数据体缓存信息包括数据体的存储位置和大小。5.根据权利要求1所述的Oracle数据库中备份数据块的重复数据删除方法,其特征在于:采用MD5算法计算数据体的指纹。6.一种Oracle数据库中备份数据块的重复数据删除系统...

【专利技术属性】
技术研发人员:董倩
申请(专利权)人:上海爱数信息技术股份有限公司
类型:发明
国别省市:上海,31

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

1