RMAN备份数据库后到另一台机器上恢复

1、源数据库端查询dbid和数据文件名 运行在归档模式下
 select dbid from v$database;
 select file#,name from v$datafile;
 create pfile from spfile
 select * from v$logfile;
 rman 备份 之后关闭源数据库
 
2、在目标数据库上创建同样的实例名 数据库版本要一致
 网络配置文件、口令文件、参数文件pfile、rman备份集(包括控制文件、数据文件备份集)、重做日志copy到相应目录下
 
3、目标数据库
 启动到nomount: startup nomount pfile 'xx'
 rman target /
 start nomount
 set dbid=xxx (源数据库dbid)
 restore controlfile from 备份集路径
 alter database mount
 restore database
 recover database
 alter database open :一致性恢复 或者 alter database open resetlogs;不一致恢复

--------------------------------------推荐阅读 --------------------------------------

--------------------------------------分割线 --------------------------------------
 
备注:
 如果目标数据库数据文件和源数据库文件路径不一样 则
 run{
 set newname for datafile 1 to'D:\oradata\ocp\SYSTEM01.DBF';
 set newname for datafile 2 to'D:\oradata\ocp\UNDOTBS01.DBF';
 set newname for datafile 3 to'D:\oradata\ocp\SYSAUX01.DBF';
 set newname for datafile 4 to'D:\oradata\ocp\USERS01.DBF';
 set newname for datafile 5 to'D:\oradata\ocp\EXAMPLE01.DBF';
 set newname for datafile 6 to'D:\oradata\ocp\HYGEIA01.DBF';
 set newname for datafile 7 to'D:\oradata\ocp\HYGEIA02.DBF';
 restore database;
 switch datafile all;
 }

 拷贝redo到目标数据库到新的路径
 alter database rename file '原' to '目的路径'
 recover database;
 alter database open :一致性恢复 或者 alter database open resetlogs;不一致恢复

相关推荐