15.1.4 备份策略

由于完全备份需要把整个数据库、或者整个表空间,或者整个数据文件中的数据全部备份下来,所以这样备份需要花费很长的时间,要使用很大的磁盘空间,所以这种备份并不频繁进行,一般一周或一个月进行一次。增量备份虽然只需要对较少的数据进行备份,但是这种备份方法不能单独使用,必须以完全备份为基础。这样,我们在对数据库进行备份时,要综合考虑各种因素,然后制定一个合理的备份计划,这样的备份计划称为备份策略。

一个好的备份策略不但可以减轻数据库管理员的负担,还能把数据库的风险减到最小,一旦数据库出现故障,还可以把数据的损失减到最小。备份策略制定好之后,就通过各种方法来实现了,如通过操作系统中的任务调度。

figure_0334_0102

图 15.1 一个备份策略的例子

图15.1反映的是一种常用的备份策略的例子。周日对数据库进行一次完全备份,周一到周四每天进行一次较高级别的备份。每次备份的内容都包含这样的数据:自最近一次较低级别的备份以来,被修改的数据,而在这段时间内没有被修改的数据就不会被备份。

假设发生了这样的情况:在周五的备份还没有来得及进行的时候,数据库出现了故障,造成数据的丢失。现在正是利用备份进行恢复的时候了。首先利用周日的0级备份进行恢复,然后依次利用周一到周四的备份进行恢复,这样周四之前的数据就完全恢复了。周四到周五之间的数据没有备份,只能依靠重做日志来恢复了。假设数据库的日志模式为归档模式,那么数据库是可以进行完全恢复的。如果数据库的日志模式为非归档模式,那么最后这一段时间的数据是无法恢复的。

figure_0334_0103

图 15.2 另外一个备份策略的例子

图15.2反映的是另外一种备份策略的例子。与第一种备份策略不同的是,周四又进行了一次1级备份。这样周四备份的内容就包括这样的数据:自最近一次0级备份以来,被修改的数据。假设在周五的备份还没有来得及进行的时候,数据库发生了故障,造成了数据的丢失。在这种情况下,首先利用周日的0级备份进行恢复,然后利用周四的1级备份就能把数据库直接恢复到周四的状态,周四到周五之间的数据依靠日志进行恢复。