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

实例:将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> alter database open resetlogs;

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

原文地址:https://www.cnblogs.com/amadeuslee/p/3744378.html