RMAN> run {
set until sequence=11;
recover database;
}
输出信息表明,RMAN自动判断归档7至10号均已存在,不需要11号归档即可完成恢复:
archive log thread 1 sequence 7 is already on disk...
archive log thread 1 sequence 10 is already on disk...
media recovery complete
打开数据库:
RMAN> alter database open resetlogs;
3. 技术点补充
set until sequence 实际上会还原到“小于该序号的最后一个归档结束位置”,序号本身不参与恢复。
如果归档在备份过程中生成,其内容很可能已包含在备份数据块中,RMAN恢复时可智能跳过。
尽管此处误删未造成影响,但在真实环境中应避免人为删除备份窗口内的归档。
二、基于时间点的不完全恢复
1. 恢复背景与思路
业务系统中经常会遇到操作失误,如误删了某用户下的关键表。假设操作发生时间可知,我们可通过RMAN基于时间点恢复数据库。