【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 ;
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';
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;
RMAN>delete expired backup;
10,通过控制文件获得表空间及数据文件列表
RMAN>report schema;
11,执行恢复
RMAN>run
{
restore database;
}
{
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
喜欢请赞赏一下啦^_^