Welcome 微信登录

首页 / 数据库 / MySQL / 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;不一致恢复--------------------------------------推荐阅读 --------------------------------------RMAN 配置归档日志删除策略 http://www.linuxidc.com/Linux/2013-11/92670.htmOracle基础教程之通过RMAN复制数据库 http://www.linuxidc.com/Linux/2013-07/87072.htmRMAN备份策略制定参考内容 http://www.linuxidc.com/Linux/2013-03/81695.htmRMAN备份学习笔记 http://www.linuxidc.com/Linux/2013-03/81892.htmOracle数据库备份加密 RMAN加密 http://www.linuxidc.com/Linux/2013-03/80729.htm--------------------------------------分割线 --------------------------------------
 
备注:
 如果目标数据库数据文件和源数据库文件路径不一样 则
 run{
 set newname for datafile 1 to"D:oradataocpSYSTEM01.DBF";
 set newname for datafile 2 to"D:oradataocpUNDOTBS01.DBF";
 set newname for datafile 3 to"D:oradataocpSYSAUX01.DBF";
 set newname for datafile 4 to"D:oradataocpUSERS01.DBF";
 set newname for datafile 5 to"D:oradataocpEXAMPLE01.DBF";
 set newname for datafile 6 to"D:oradataocpHYGEIA01.DBF";
 set newname for datafile 7 to"D:oradataocpHYGEIA02.DBF";
 restore database;
 switch datafile all;
 } 拷贝redo到目标数据库到新的路径
 alter database rename file "原" to "目的路径"
 recover database;
 alter database open :一致性恢复 或者 alter database open resetlogs;不一致恢复 更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址