【Oracle 数据备份恢复】RMAN异机恢复

      源DB: 192.168.100.8
   目标DB: 192.168.100.2
         SID: UDB
  
RMAN异机恢复步骤:
【源DB】:
(1)备份: 利用RMAN备份控制文件,全库和归档日志;

 run{ 

allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
allocate channel d4 type disk;
crosscheck backup;
crosscheck archivelog all;
sql 'alter system archive log current';
backup full database format '/backup/rman/dbf/full__%d_%s_%p_%u.bak';
sql 'alter system archive log current';
backup current controlfile format '/backup/rman/control/control_%s_%p_%t';
crosscheck backup;
delete noprompt expired backup;
delete obsolete;
configure retention policy TO REDUNDANCY 4;
release channel d4;
release channel d3;
release channel d2;
release channel d1;
}

 run{ 

allocate channel d1 type disk;
allocate channel d2 type disk;
sql 'alter system archive log current';
backup archivelog all format '/backup/rman/archivelog/archive_%t_%s' delete all input;
crosscheck archivelog all;
release channel d1;
release channel d2;
}

(2)检查: 检查备份的控制文件,数据文件和归档日志是否有效,时间上保持一致;

ls -lt full.* control.* archive.*  查看时间

(3)拷贝: 将备份集拷贝到目标DB目录

scp * oracle@192.168.100.2:/orashare/rman/

【目标DB】:
(1)创建目录:       根据源DB的目录结构,建立相关目录.

$ORACLE_BASE/admin/$ORACLE_SID/{adump,dpdump,pfile}
$ORACLE_BASE/oradata
$ORACLE_BASE/diag
RMAN备份的恢复目录

(2)注册备份集:    将拷贝过来的RMAN备份集注册到本机的控制文件里面去

RMAN> catalog backuppiece ''/backup/demo_40.dbf'' 注册备份片;
RMAN> catalog start with ''/bak''                                 注册特定目录的所有备份文件;
(3)创建密码文件: 认证的密码文件

cd $ORACLE_HOME/bin
orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle entries=8
cd $ORACLE_HOME/dbs

(4)恢复参数文件: 设置ORACLE_SID环境变量,设置DBID,在nomount状态下,恢复参数文件

startup nomount;
export ORACLE_SID=udb
set dbid=123456789
restore spfile to pfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initdave2.ora' from '/u01/backup/dave_spfile_16m6qtde_1_1_20110309';

(5)恢复控制文件: 设置ORACLE_SID环境变量,设置DBID,在nomount状态下,恢复控制文件

startup nomount;
export ORACLE_SID=udb
set dbid=123456789
restore controlfile from '/u01/backup/ctl_file_15m6qtdc_1_1_20110309';

(6)恢复数据文件: 设置ORACLE_SID环境变量,设置DBID,在mount  状态下,恢复数据文件;

alter database mount;
restore database;
recover database;

(7)打开数据库:   打开数据库修改实例名和DBID

(8)检查数据是否恢复正常

 

原文地址:https://www.cnblogs.com/tango-dg/p/3829125.html