不完全恢复
1、基于时间点的恢复:
不完全恢复,基于时间的,恢复删除的表。
试用场景:建立了1个表,全备份,后来drop了,使用rman恢复到之前的时间点
startup mount;
rman> restore database until time "to_date('2013-4-3 14:55:00','YYYY-MM-DD HH24:MI:SS')";
rman> recover database until time "to_date('2013-4-3 14:55:00','YYYY-MM-DD HH24:MI:SS')";
rman> alter database open resetlogs;
2、基于scn的恢复:
不完全恢复
试用场景:建立了1个表,全备份,后来drop了,使用rman恢复到之前的scn
首先找到一个认为正确的scn时间
select timestamp_to_scn(to_date('2013-4-3 15:23:00','YYYY-MM-DD HH24:MI:SS')) as scn from dual;
scn:--1935250
startup mount;
rman> restore database until scn 1935250;
rman> recover database until scn 1935250;
rman> alter database open resetlogs;
3、完全恢复:
注意:删除的数据,表啥的恢复不了,请用不完全恢复
SQL> startup mount
C:\Users\Administrator>rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期一 4
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到目标数据库: ORCL (DBID=1277091135, 未打开)
RMAN> restore database; 用rman还原数据库
RMAN> recover database 用rman恢复数据库
RMAN> alter database open;
4、备份集恢复、复制数据库
相当于拿着备份集复制数据库
在本地建立另一个数据库recoverorcl,建立一个表,0级备份,然后dbca删除库,进行恢复
RMAN> connect target sys/recoverorcl@recoverorcl
RMAN> backup database
恢复过程:
首先建立一个sid相同的数据库
C:\Users\Administrator>set oracle_sid=recoverorcl
C:\Users\Administrator>rman target / nocatalog
RMAN> startup nomount;
RMAN>restore controlfile from 'D:\db\oracle\product\10.2.0\flash_recovery_area\RECOVERO\BACKUPSET\2013_04_03\O1_MF_NCSNF_TAG20130403T172007_8OQX5OB2_.BKP'
RMAN>mount database;
RMAN> recover database;
ORA-19698: E:\RECOVERDATA\RECOVERO\REDO01.LOG 来自不同数据库: id=3812385722, db
name=RECOVERO?
删除当前在线redo log文件,redo1,redo2和redo3
RMAN> recover database;
RMAN-06094: 数据文件1必须重新存储
RMAN> restore datafile 1;
RMAN> alter database open resetlogs;
ORA-01152: 文件 1 没有从过旧的备份中恢复
ORA-01110: 数据文件 1: 'E:\RECOVERDATA\RECOVERO\SYSTEM01.DBF'
RMAN> restore database;
RMAN> alter database open resetlogs;
ORA-01152: 文件 1 没有从过旧的备份中恢复
ORA-01110: 数据文件 1: 'E:\RECOVERDATA\RECOVERO\SYSTEM01.DBF'
RMAN> restore datafile 1;
RMAN> recover database;
RMAN-03002: recover 命令 (在 04/04/2013 00:06:40 上) 失败
RMAN-06054: 介质恢复正请求未知的日志: 线程 1 seq 4 lowscn 566500
RMAN> alter database open resetlogs;
数据库已打开