6.4.1 数据库的备份

6.4.1 数据库的备份

一个数据库系统总是避免不了故障的发生。安全的数据库系统必须能在系统发生故障后利用已有的数据备份,恢复数据库到原来的状态,并保持数据的完整性和一致性。数据库系统所采用的备份与恢复技术,对系统的安全性与可靠性起着重要作用,也对系统的运行效率有着重大影响。

所谓未雨绸缪,有备无患,备份是几乎所有数据库的日常维护工作,是数据库恢复的前提;恢复则是数据库安全的最后一道屏障,亡羊补牢,为时未晚。

常用的数据库备份的方法有如下3种。

(1)冷备份

冷备份是在没有终端用户访问数据库的情况下关闭数据库并将其备份,又称为“脱机备份”。这种方法在保持数据完整性方面显然最有保障,但是对于那些必须保持每天24小时、每周7天全天候运行的数据库服务器来说,较长时间地关闭数据库进行备份是不现实的。

(2)热备份

热备份是指当数据库正在运行时进行的备份,又称为“联机备份”。因为数据备份需要一段时间,而且备份大容量的数据库还需要较长的时间,那么在此期间发生的数据更新就有可能使备份的数据不能保持完整性,这个问题的解决依赖于数据库日志文件。在备份时,日志文件将需要进行数据更新的指令“堆起来”,并不进行真正的物理更新,因此数据库能被完整地备份。备份结束后,系统再按照被日志文件“堆起来”的指令对数据库进行真正的物理更新。可见,被备份的数据保持了备份开始前的数据一致性状态。

热备份操作存在以下不利因素:

①如果系统在进行备份时崩溃,则堆在日志文件中的所有事务都会被丢失,即造成数据的丢失。

②在进行热备份的过程中,如果日志文件占用系统资源过大,如将系统存储空间占用完,会造成系统不能接受业务请求的局面,对系统运行产生影响。

③热备份本身要占用相当一部分系统资源,使系统运行效率下降。

(3)逻辑备份

逻辑备份是指使用软件技术从数据库中导出数据并写入一个输出文件,该文件的格式一般与原数据库的文件格式不同,而是原数据库中数据内容的一个映像。因此逻辑备份文件只能用来对数据库进行逻辑恢复,即数据导入,而不能按数据库原来的存储特征进行物理恢复。逻辑备份一般用于增量备份,即备份那些在上次备份以后改变的数据。