在 Oracle 12.2 之前,当我们需要恢复数据库到某个时间点的时候,需要确定 SCN,或者日志序列号,或者一个时间点,以便尽可能多的应用归档日志,进而尽可能多的恢复数据。
从12.2开始,RMAN 新增参数:
RECOVER DATABASE UNTIL AVALIABLE REDO
RMAN 将会根据控制文件信息和归档日志/在线日志/归档日志备份集的物理可用性,将数据库恢复到最后一个可用的归档日志。所以在进行恢复的时候,可以不需要指定 SCN,或者时间,或者日志序列号。需要注意的是,数据文件仍然需要在一致的情况下,数据库才能打开。
语法如下:
RMAN> RECOVER DATABASE UNTIL AVALIABLE REDO;
限制:
不能针对恢复数据文件或者表空间使用这个命令。
不能针对恢复 PDB 使用这个命令。
只能针对全库恢复使用这个命令。
下面进行试验来测试该命令。
备份
也就是说基于该备份进行恢复,至少需要恢复到序号为5的归档,数据库才能处于一致性的状态,才能进行 OPEN 操作。
模拟归档丢失
由于只是在操作系统层面删除了归档日志,没有进行 crosscheck 操作,控制文件里仍然记录有这些归档日志还没有被删除。
RESTORE 数据库
RECOVER 数据库
通过日志输出可以看到,rman 自动读取了所有可用于前滚数据库的归档,对于删除的归档,如果在线日志还没有被覆盖,也会通过读取在线日志来替换删除的归档,这里序号为8的归档日志已经被操作系统删除了,并且在线日志也已经被覆盖了,所以 rman 自动前滚到该位置之后,停止继续前滚。
注明:实验环境为 rhce 7.4 12.2.0.1
参考:12.2 NEW FEATURE : -RECOVER DATABASE UNTIL AVAILABLE REDO (文档 ID 2300465.1)
近期活动
扫描二维码
立即报名参加
资源下载
关注公众号:数据和云(OraNews)回复关键字获取
‘2017DTC’,2017 DTC 大会 PPT
‘DBALIFE’,“DBA 的一天”海报
‘DBA04’,DBA 手记4 经典篇章电子书
‘RACV1’, RAC 系列课程视频及 PPT
‘122ARCH’,Oracle 12.2 体系结构图
‘2017OOW’,Oracle OpenWorld 资料
‘PRELECTION’,大讲堂讲师课程资料