rman 异地恢复,备份路径不一样时数据库恢复

异地恢复rman 需要 盘阵节点不一样,我们需要一下几个方面:

1 . 作软连接 ln -s source target

2. 恢复控制文件,到mount 状态

3. alter database rename file ' ' to ' ' ; --- 改变日志文件的路径,名称

4. set newname for datafile '' to '' ;

restore database ;

switch datafile all;

5. recover

[@more@]

主机1  192.168.0.1  
盘镇挂在 /u01 下 

数据文件,控制文件,日志文件 在 /u01/oracle/oradata/fcard/
归档日志在  /u01/oracle/oradata/fcard/archive 下

需要做的是
主机2  192.168.0.2  上 
盘镇挂在 /trunkbow  下 

数据文件,控制文件,日志文件 在 /trunkbow/oracle/oradata/fcard/
归档日志在  /trunkbow/oracle/oradata/fcard/archive 下

 

在  192.168.0.1 上作数据库的全备份: 

rman>change archivelog all crosscheck; 

nohup sh rman_wh.sh  & 
     
        
$ more rman_wh.sh
#!/bin/sh
. /export/home/oracle/.profile
rq=`date +%Y%m%d`
date
$ORACLE_HOME/bin/rman target / log=/export/home/oracle/shell/rman/backup$rq.log<
backup database
format '/u01/oracle/rman/fcard_%T_%U.bak'
plus archivelog  
format '/u01/oracle/rman/arc_%T_%U.bak'
delete all  input;
crosscheck backup;
report obsolete;
delete obsolete;
YES
exit
!
date

cd   /u01/oracle/rman 

ls -lt

$ ls -lt
total 9721828
-rw-r-----   1 oracle   dba      7634944 Jul 16 12:57 cf_c-2783238366-20070716-05
-rw-r-----   1 oracle   dba        10240 Jul 16 12:57 arc_20070716_6cimvnei_1_1.bak
-rw-r-----   1 oracle   dba      4604919808 Jul 16 12:57 fcard_20070716_6aimvnb3_1_1.bak
-rw-r-----   1 oracle   dba      362553344 Jul 16 12:57 fcard_20070716_6bimvnb3_1_1.bak

 

 

第二大步 : 

 

把文件 ftp  到 192.168.0.2  

在 2上 

上的 /trunkbow/oracle/rman 下  

 

创建软连接的上级目录:

mkdir  -p  /u01/oracle   

创建软连接 :

ln -s   /trunkbow/oracle/rman   /u1/oracle/rman 

 

 

 

 启动数据库到nomount  状态:

 sql>startup nomount pfile='/export/home/oracle/init07.ora';

 rman>set dbid=2783238366;

rman>restore controlfile from '/trunkbow/oracle/rman/cf_c-2783238366-20070716-05'; 

sql>select name from v$datafile;

/u01/oracle/oradata/fcard/system01.dbf
/u01/oracle/oradata/fcard/undotbs01.dbf
/u01/oracle/oradata/fcard/sysaux01.dbf
/u01/oracle/oradata/fcard/users01.dbf

rman>

run  {
set newname for datafile '/u01/oracle/oradata/fcard/system01.dbf' to '/trunkbow/oracle/oradata/fcard/system01.dbf';
set newname for datafile '/u01/oracle/oradata/fcard/undotbs01.dbf' to '/trunkbow/oracle/oradata/fcard/undotbs01dbf';
set newname for datafile '/u01/oracle/oradata/fcard/sysaux01.dbf' to '/trunkbow/oracle/oradata/fcard/sysaux01.dbf';
set newname for datafile '/u01/oracle/oradata/fcard/users01.dbf' to '/trunkbow/oracle/oradata/fcard/users01.dbf';
restore database ;
switch datafile all;
}

 

 在sqlplus中修改联机日志的路径和名称,以免在后面的open resetlogs报错:具体命令如下:

alter database rename file '/u01/oracle/oradata/fcard/redo01.log' to '/trunkbow/oracle/oradata/fcard/redo01.log' ;

alter database rename file '/u01/oracle/oradata/fcard/redo02.log' to '/trunkbow/oracle/oradata/fcard/redo02.log' ;

alter database rename file '/u01/oracle/oradata/fcard/redo03.log' to '/trunkbow/oracle/oradata/fcard/redo03.log' ;

 

rman> recover database;

 

rman>alter database  open resetlogs;

 

 

异地恢复rman 需要 盘阵节点不一样,我们需要一下几个方面: 

1 .  作软连接  ln -s   source    target

2. 恢复控制文件,到mount 状态

3. alter database rename  file  ' '  to  ' ' ;     --- 改变日志文件的路径,名称

4.  set newname for  datafile   ''   to  ''  ;

      restore database ;

       switch  datafile all;

  5.  recover

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/66233/viewspace-991056/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/66233/viewspace-991056/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值