论文部分内容阅读
数据库数据恢复是数据库取证的一个重要组成部分,虽然目前数据库数据恢复技术主要集中在记录及操作语句的恢复,鲜有涉及在深入探讨表结构的基础上进行表中记录的恢复研究,导致很难恢复已删除表的记录。以应用广泛的InnoDB数据库为研究对象,本文对基于表定义文件和重做日志文件的数据库表记录恢复技术展开了研究。首先,提出一种基于表定义文件的InnoDB数据库表记录恢复方法。该方法利用文件雕复技术从磁盘镜像里重构存储表结构信息的表定义文件,从恢复的表定义文件提取表结构,然后从磁盘镜像抽取数据库页,匹配数据库页和表结构,最后将表结构应用到相应的数据库页里提取表记录。实验表明,提出的方法可以从磁盘镜像中恢复出未删除和已删除表中的记录。由于表定义文件提供的表结构信息全面,该方法使表记录恢复结果的准确度较高。这种方法也有局限性,当表定义文件数据已经损坏,这种方法就不适用了。其次,提出一种基于重做日志文件的InnoDB数据库表记录恢复方法。该方法通过解析创建表时重做日志文件中产生的相关日志条目的格式,不仅可以恢复出已删除表的表结构信息,还可以恢复出匹配数据库页和表结构的信息,然后从磁盘镜像抽取数据库页,最后将表结构应用到相应的数据库页里提取表记录。实验表明,提出的方法可以从磁盘镜像中恢复出表记录。本文对InnoDB数据库表记录恢复技术进行了研究,研究成果将有助于丰富和完善数据库数据恢复技术。