异地恢复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/