恢复到特定点(时间点、scn、日志序列号),rman不完全恢复

简介:

将数据库、表空间、数据文件等恢复至恢复备份集保存时间中的任何一个时间点/SCN/日志序列(一般是日志挖掘找到误操作点),但须谨慎,操作前一定需要做好备份,具备条件的情况下最好先恢复到异机,避免业务停机时间。

前提:已经有数据库备份 (作者已经提前准备了备份,这里不进行备份,为了节约空间)
--准备实验环境
SQL> select * from andy.andy;
select * from andy.andy
*
ERROR at line 1:
ORA-00942: table or view does not exist
--不完全恢复时间点
SQL> select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,'YY
-------------------
2015-03-25 07:55:12

SQL> create table andy.andy(id int);

Table created.
SQL> insert into andy.andy values(1);

1 row created.
SQL> insert into andy.andy values(100);

1 row created.
SQL> commit;

Commit complete.
SQL> select * from andy.andy;
ID
----------
1
100

1 基于时间点
方法一: 在RMAN中执行
RMAN> 
run{
startup mount force;
set until time "to_date('2015-03-25 07:55:12','yyyy-mm-dd hh24:mi:ss')";
restore database;
recover database;
alter database open resetlogs;
}

Finished recover at 25-MAR-15
database opened
--恢复时间点之后的表不见了,说明的确是不完全恢复。
SQL> select * from andy.andy;
select * from andy.andy
*
ERROR at line 1:
ORA-00942: table or view does not exist


——————————————————————————
方法二:在SQLplus中执行

SQL>startup mount force;
SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
SQL>restore database until time "to_date('2015-03-25 07:55:12','YYYY-MM-DD HH24:MI:SS')";
SQL>recover database until time "to_date('2015-03-25 07:55:12','YYYY-MM-DD HH24:MI:SS')";
SQL>alter database open resetlogs;

2 基于 SCN:
SQL>startup mount force;
SQL>restore database until scn XXXX;
SQL>recover database until scn XXXX;
SQL>alter database open resetlogs;

3 基于日志序列
SQL>startup mount force;
SQL>restore database until SEQUENCE 100 thread 1; //100是日志序列
SQL>recover database until SEQUENCE 100 thread 1;
SQL>alter database open resetlogs;

文章可以转载,必须以链接形式标明出处。

本文转自 张冲andy 博客园博客,原文链接: http://www.cnblogs.com/andy6/p/6762052.html   ,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 数据库
|
SQL 监控 Oracle
【恢复】Redo日志文件丢失的恢复
第一章 Redo日志文件丢失的恢复 1.1  online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢失据的风险,强烈建议在条件允许的情况下,对Redo日志进行多路镜像。
2172 0
|
Oracle 关系型数据库 数据库
|
SQL Oracle 关系型数据库
undo表空间文件丢失恢复(4)--无备份无recover的情况下恢复
  undo表空间的数据文件丢失,如果没有备份的情况下,而且丢失的undo文件可以置为offline状态后(注意是offline不是recover状态),则可以如下恢复,下边给出一个例子。
913 0
|
SQL Oracle 关系型数据库
undo表空间文件丢失恢复(3)--无备份无redo的情况下恢复
undo表空间的数据文件丢失,如果没有备份的情况下,而且redo也不可用,这个时候就要采用隐藏参数来恢复,下边给出一个例子。   undo表空间文件丢失恢复(1)--有备份的情况下恢复:http://blog.
809 0
|
SQL Oracle 关系型数据库
undo表空间文件丢失恢复(2)--无备份有redo的情况下恢复
undo表空间的数据文件丢失,如果没有备份的情况下,但是redo完好,这个时候可以这样恢复,下边给出一个例子。   undo表空间文件丢失恢复(1)--有备份的情况下恢复:http://blog.
619 0

相关实验场景

更多