rman(3)--恢复概述
一、数据库恢复--数据库必须是mount状态
全库备份:
RMAN> backup as backupset database format 'F:\Test\Backup\%d_DF_%T_%s_%p.bak' plus archivelog delete all input format 'F:\Test\Backup\%d_ARC_%s_%c_%p_%t.bak';
全库备份:
RMAN> backup as backupset database format 'F:\Test\Backup\%d_DF_%T_%s_%p.bak' plus archivelog delete all input format 'F:\Test\Backup\%d_ARC_%s_%c_%p_%t.bak';
关闭数据库,删除所有的数据文件、归档文件
启动数据库报错:
SQL> startup
ORACLE 例程已经启动。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 644468736 bytes
Fixed Size 1385480 bytes
Variable Size 356518904 bytes
Database Buffers 281018368 bytes
Redo Buffers 5545984 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'G:\ORACLE\ORADATA\ORCL11G\SYSTEM01.DBF'
Fixed Size 1385480 bytes
Variable Size 356518904 bytes
Database Buffers 281018368 bytes
Redo Buffers 5545984 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'G:\ORACLE\ORADATA\ORCL11G\SYSTEM01.DBF'
还原操作
1、启动数据库到mount状态
RMAN> startup mount;
1、启动数据库到mount状态
RMAN> startup mount;
2、执行恢复操作
RMAN> restore database;
RMAN> restore database;
启动 restore 于 07-8月 -13
使用通道 ORA_DISK_1
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 G:\ORACLE\ORADATA\ORCL11G\SYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 G:\ORACLE\ORADATA\ORCL11G\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 G:\ORACLE\ORADATA\ORCL11G\UNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 G:\ORACLE\ORADATA\ORCL11G\USERS01.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 G:\ORACLE\ORADATA\ORCL11G\LF.DBF
通道 ORA_DISK_1: 将数据文件 00006 还原到 G:\ORACLE\ORADATA\ORCL11G\SYSTEM02.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\TEST\BACKUP\ORCL11G_DF_20130807_36_1.BAK
通道 ORA_DISK_1: 段句柄 = F:\TEST\BACKUP\ORCL11G_DF_20130807_36_1.BAK 标记 = TAG20130807T100804
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:11:06
完成 restore 于 07-8月 -13
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 G:\ORACLE\ORADATA\ORCL11G\SYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 G:\ORACLE\ORADATA\ORCL11G\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 G:\ORACLE\ORADATA\ORCL11G\UNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 G:\ORACLE\ORADATA\ORCL11G\USERS01.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 G:\ORACLE\ORADATA\ORCL11G\LF.DBF
通道 ORA_DISK_1: 将数据文件 00006 还原到 G:\ORACLE\ORADATA\ORCL11G\SYSTEM02.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\TEST\BACKUP\ORCL11G_DF_20130807_36_1.BAK
通道 ORA_DISK_1: 段句柄 = F:\TEST\BACKUP\ORCL11G_DF_20130807_36_1.BAK 标记 = TAG20130807T100804
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:11:06
完成 restore 于 07-8月 -13
RMAN> recover database delete archivelog; --删除在恢复过程中产生的归档,skip tablespace可以指定跳过表空间
启动 recover 于 07-8月 -13
使用通道 ORA_DISK_1
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:06
介质恢复完成, 用时: 00:00:06
完成 recover 于 07-8月 -13
3、打开数据库
RMAN> alter database open;
RMAN> alter database open;
数据库已打开
如果是非归档,在执行restore前,首先要恢复之前备份的控制文件,并且要以open resetlogs打开数据库。
二、恢复表空间或数据文件--数据库可以mount状态也可以open状态(除了system表空间)
1、恢复表空间
备份表空间users
RMAN> backup tablespace users format 'F:\Test\Backup\user.bak';
1、恢复表空间
备份表空间users
RMAN> backup tablespace users format 'F:\Test\Backup\user.bak';
置users表空间offline
RMAN> sql 'alter tablespace users offline immediate';
RMAN> sql 'alter tablespace users offline immediate';
sql 语句: alter tablespace users offline immediate
恢复表空间文件
RMAN> restore tablespace users;
RMAN> restore tablespace users;
启动 restore 于 07-8月 -13
使用通道 ORA_DISK_1
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 G:\ORACLE\ORADATA\ORCL11G\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\TEST\BACKUP\USER.BAK
通道 ORA_DISK_1: 段句柄 = F:\TEST\BACKUP\USER.BAK 标记 = TAG20130807T104525
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:07
完成 restore 于 07-8月 -13
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 G:\ORACLE\ORADATA\ORCL11G\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\TEST\BACKUP\USER.BAK
通道 ORA_DISK_1: 段句柄 = F:\TEST\BACKUP\USER.BAK 标记 = TAG20130807T104525
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:07
完成 restore 于 07-8月 -13
RMAN> recover tablespace users;
启动 recover 于 07-8月 -13
使用通道 ORA_DISK_1
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:00
介质恢复完成, 用时: 00:00:00
完成 recover 于 07-8月 -13
置users表空间online
RMAN> sql 'alter tablespace users online';
RMAN> sql 'alter tablespace users online';
sql 语句: alter tablespace users online
2、恢复数据文件
RMAN> run {
sql 'alter database datafile 4 offline';
restore datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
}
如果原路径磁盘损坏:
RMAN> run {
sql 'alter database datafile 4 offline';
set newname for datafile 4 to 'F:\TEST\BACKUP\users01.dbf'; --将数据文件恢复到其他路径
restore datafile 4;
switch datafile 4; --让控制文件识别新数据文件的路径
recover datafile 4;
sql 'alter database datafile 4 online';
}
RMAN> run {
sql 'alter database datafile 4 offline';
set newname for datafile 4 to 'F:\TEST\BACKUP\users01.dbf'; --将数据文件恢复到其他路径
restore datafile 4;
switch datafile 4; --让控制文件识别新数据文件的路径
recover datafile 4;
sql 'alter database datafile 4 online';
}
三、恢复归档文件
默认情况下归档文件恢复到log_archive_dest_1指定的路径,可以通过set archivelog destination to设置新的路径
RMAN> run {
set archivelog destination to 'F:\TEST\BACKUP';
restore archivelog sequence between 1 and 7;
set archivelog destination to 'F:\TEST\BACKUP';
restore archivelog sequence between 8 and 10;
}
默认情况下归档文件恢复到log_archive_dest_1指定的路径,可以通过set archivelog destination to设置新的路径
RMAN> run {
set archivelog destination to 'F:\TEST\BACKUP';
restore archivelog sequence between 1 and 7;
set archivelog destination to 'F:\TEST\BACKUP';
restore archivelog sequence between 8 and 10;
}
四、恢复spfile文件
默认恢复到$ORACLE_HOME/dbs目录下,可以手动指定恢复目录
在启动数据库前,先设置dbid
RMAN> set dbid=919642917;
RMAN> startup nomount;
默认恢复到$ORACLE_HOME/dbs目录下,可以手动指定恢复目录
在启动数据库前,先设置dbid
RMAN> set dbid=919642917;
RMAN> startup nomount;
RMAN> restore spfile from 'F:\TEST\BACKUP\SPFILE.BAK';
RMAN> restore spfile to 'F:\TEST\BACKUP\spfileORCL11G.ora' from 'F:\TEST\BACKUP\SPFILE.BAK';
RMAN> restore spfile to 'F:\TEST\BACKUP\spfileORCL11G.ora' from autobackup;
RMAN> restore spfile to 'F:\TEST\BACKUP\spfileORCL11G.ora' from 'F:\TEST\BACKUP\SPFILE.BAK';
RMAN> restore spfile to 'F:\TEST\BACKUP\spfileORCL11G.ora' from autobackup;
五、恢复控制文件
默认恢复到control_files指定目录下,可以手动指定恢复目录
在启动数据库前,先设置dbid
RMAN> set dbid=919642917;
RMAN> startup nomount;
默认恢复到control_files指定目录下,可以手动指定恢复目录
在启动数据库前,先设置dbid
RMAN> set dbid=919642917;
RMAN> startup nomount;
RMAN> restore controlfile from 'F:\TEST\BACKUP\CONTROLFILE.BAK';
RMAN> restore controlfile to 'F:\TEST\BACKUP\control01.ctl' from 'F:\TEST\BACKUP\CONTROLFILE.BAK';
RMAN> restore controlfile to 'F:\TEST\BACKUP\control01.ctl' from autobackup;
RMAN> restore controlfile to 'F:\TEST\BACKUP\control01.ctl' from 'F:\TEST\BACKUP\CONTROLFILE.BAK';
RMAN> restore controlfile to 'F:\TEST\BACKUP\control01.ctl' from autobackup;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24996904/viewspace-767944/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24996904/viewspace-767944/