rman备份的时候并不会备份临时表空间的数据文件,所以完全恢复之后,如果临时表空间的数据文件也丢失,需要手工重新创建临时表空间的数据文件。
Oracle数据库的恢复实际上包含了两个概念:数据库修复(RESTORE)与数据库恢复(RECOVER):
数据库修复(RESTORE):按照RMAN存储库的条目从备份文件恢复需要的文件,是指利用备份的数据库文件来替换已经损坏的数据库文件或者将其恢复到一个新的位置。RMAN在进行修复操作时,会利用恢复目录(没有建立恢复目录的话就使用目标数据库的控制文件)来获取备份信息,并从中选择最合适的备份进行修复操作。选择备份时有两个原则(1、选择距离恢复目录时刻最近;2、优先选择镜像复制,其次才是备份集)
数据库恢复(RECOVER):使用数据文件和REDO文件进行完全的或者时间点的数据库媒体恢复,是指利用重做日志或增量备份来重建丢失的数据。
我们在对目标数据库做任何形式的修复或者恢复之前,目标数据库必须处于加载状态,恢复指定数据文件时,也可以在打开状态下恢复。
RMAN恢复概要:
1、 首先要确定需要恢复哪些文件,控制文件、参数文件、归档日志文件和数据文件。
2、 选择正确的恢复方式。例如恢复一个单独的表空间或者数据文件,可以在数据库OPEN状态下把需要恢复的表空间或者数据文件OFFLINE,如果需要恢复所有的数据文件,必须关闭数据库然后在数据库MOUNT状态执行RESTORE。
3、 用RESTORE命令从备份恢复丢失的数据库文件的时候,可以把备份数据库文件恢复原始位置或者恢复到一个新的位置(例如原始磁盘损坏),例如我们想把控制文件恢复到新的位置,则必须要修改SPFILE;如果想把数据文件或者REDO文件恢复到其他位置,则必须修改CONTROLFILE。
4、 如果从备份中恢复了数据文件,必须执行RECOVER来执行数据库恢复。
全库恢复和恢复个别表空间或数据文件。如果想实现上述恢复,必要条件如下:
1、 当前控制文件完好。
2、 必须具备恢复需要的数据文件备份、增量备份和归档日志备份。
3、 如果任何一个数据文件没有备份,必须具备自从文件创建以来的在线REDO和归档REDO,这样RMAN可以重新创建数据文件,过程就是先创建空的数据文件,然后再应用归档REDO和在线REDO
恢复案例一:全库恢复
RMAN> shutdown immediate
使用目标数据库控制文件替代恢复目录
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> startup
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
RMAN-03002: startup 命令 (在 07/21/2010 15:33:41 上) 失败
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: '+DG1/mytest/datafile/mydt1.266.721409599'
RMAN> startup mount
数据库已经启动
RMAN> restore database;
启动 restore 于 21-7月 -10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=152 devtype=DISK
创建数据文件 fno = 8 名称 = +DG1/mytest/datafile/cattbs.277.723916699
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到+DG1/mytest/datafile/system.260.721406511
正将数据文件00002恢复到+DG1/mytest/datafile/undotbs1.261.721406525
正将数据文件00003恢复到+DG1/mytest/datafile/sysaux.262.721406531
正将数据文件00004恢复到+DG1/mytest/datafile/users.264.721406547
正将数据文件00005恢复到+DG1/mytest/datafile/mydt1.266.721409599
正将数据文件00006恢复到+DG1/mytest/datafile/mydtidx1.267.721409665
正将数据文件00007恢复到+DG1/mytest/datafile/drtest1.276.722614951
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_0OLH4JA1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_0OLH4JA1 标记 = TAG20100625T154152
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:56
完成 restore 于 21-7月 -10
RMAN> RECOVER DATABASE;
启动 recover 于 21-7月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
数据文件 00001 的恢复目标: +DG1/mytest/datafile/system.260.721406511
数据文件 00002 的恢复目标: +DG1/mytest/datafile/undotbs1.261.721406525
数据文件 00003 的恢复目标: +DG1/mytest/datafile/sysaux.262.721406531
数据文件 00004 的恢复目标: +DG1/mytest/datafile/users.264.721406547
数据文件 00005 的恢复目标: +DG1/mytest/datafile/mydt1.276.724952417
数据文件 00006 的恢复目标: +DG1/mytest/datafile/mydtidx1.267.721409665
数据文件 00007 的恢复目标: +DG1/mytest/datafile/drtest1.277.724952417
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_0ULH4KC8
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_0ULH4KC8 标记 = TAG20100625T160008
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03
通道 ORA_DISK_1: 正在开始恢复增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
数据文件 00001 的恢复目标: +DG1/mytest/datafile/system.260.721406511
数据文件 00002 的恢复目标: +DG1/mytest/datafile/undotbs1.261.721406525
数据文件 00003 的恢复目标: +DG1/mytest/datafile/sysaux.262.721406531
数据文件 00004 的恢复目标: +DG1/mytest/datafile/users.264.721406547
数据文件 00005 的恢复目标: +DG1/mytest/datafile/mydt1.276.724952417
数据文件 00006 的恢复目标: +DG1/mytest/datafile/mydtidx1.267.721409665
数据文件 00007 的恢复目标: +DG1/mytest/datafile/drtest1.277.724952417
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_13LH4MG9
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_13LH4MG9 标记 = TAG20100625T163625
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03
通道 ORA_DISK_1: 正在开始恢复增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
数据文件 00001 的恢复目标: +DG1/mytest/datafile/system.260.721406511
数据文件 00002 的恢复目标: +DG1/mytest/datafile/undotbs1.261.721406525
数据文件 00003 的恢复目标: +DG1/mytest/datafile/sysaux.262.721406531
数据文件 00004 的恢复目标: +DG1/mytest/datafile/users.264.721406547
数据文件 00005 的恢复目标: +DG1/mytest/datafile/mydt1.276.724952417
数据文件 00006 的恢复目标: +DG1/mytest/datafile/mydtidx1.267.721409665
数据文件 00007 的恢复目标: +DG1/mytest/datafile/drtest1.277.724952417
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_16LH4MNE
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_16LH4MNE 标记 = TAG20100625T164013
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03
正在开始介质的恢复
存档日志线程 1 序列 47 已作为文件 +DG1/mytest/arc00047_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 48 已作为文件 +DG1/mytest/arc00048_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 49 已作为文件 +DG1/mytest/arc00049_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 50 已作为文件 +DG1/mytest/arc00050_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 51 已作为文件 +DG1/mytest/arc00051_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 52 已作为文件 +DG1/mytest/arc00052_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 53 已作为文件 +DG1/mytest/arc00053_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 54 已作为文件 +DG1/mytest/arc00054_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 55 已作为文件 +DG1/mytest/arc00055_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 56 已作为文件 +DG1/mytest/arc00056_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 57 已作为文件 +DG1/mytest/arc00057_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 58 已作为文件 +DG1/mytest/arc00058_0721406472.001 存在于磁盘
上
通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=45
通道 ORA_DISK_1: 正在恢复存档日志
存档日志线程 =1 序列=46
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_18LH4MQV
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_18LH4MQV 标记 = TAG20100625T164207
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:02
存档日志文件名 =+DG1/mytest/arc00045_0721406472.001 线程 =1 序列 =45
存档日志文件名 =+DG1/mytest/arc00046_0721406472.001 线程 =1 序列 =46
存档日志文件名 =+DG1/mytest/arc00047_0721406472.001 线程 =1 序列 =47
存档日志文件名 =+DG1/mytest/arc00048_0721406472.001 线程 =1 序列 =48
存档日志文件名 =+DG1/mytest/arc00049_0721406472.001 线程 =1 序列 =49
存档日志文件名 =+DG1/mytest/arc00050_0721406472.001 线程 =1 序列 =50
存档日志文件名 =+DG1/mytest/arc00051_0721406472.001 线程 =1 序列 =51
存档日志文件名 =+DG1/mytest/arc00052_0721406472.001 线程 =1 序列 =52
存档日志文件名 =+DG1/mytest/arc00053_0721406472.001 线程 =1 序列 =53
存档日志文件名 =+DG1/mytest/arc00054_0721406472.001 线程 =1 序列 =54
存档日志文件名 =+DG1/mytest/arc00055_0721406472.001 线程 =1 序列 =55
存档日志文件名 =+DG1/mytest/arc00056_0721406472.001 线程 =1 序列 =56
介质恢复完成, 用时: 00:00:58
完成 recover 于 21-7月 -10
RMAN> ALTER DATABASE OPEN;
数据库已打开
完成,没有异常,数据库正常登录。
其他说明:
1:
RESTORE DATABASE CHECK READONLY;
对于存在只读表空间的情况,如果我们是在有效备份之前把表空间设置为只读的情况,RMAN会跳过只读表空间的恢复。
2:
如果你的数据库并非处于归档模式,那么必须使用ALTER DATABASE OPEN RESETLOGS来打开数据库,因为RMAN会认为在非归档模式下是一个不一致的备份,执行resetlogs之后,oracle将会把scn重新置为0。
3:
在进行RESTORE操作的时候可以加上DELETE ARCHIVELOG参数来删除由于RESTORE操作产生的归档日志(已经应用到数据文件)以节约磁盘空间
恢复案例二:恢复表空间
RMAN> shutdown immediate;
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> startup mount;
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 373293056 字节
Fixed Size 1249056 字节
Variable Size 113246432 字节
Database Buffers 251658240 字节
Redo Buffers 7139328 字节
RMAN> RESTORE TABLESPACE mydt1;
启动 restore 于 21-7月 -10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=152 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00005恢复到+DG1/mytest/datafile/mydt1.276.724952417
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_0OLH4JA1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_0OLH4JA1 标记 = TAG20100625T154152
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:45
完成 restore 于 21-7月 -10
RMAN> RECOVER tablespace mydt1;
启动 recover 于 21-7月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
数据文件 00005 的恢复目标: +DG1/mytest/datafile/mydt1.276.724952417
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_0ULH4KC8
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_0ULH4KC8 标记 = TAG20100625T160008
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:02
通道 ORA_DISK_1: 正在开始恢复增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
数据文件 00005 的恢复目标: +DG1/mytest/datafile/mydt1.276.724952417
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_13LH4MG9
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_13LH4MG9 标记 = TAG20100625T163625
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:02
通道 ORA_DISK_1: 正在开始恢复增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
数据文件 00005 的恢复目标: +DG1/mytest/datafile/mydt1.276.724952417
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_16LH4MNE
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_16LH4MNE 标记 = TAG20100625T164013
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:02
正在开始介质的恢复
存档日志线程 1 序列 45 已作为文件 +DG1/mytest/arc00045_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 46 已作为文件 +DG1/mytest/arc00046_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 47 已作为文件 +DG1/mytest/arc00047_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 48 已作为文件 +DG1/mytest/arc00048_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 49 已作为文件 +DG1/mytest/arc00049_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 50 已作为文件 +DG1/mytest/arc00050_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 51 已作为文件 +DG1/mytest/arc00051_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 52 已作为文件 +DG1/mytest/arc00052_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 53 已作为文件 +DG1/mytest/arc00053_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 54 已作为文件 +DG1/mytest/arc00054_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 55 已作为文件 +DG1/mytest/arc00055_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 56 已作为文件 +DG1/mytest/arc00056_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 57 已作为文件 +DG1/mytest/arc00057_0721406472.001 存在于磁盘
上
存档日志线程 1 序列 58 已作为文件 +DG1/mytest/arc00058_0721406472.001 存在于磁盘
上
存档日志文件名 =+DG1/mytest/arc00045_0721406472.001 线程 =1 序列 =45
存档日志文件名 =+DG1/mytest/arc00046_0721406472.001 线程 =1 序列 =46
存档日志文件名 =+DG1/mytest/arc00047_0721406472.001 线程 =1 序列 =47
存档日志文件名 =+DG1/mytest/arc00048_0721406472.001 线程 =1 序列 =48
存档日志文件名 =+DG1/mytest/arc00049_0721406472.001 线程 =1 序列 =49
存档日志文件名 =+DG1/mytest/arc00050_0721406472.001 线程 =1 序列 =50
存档日志文件名 =+DG1/mytest/arc00051_0721406472.001 线程 =1 序列 =51
存档日志文件名 =+DG1/mytest/arc00052_0721406472.001 线程 =1 序列 =52
存档日志文件名 =+DG1/mytest/arc00053_0721406472.001 线程 =1 序列 =53
存档日志文件名 =+DG1/mytest/arc00054_0721406472.001 线程 =1 序列 =54
存档日志文件名 =+DG1/mytest/arc00055_0721406472.001 线程 =1 序列 =55
存档日志文件名 =+DG1/mytest/arc00056_0721406472.001 线程 =1 序列 =56
介质恢复完成, 用时: 00:00:14
完成 recover 于 21-7月 -10
RMAN> ALTER DATABASE OPEN;
数据库已打开
其他说明:
1:
进行恢复操作,在恢复之前,如果需要被恢复的表空间未处于脱机状态,需要通过alter tablespace ... Offline语句将其置为脱机
2:
如果备份档案有些久的话,还需执行recover
恢复案例三:恢复数据文件
RMAN> shutdown immediate
使用目标数据库控制文件替代恢复目录
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> startup
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
RMAN-03002: startup 命令 (在 07/21/2010 17:02:04 上) 失败
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: '+DG1/mytest/datafile/mydt1.276.724952417'
RMAN> startup mount
数据库已经启动
RMAN> restore datafile 5;
启动 restore 于 21-7月 -10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=152 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00005恢复到+DG1/mytest/datafile/mydt1.276.724952417
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_0OLH4JA1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_0OLH4JA1 标记 = TAG20100625T154152
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:29
完成 restore 于 21-7月 -10
RMAN> RECOVER tablespace mydt1;
。。。。。。。。
RMAN> alter database open;
数据库已打开
恢复案例四:恢复控制文件
RMAN> shutdown immediate
使用目标数据库控制文件替代恢复目录
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> startup
已连接到目标数据库 (未启动)
Oracle 实例已启动
RMAN-03002: startup 命令 (在 07/22/2010 10:45:21 上) 失败
ORA-00205: 标识控制文件时出错, 有关详细信息, 请查看预警日志
RMAN> startup nomount
已连接到目标数据库 (未启动)
Oracle 实例已启动
系统全局区域总计 373293056 字节
Fixed Size 1249056 字节
Variable Size 96469216 字节
Database Buffers 268435456 字节
Redo Buffers 7139328 字节
RMAN> set dbid=2420544136
正在执行命令: SET DBID
RMAN> restore controlfile from 'H:/orabak/C-2420544136-20100715-00';
启动 restore 于 22-7月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:05
输出文件名=+DG1/mytest/controlfile/current.256.725021589
输出文件名=+DG2/mytest/controlfile/current.307.725021589
完成 restore 于 22-7月 -10
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
RMAN> restore database;(如果控制档时间较近,这个应该可以不用执行,执行后就相当于整库还原了)
RMAN> recover database;
RMAN> alter database open resetlogs;
数据库已打开
其他说明:
1:
由于使用备份的控制文件恢复,该文件内不包含目标数据库redologs和数据文件头部scn信息,所以必须通过resetlogs方式open。
2:
如果我们的RMAN是带有恢复目录Flash Recovery Area的话,则在恢复的时候不用进行SET DBID操作,直接执行如下命令即可:
RMAN> restore controlfile;
3:
我们可以在数据库处于任何状态的情况下把控制文件恢复到参数文件中设置的控制文件以外的位置:
RMAN〉restore controlfile to '...' from '...';
恢复案例五:恢复到上一个RMAN的整库备份
RMAN> startup nomount;
已连接到目标数据库 (未启动)
Oracle 实例已启动
系统全局区域总计 373293056 字节
Fixed Size 1249056 字节
Variable Size 104857824 字节
Database Buffers 260046848 字节
Redo Buffers 7139328 字节
RMAN> restore controlfile from 'H:/orabak/C-2420544136-20100625-08';
启动 restore 于 22-7月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:04
输出文件名=+DG1/mytest/controlfile/current.256.725021589
输出文件名=+DG2/mytest/controlfile/current.307.725021589
完成 restore 于 22-7月 -10
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
RMAN> restore database;
启动 restore 于 22-7月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到+DG1/mytest/datafile/system.260.721406511
正将数据文件00002恢复到+DG1/mytest/datafile/undotbs1.261.721406525
正将数据文件00003恢复到+DG1/mytest/datafile/sysaux.262.721406531
正将数据文件00004恢复到+DG1/mytest/datafile/users.264.721406547
正将数据文件00005恢复到+DG1/mytest/datafile/mydt1.266.721409599
正将数据文件00006恢复到+DG1/mytest/datafile/mydtidx1.267.721409665
正将数据文件00007恢复到+DG1/mytest/datafile/drtest1.276.722614951
通道 ORA_DISK_1: 正在读取备份段 H:/ORABAK/MYTEST_DB_0OLH4JA1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = H:/ORABAK/MYTEST_DB_0OLH4JA1 标记 = TAG20100625T154152
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:55
完成 restore 于 22-7月 -10
RMAN> recover database;
启动 recover 于 22-7月 -10
使用通道 ORA_DISK_1
正在开始介质的恢复
无法找到存档日志
存档日志线程 =1 序列=41
RMAN-03002: recover 命令 (在 07/22/2010 11:49:39 上) 失败
RMAN-06054: 介质恢复正请求未知的日志: 线程 1 seq 41 lowscn 691657
RMAN> alter database open resetlogs;
数据库已打开
OK,到此时间点还原就结束了,可以看到后续建立的一些表空间数据等全部没了
一些说明:
1:
如果是异机还原,保证还原路径下没有数据文件存在,备份包的路径和备份时候的路径一致
还需做前面的准备活动
C:/Documents and Settings/Administrator>oradim -new -sid mytest
C:/Documents and Settings/Administrator>set oracle_sid=mytest
C:/Documents and Settings/Administrator>rman target /
RMAN> set dbid 2420544136;
RMAN> startup nomount;
RMAN> restore spfile to pfile 'D:/orabak/SNCFMYTEST.ORA' from 'H:/orabak/SNCFMYTEST.ORA';
RMAN> startup force nomount pfile='D:/orabak/SNCFMYTEST.ORA';
然后就可以按照以上的步骤进行了
2:
recover时报错了,但是没关系,并非严重错误,只是提醒你恢复到一个未知的scn号。如果要避免这个错误,可以在alter database mount之后,通过set until scn或者set until time命令设置恢复到的scn号或时间。