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;不一致恢复