完全恢复是指当数据文件出现介质失败时,使用RESTORE命令转储备份(到原存放地或可用的设备),然后再使用RECOVER命令将数据文件恢复到失败点的状态。
SYSTEM表空间数据文件恢复要求数据库必须在mount状态进行,其他数据文件恢复既可以使数据库在mount状态,也可以是open状态进行;
当需要恢复所有数据文件或者要求在数据库级别恢复时,应该使用完全恢复,这时数据库需启动到mount状态;恢复至原存放地脚本如下(在open状态下运行此脚本):
RMAN> run{
2> startup force mount
3> restore database;
4> recover database;
5> alter database open;
6> }
Oracle 实例已启动
数据库已装载
系统全局区域总计 838860800 字节
Fixed Size 1293384 字节
Variable Size 742392760 字节
Database Buffers 88080384 字节
Redo Buffers 7094272 字节
启动 restore 于 13-5月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 正在恢复数据文件00007
输入数据文件副本 recid=36 stamp=815324562 文件名=D:BACKUPORCL_124.BAK
数据文件 00007 的恢复目标: D:RMAN.DBF
通道 ORA_DISK_1: 已复制数据文件 00007 的数据文件副本
输出文件名=D:RMAN.DBF recid=37 stamp=815324790
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到E:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF
正将数据文件00003恢复到E:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF
正将数据文件00004恢复到E:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF
正将数据文件00005恢复到E:ORACLEPRODUCT10.2.0ORADATAORCLEXAMPLE01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:ORCL_1318810635_112
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:ORCL_1318810635_112 标记 = TAG20130513T144801
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:36
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:BACKUPORCL_116.BAK
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:BACKUPORCL_116.BAK 标记 = TAG20130513T145621
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:46
完成 restore 于 13-5月 -13
启动 recover 于 13-5月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:10
完成 recover 于 13-5月 -13
数据库已打开
恢复系统表空间至原存放地脚本如下
RMAN> run{
2> startup force mount
3> restore tablespace system;
4> recover tablespace system;
5> alter database open;
6> }
Oracle 实例已启动
数据库已装载
系统全局区域总计 838860800 字节
Fixed Size 1293384 字节
Variable Size 750781368 字节
Database Buffers 79691776 字节
Redo Buffers 7094272 字节
启动 restore 于 13-5月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:BACKUPORCL_116.BAK
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:BACKUPORCL_116.BAK 标记 = TAG20130513T145621
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:55
完成 restore 于 13-5月 -13
启动 recover 于 13-5月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 661 已作为文件 F:RMANBACKUPORCLARCHIVELOG2013_05_13O1_MF_1_661_8S13VN1G_.ARC 存在于磁盘上
存档日志线程 1 序列 662 已作为文件 F:RMANBACKUPORCLARCHIVELOG2013_05_13O1_MF_1_662_8S14DQ98_.ARC 存在于磁盘上
存档日志线程 1 序列 663 已作为文件 F:RMANBACKUPORCLARCHIVELOG2013_05_13O1_MF_1_663_8S14XX0Z_.ARC 存在于磁盘上
存档日志文件名 =F:RMANBACKUPORCLARCHIVELOG2013_05_13O1_MF_1_661_8S13VN1G_.ARC 线程 =1 序列 =661
介质恢复完成, 用时: 00:00:04
完成 recover 于 13-5月 -13
数据库已打开
恢复系统表空间数据至其他可用设备
RMAN> run{
2> startup force mount
3> set newname for datafile 1 to 'd:system01.dbf';
4> restore datafile 1;
5> switch datafile 1;
6> recover datafile 1;
7> alter database open;
8> }
Oracle 实例已启动
数据库已装载
系统全局区域总计 838860800 字节
Fixed Size 1293384 字节
Variable Size 754975672 字节
Database Buffers 75497472 字节
Redo Buffers 7094272 字节
正在执行命令: SET NEWNAME