您的位置:首页 > 运维架构 > Linux

【Vegas原创】使用RMAN恢复数据库到不同主机(Linux版)

2014-05-22 15:50 549 查看
实例:将dtserp数据库移到另一台Server target。

 

1,建立相应的文件夹

    主要的参数应该包括:*_dmpb_dest、control_files、db_recovery_file_dest、db_create_file_dest等,将这些参数用show parameter查出来,并在target上建立相应的文件夹。

SQL>show parameter **
 

    如target的admin下建立dtserp及里面对应的文件夹(adump,bdump,cdump,dpdump,pfile,udump),oradata下建立dtserp,flash_recovery_area下建立dtserp等。

 

2,copy initdtserp.ora,orapwdtserp文件到target;

 

3,copy rman备份文件、control file、archive档到target;

 

4,赋予oracle文件夹权限给oracle用户:

 

chown -R oracle:oinstall oracle
 

5,通过rman启动数据库到nomount状态:

  1) vi .bash_profile,将ORACLE_SID等改为dtserp;或export $ORACLE_SID;

  2)

$ rman target /

RMAN>startup nomount ;

 

6,通过备份的控制文件恢复出控制文件:

RMAN>restore controlfile to '/u01/app/oracle/oradata/dtserp/control01.ctl' from '/u03/rman/control01.ctl';
RMAN>restore controlfile to '/u01/app/oracle/oradata/dtserp/control02.ctl' from '/u03/rman/control02.ctl';
RMAN>restore controlfile to '/u01/app/oracle/oradata/dtserp/control03.ctl' from '/u03/rman/control03.ctl';
 

7,装载数据库:

RMAN>alter database mount;
 

8,将备份集拷贝到相应目录,向控制文件中加载备份集

RMAN>catalog start with '/u03/rman';
 

9,作交叉检查,然后删除无效backup:

RMAN>crosscheck backup;
RMAN>delete expired backup;
 

10,通过控制文件获得表空间及数据文件列表

 

RMAN>report schema;
 

11,执行恢复

RMAN>run

{

restore database;

}

 

12,数据文件恢复出来以后,对数据库应用归档日志进行恢复

RMAN>recover database;
 

13,最后以resetlogs方式打开数据库:

 

SQL&
4000
gt; alter database open resetlogs;
 

 

Windows版请参考文档:http://www.cnblogs.com/vegaslee/archive/2009/05/07/1451717.html

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: