数据库恢复
恢复可分为完全恢复和不完全恢复;根据数据库的完全备份,差异备份,增量备份,恢复又分为完全备份恢复,差异备份恢复,增量备份恢复。
完全恢复是利用数据库的全备份包来恢复数据库。
差异恢复需要一个数据库完全备份包和一个差异备份包来进行恢复。
增量恢复需要一个数据库完全备份包和一个或多个增量备份包进行恢复。
完全恢复又分为冷恢复和热恢复。
这里的增量恢复和差异恢复都是基于取消的不完全恢复。
程序的主要流程:
1、 完全恢复程序:
a) 拷贝完全备份包——〉关闭数据库——〉将备份包覆盖数据库文件(包括数据文件、日志文件、控制文件、归档日志文件)——〉
b) 如果是冷恢复——〉启动数据库
[完毕]
如果是热恢复——〉以mount方式启动数据库——〉进入规档日志重做程序
2、 增量恢复程序:
a) 选择最近的一个完全备份包——〉关闭数据库——〉将完全备份包覆盖数据库文件(包括数据文件、日志文件、控制文件、归档日志文件) [注意这个流程是选择最近一次的完全恢复来进行]
b) 拷贝完全备份后的所有连续的增量备份包——〉进入归档日志重做程序
c) 归档日志重做程序,执行下面的SQL命令:
shutdown abort
startup mount
alter database backup controlfile to trace;
SET AUTORECOVERY ON;
recover database until cancel
using backup controlfile;
alter database open resetlogs;
3、 差异恢复程序:
a) 选择最近的一个完全备份包——〉关闭数据库——〉将完全备份包覆盖数据库文件(包括数据文件、日志文件、控制文件、归档日志文件) [注意这个流程是选择最近一次的完全恢复来进行]
b) 拷贝完全备份后的一个差异备份包——〉进入归档日志重做程序
c) 归档日志重做程序,执行下面的SQL命令:
shutdown abort
startup mount
alter database backup controlfile to trace;
SET AUTORECOVERY ON;
recover database until cancel
using backup controlfile;
alter database open resetlogs;