1 .一种数据库数据的恢复方法,包括:
确定待恢复的目标数据块对应的目标信息;
根据所述目标信息在日志文件中获取对应的目标全页写日志,所述全页写日志用于记
录数据块在某一检查点的基础数据信息;
根据所述目标全页写日志对所述目标数据块进行恢复。
2 .根据权利要求1所述的数据库数据的恢复方法,其中,
所述根据所述目标信息在日志文件中获取对应的目标全页写日志的步骤包括:
对所述日志文件进行解析并读取至缓存中,得到日志读缓存;
判断所述日志读缓存是否为全页写日志;
若是,则根据所述目标信息在所述日志读缓存中获取所述目标全页写日志。
3 .根据权利要求2所述的数据库数据的恢复方法,其中,
所述目标信息包括所述目标数据块的标识;
所述根据所述目标信息在所述日志读缓存中获取所述目标全页写日志的步骤包括:
根据所述目标数据块的标识确定所述目标全页写日志的索引号;
根据所述索引号确定所述日志读缓存中是否存在所述目标全页写日志;
若是,则获取所述目标全页写日志。
4 .根据权利要求1所述的数据库数据的恢复方法,其中,
所述目标信息包括所述目标数据块的大小;
所述根据所述目标全页写日志对所述目标数据块进行恢复的步骤包括:
根据所述目标信息计算恢复所述目标数据块所需的目标日志块在所述目标全页写日
志中的偏移量,所述目标日志块用于记录所述目标数据块在某一检查点的基础数据信息;
根据所述偏移量确定所述目标日志块在所述目标全页写日志中的起始点;
根据所述目标数据块的大小从所述起始点开始复制相同大小的日志块至内存中,作为
所述目标日志块;
对所述目标日志块进行校验处理;
在所述目标日志块通过所述校验处理的情况下,根据所述目标日志块中的数据对所述
目标数据块进行数据恢复;
根据所述日志文件中所述全页写日志之后的记录对所述目标数据块进行更新。
5 .根据权利要求4所述的数据库数据的恢复方法,其中,
所述对所述目标日志块进行校验处理的步骤包括:
判断所述目标日志块是否经过压缩处理;
若是,则判断所述目标日志块是否存在内存空洞;
在所述目标日志块不存在内存空洞的情况下,对所述目标日志块进行解压处理,判定
所述目标日志块通过所述校验处理。
6 .根据权利要求5所述的数据库数据的恢复方法,其中,
所述判断所述目标日志块是否存在内存空洞的步骤之后还包括:
在所述目标日志块存在所述内存空洞的情况下,对所述内存空洞进行零值填充;
判定填充完毕后的目标日志块通过所述校验处理。
7 .根据权利要求1所述的数据库数据的恢复方法,其中,
权 利 要 求 书
1/2 页
2
评论