【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

 

posted @ 2009-03-02 14:03  李济宏(Amadeus)  阅读(126)  评论(0编辑  收藏  举报