The invention relates to a method and a device for calculating the capacity of a database. The method includes: acquiring data archive configuration object library; according to the archive configuration data obtaining the target database, and the archive configuration data file, and generate the configuration information table; the capacity is determined according to the original file table the configuration information table; analysis of the archive table, and get the free degree of each data block file table; according to the respective data blocks the free degree and the form of the original archive capacity calculation the actual capacity of the archive table. The method and the device for calculating the capacity of the database can accurately calculate the actual capacity of each archive table, so as to accurately obtain the actual capacity after the database is archived.
【技术实现步骤摘要】
本专利技术涉及数据库
,特别是涉及一种数据库容量计算方法和装置。
技术介绍
数据库归档,指的是将数据库中某些比较不常用的数据放置到诸如磁带等大容量而不便于访问的设备。数据库的表中的数据被归档后,被归档的数据原来占用的容量即可重新被使用,因此,往往需要重新计算数据库归档后的容量方便进行数据存储。而在传统方式中,进行数据库归档工作后,计算数据库归档后的容量仅从存储、表空间、表大小等维度进行量化。然而,这三个层面均忽视了表被归档后,数据删除而尚未被回收的空间,因此无法准确地计算出数据库归档后的实际容量,计算粒度过粗,导致统计得到的数据与实际情况出入较大。
技术实现思路
基于此,有必要提供一种数据库容量计算方法,能准确计算数据库进行归档后各个归档表的实际容量。此外,还有必要提供一种数据库容量计算装置,能准确计算数据库归档后各个归档表的实际容量。一种数据库容量计算方法,包括:获取目标库的归档配置数据;根据所述归档配置数据获取所述目标库中与所述归档配置数据匹配的归档表,并生成配置信息表;根据所述配置信息表确定所述归档表的原容量;分析所述归档表,并获取所述归档表中各个数据块的空闲度;根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量。在其中一个实施例中,所述获取目标库的归档配置数据,还包括:获取待计算的目标库及目标库信息;根据所述目标库信息从配置库中提取匹配的归档配置数据,并根据所述归档配置数据生成SQL脚本;根据所述SQL脚本将所述归档配置数据导入所述目标库中。在其中一个实施例中,所述分析所述归档表,并获取所述归档表中各个数据块的空闲度,包括: ...
【技术保护点】
一种数据库容量计算方法,包括:获取目标库的归档配置数据;根据所述归档配置数据获取所述目标库中与所述归档配置数据匹配的归档表,并生成配置信息表;根据所述配置信息表确定所述归档表的原容量;分析所述归档表,并获取所述归档表中各个数据块的空闲度;根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量。
【技术特征摘要】
1.一种数据库容量计算方法,包括:获取目标库的归档配置数据;根据所述归档配置数据获取所述目标库中与所述归档配置数据匹配的归档表,并生成配置信息表;根据所述配置信息表确定所述归档表的原容量;分析所述归档表,并获取所述归档表中各个数据块的空闲度;根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量。2.根据权利要求1所述的数据库容量计算方法,其特征在于,所述获取目标库的归档配置数据,还包括:获取待计算的目标库及目标库信息;根据所述目标库信息从配置库中提取匹配的归档配置数据,并根据所述归档配置数据生成SQL脚本;根据所述SQL脚本将所述归档配置数据导入所述目标库中。3.根据权利要求1或2所述的数据库容量计算方法,其特征在于,所述分析所述归档表,并获取所述归档表中各个数据块的空闲度,包括:分析所述归档表,得到所述归档表的高水位线;根据所述高水位线获取所述归档表中已被使用的数据块;逐一扫描所述已被使用的数据块,并获取各个已被使用的数据块的空闲度。4.根据权利要求3所述的数据库容量计算方法,其特征在于,所述根据所述各个数据块的空闲度及所述归档表的原容量计算所述归档表的实际容量,包括:根据预设的各个空闲度阶段对应的空闲度阶段值及所述各个已被使用的数据块的空闲度,将所述各个已被使用的数据块分配到对应的空闲度阶段;获取被分配到所述各个空闲度阶段的数据块数量;通过加权算法对所述各个空闲度阶段对应的空闲度阶段值及数据块数量进行计算,得到所述各个空闲度阶段的加权空闲数据块数量;获取所述归档表的数据块容量,根据所述数据块容量及所述各个空闲度阶段的加权空闲数据块数量计算归档容量;根据所述原容量及所述归档容量计算所述归档表的实际容量。5.根据权利要求4所述的数据库容量计算方法,其特征在于,所述方法还包括:获取所述目标库的原全库容量;统计所述目标库中各个归档表的归档容量,得到所述目标库的总归档容量;根据所述总归档容量及所述原全库容量计算实际归档率。6.一种数据库容量计算装置,其特征在于,包括:数据获取模块,用于获取目标库的归档配置数据;生成模块,用于...
【专利技术属性】
技术研发人员:侯松,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。