12.2 新特性:RMAN 自动恢复到 REDO 终点的步骤简化

简介:

在 Oracle 12.2 之前,当我们需要恢复数据库到某个时间点的时候,需要确定 SCN,或者日志序列号,或者一个时间点,以便尽可能多的应用归档日志,进而尽可能多的恢复数据。

从12.2开始,RMAN 新增参数:

RECOVER DATABASE UNTIL AVALIABLE REDO

RMAN 将会根据控制文件信息和归档日志/在线日志/归档日志备份集的物理可用性,将数据库恢复到最后一个可用的归档日志。所以在进行恢复的时候,可以不需要指定 SCN,或者时间,或者日志序列号。需要注意的是,数据文件仍然需要在一致的情况下,数据库才能打开。

语法如下:

RMAN> RECOVER DATABASE UNTIL AVALIABLE REDO;

限制:

8481c8f592b7f349aa84a1de5c171db681516edf 不能针对恢复数据文件或者表空间使用这个命令。
8481c8f592b7f349aa84a1de5c171db681516edf 不能针对恢复 PDB 使用这个命令。
8481c8f592b7f349aa84a1de5c171db681516edf 只能针对全库恢复使用这个命令。

下面进行试验来测试该命令。

bee5ddf6085017a9f1f04585fab73718946b8063

也就是说基于该备份进行恢复,至少需要恢复到序号为5的归档,数据库才能处于一致性的状态,才能进行 OPEN 操作。

模档

96d86199777bc5cc4cc319a841c66c10203caa72

由于只是在操作系统层面删除了归档日志,没有进行 crosscheck 操作,控制文件里仍然记录有这些归档日志还没有被删除。

RESTORE 数据库

b971e2fa79e3658d71ffabf767918a1a93ca98e1

RECOVER 数据库

b275fa102427f652987f02ce47fb699a61f21dfb

通过日志输出可以看到,rman 自动读取了所有可用于前滚数据库的归档,对于删除的归档,如果在线日志还没有被覆盖,也会通过读取在线日志来替换删除的归档,这里序号为8的归档日志已经被操作系统删除了,并且在线日志也已经被覆盖了,所以 rman 自动前滚到该位置之后,停止继续前滚。


原文发布时间为:2018-04-2
本文作者:陈兴望
本文来自云栖社区合作伙伴“ 数据和云”,了解相关信息可以关注“ 数据和云”微信公众号
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
11月前
|
SQL 数据库
Dataguard环境下archivelog删除测试的设置
重新设置archivelog的删除策略
|
弹性计算 容灾 关系型数据库
PostgreSQL PITR 任意时间点恢复过程中如何手工得到recovery需要的下一个WAL文件名 - 默认情况下restore_command自动获取
标签 PostgreSQL , recovery , recovery.conf , restore_command , timeline , 时间线 , next wal , PITR , 时间点恢复 背景 PostgreSQL数据库支持PITR时间点恢复。默认情况下,只需要配置目标是时间点,resotre_command即可,PG会自动调用resotre_command去找需要的WA
1360 0
|
SQL Oracle 关系型数据库
Oracle数据库的显示提交与隐式提交,针对oracle工具的自动提交机制
Oracle数据库的显示提交与隐式提交,针对oracle工具的自动提交机制
509 0
|
运维 Oracle 关系型数据库
实战篇:Oracle DataGuard 出现 GAP 修复完整步骤
实战篇:Oracle DataGuard 出现 GAP 修复完整步骤
实战篇:Oracle DataGuard 出现 GAP 修复完整步骤
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 数据库