场景:
1,从生产库上copy好全备份文件
恢复
数据库需要准备的文件:rman完整备份(包括数据文件、日志文件、控制文件、参数文件),记录源数据库的DBID
1.1,查看参数文件信息
RMAN> list backup of spfile;
1.2查看控制文件信息:
RMAN> list backup of controlfile;
1.3 查看数据库信息:
RMAN> list backup of database;
1.4 查看归档日志信息:
RMAN> list backup of archivelog all;
2、开始恢复参数文件控制文件:
SQL> select dbid from v$database;
2.1 设置DBID:
注意:在rman下即使没有参数文件,默认也会启动一个DUMMY实例,以便能够恢复参数文件。
2.2 恢复spfile文件
startup到open状态,先查看spfile文件位置:
有CONFIGURE CONTROLFILE AUTOBACKUP ON; 表示参数文件和控制文件有备份
2.3,恢复控制文件位置
查看控制文件位置
2.4, 在新控制文件中注册数据文件备份和归档备份
catalog start with '/oracle/app/oracle/flash_recovery_area/stuorcl/backupset/2015-01-27/';
2.5,恢复整个库
因为前面恢复了整个spfile已经controlfile,所以接下来恢复所有库的话,就不用带参数,直接恢复restore database就可以 ;
3.1,查看原来备份库上的归档信息
[oracle@xuexi4 ~]$ sqlplus / as sysdba
Oracle. All rights reserved.
3.2,copy备份库上面的 29167到29186的dbf归档日志文件到测试库的归档日志目录下面
cp *29186* /tmp/rmanbak
3.3,查看到原来的归档目录和测试库一样,所以尝试下继续执行recover命令,然后继续在测试库的rman界面,进行recover操作:
RMAN> recover database;
3.3,看到有报错,还是缺失归档日志包,去现在测试库/oracle/app/oracle/flash_recovery_area/archivelog/下面看了没有新的29187归档日志,所以从原来备份库上copy过来的归档日志都应该执行完了,直接试试打开open。
RMAN> alter database open resetlogs;
4,登录连接验证,验证连接报错:
[oracle@xuexi4 admin]$ sqlplus "sys/sys@SC_PD";
5,找到原来的用户下的表,导出来恢复到线上。
总结步骤:
1,scp全备文件到测试库,在备份库上查询好参数文件控制文件归档路径等信息
|