如果需要恢复的数据库或者数据文件不存在,则需要将全量备份集RESTORE[ 将全量备份集恢复到目标数据库中,称之为RESTORE。]到目标数据库中,然后再RECOVER[ 将增量备份集或者归档日志恢复到目标数据库中,称之为RECOVER。]增量备份集或者归档日志。数据库完全恢复的过程。即Oracle数据库物理恢复的一个前提是需要有较早时期的数据库存在(即0级备份),然后服务器进程才能应用增量备份集或者归档日志将数据库恢复(RECOVER)到指定的时间点。如果恢复过程中需要打开数据库,则为不完全恢复,不完全恢复可能会 丢失数据。如果应用掉了所有归档日志和在线日志,则称之为完全恢复,完全恢复不会丢失数据。
实践表明,数据库物理恢复时通常需要注意以下几点:
定期进行数据库的恢复测试,确保备份的有效性。这一点很重要,但是经常会被忽略。通过定期进行恢复测试,形成完善的测试文档,当灾难发生时,DBA可以快速、熟练地进行恢复。
仔细评估数据库需要恢复的时间。经常出现的一个情况是,DBA错误地估计了恢复时间,而导致无奈的等待。
仔细评估数据库的数据丢失量,如果能接受,则进行恢复。
在应用归档日志时,如果速度不够快,但主机CPU和存储资源空闲,可以考虑进行并行恢复。
数据库恢复时,如果存储资源空闲,设置较大的db_writer_processes参数值可以加快恢复速度。