通过正规备份,并且快速的将备份介质运送到安全的地方,数据库就能够在大多数的灾难中得到恢复。恢复是文件的使用是从一个基点的数据库映像开始,到一些综合的备份和日志。由于不可预知的物理灾难,一个完全的数据库恢复(重应用日志)可以使数据库映像恢复到尽可能接近灾难发生的时间点的状态。对于逻辑灾难,如:人为破坏或者应用故障等,数据库映像应该恢复到错误发生前的那一点。
在一个数据库的完全恢复过程中,基点后所有日志中的事务被重新应用,所以结果就是一个数据库映像反映所有在灾难前已接受的事务,而没有被接受的事务则不被反映。为了恢复数据库误操作等错误,完全的恢复时不合适的,因为如果重新应用所有事务,错误就会重复。数据库恢复应用程序允许管理员停止日志前滚在错误发生前一点。数据库恢复可以恢复到错误发生前的最后一个时刻。
检验数据库备份
大多数的企业都会定期地对他们的数据库进行备份,但是却没能经常地对数据库备份进行检验。数据库备份会由于以下各种原因而变得无效:
元数据(例如一个Oracle控制文件或SQL Server控制数据库)缺失
在物理备份的过程中数据库处于非静止的状态
一个或多个必需的数据库文件从备份中丢失
数据库被破坏后才进行备份
从某种意义而言,无效的数据库备份比根本不做备份的情况更糟,因为无效的数据库备份会造成一种安全的假象。因此,检验数据库备份是一项非常重要的工作,尤其是在进行了自动备份进程之后或是在数据库结构改变之后。即使是没有任何改变发生,定期进行检验也是必需的,例如可以定期地检测损坏的介质或磁带驱动器等等。
为了将检验工作对数据库生产运行的影响冲突降至最低,备份的检验工作需要使用备用资源。一个正在用于检验修复备份的数据库应该带有一个备用数据库标识符或服务器名称以免客户端会将信息错误地发送给检验数据库。检验内容应该既包括使用全部的归档日志的数据库恢复资源,也包括使用厂商提供工具进行数据库一致性的检验。