Refer to :metalink 134214.1
如果存在归档日志备份集的话、那么 RMAN 就不一定会选择增量备份集
让我们使用以下的 RECOVER 命令作为例子:
RMAN> run{ 2> allocate channel x type disk; 3> restore datafile 7; 4> recover datafile 7; 5> }
首先、RMAN 将把从最后一次0级增量备份的数据文件 7 覆盖回去、接下来、RMAN 会有 2 条路:
① 把自最后一次0级备份以来、所有存在的增量备份全部覆盖回去
然后运用自最后一次增量备份到当前时间点以来的所有存在的归档日志
② 忽略增量备份集、选择运用自最后一次0级备份到当前时间点以来的所有归档日志
RMAN 会评估和选择最小恢复时间的那条路
Oracle 允许从最后一个增量备份时间点开始恢复、也允许从 0级备份开始应用所有归档日志
Oracle会评估两者的代价,选择恢复时间最小的一个来做
我个人的理解是 Oracle的这个评估是一个简单的计算
举个例子,Oracle发现最后一个增量备份和0级备份之间就没多少归档日志,干脆从0级开始应用归档日志恢复了就得了