RMAN冷备份异机还原
2015-05-12 22:58
190 查看
1:环境准备在新的服务器上安装ORACLE实例,安装过程中需要注意源服务器与目标服务器的ORACLE_SID一致,另外确保安装路径与源路径一致(不仅是安装目录,甚至包括数据文件、控制文件目录、联机重做日志文件所在目录都要注意)。如果不一致相当麻烦,需要修改spfile。2:RMAN做冷备份使用cold_backup.sh将数据库备份到/u04/migration目录下面mkdir-p/u04/migration
mkdir-p/u04/migration/logcat/u04/migration/cold_backup.sh
3:RMAN做还原操作
1:首先将备份文件拷贝到目标服务器上,如下所示
2:给oracle账号对应目录授予相关权限。
2.1由于一些数据文件位于/u02、/u03、/u04目录下面.在root目录下面创建这几个目录,并授权给ORACLE用户。
mkdir/u02
mkdir/u03
mkdir/u04
chown-Roracle:oinstall/u02/u03/u04
2.2由于安装时选择了“仅安装数据库软件”,所以需要按照源服务器的目录设置下面路径
案例遇到的错误1:
在源数据库查看参数LOG_ARCHIVE_DEST_1,发现联机重做日志的归档日志位于/u04/backup/archive。而目标服务器没有/u04/backup/archive这个目录,需要创建对应的目录。
案例遇到的错误2:
出现上面错误是因为安装时选择了“仅安装数据库软件”,对应的background_dump_dest、audit_file_dest目录都没有,查看pfile文件,创建对应的目录问题解决
案例遇到的错误3:
出现这个错误是因为控制文件路径由于编辑时,不小心将路径给忽略了,实际应该为:restorecontrolfilefrom'/u04/migration/cntrl_16535_1_879337140';
还原过后,对数据库参数进行设置,例如从pfile文件创建spfile。另外,视服务器配置等,调整SGA的一些参数!
参考资料:
http://blog.itpub.net/11411056/viewspace-733456/
http://blog.csdn.net/edwzhang/article/details/8933372
mkdir-p/u04/migration/logcat/u04/migration/cold_backup.sh
exportORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
exportORACLE_SID=SCM2
exportCATALOG=NOCATALOG
exportPATH=$ORACLE_HOME/bin:$PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
rmantarget/log=/u04/migration/log/rman_coldbackup_db_EELSCM2_20150510.log<<EOF
sql'altersystemcheckpoint';
shutdownimmediate;
startupmount;
sql"createpfile=''/u04/migration/pfile`date+%d%m%Y`.ora''fromspfile";
RUN{
ALLOCATECHANNELdisk1DEVICETYPEDISKFORMAT'/u04/migration/%U';
ALLOCATECHANNELdisk2DEVICETYPEDISKFORMAT'/u04/migration/%U';
ALLOCATECHANNELdisk3DEVICETYPEDISKFORMAT'/u04/migration/%U';
BACKUPASCOMPRESSEDBACKUPSETDATABASE;
BACKUPCURRENTCONTROLFILEFORMAT'/u04/migration/cntrl_%s_%p_%t';
RELEASECHANNELdisk1;
RELEASECHANNELdisk2;
RELEASECHANNELdisk3;
}
3:RMAN做还原操作
1:首先将备份文件拷贝到目标服务器上,如下所示
[oracle@DB-Servermigration]$ls-lrt
total25205332
-rw-r-----1oracleoinstall1378779136May1018:564eq6j632_1_1
-rw-r-----1oracleoinstall1971355648May1019:334fq6j6dr_1_1
-rw-r-----1oracleoinstall993918976May1019:524jq6j6v2_1_1
-rw-r-----1oracleoinstall9338880May1019:534mq6j79h_1_1
-rw-r-----1oracleoinstall2445590528May1020:394bq6j5gu_1_1
-rw-r-----1oracleoinstall1682866176May1021:124hq6j6rj_1_1
-rw-r-----1oracleoinstall2082570240May1021:534gq6j6ea_1_1
-rw-r-----1oracleoinstall1440210944May1022:224dq6j629_1_1
-rw-r-----1oracleoinstall21495808May1022:22cntrl_16535_1_879337140
drwxr-xr-x2oracleoinstall4096May1100:20log
-rw-r-----1oracleoinstall6072287232May1100:204aq6j5gu_1_1
-rwxr-xr-x1oracleoinstall814May1101:10cold_backup.sh
-rw-r-----1oracleoinstall2605039616May1101:104cq6j5gu_1_1
-rw-r-----1oracleoinstall1613660160May1101:414kq6j771_1_1
-rw-r-----1oracleoinstall1230159872May1102:054iq6j6tb_1_1
-rw-r-----1oracleoinstall2237693952May1102:484lq6j784_1_1
-rw-r--r--1oracleoinstall1542May1110:03pfile20150510.ora
-rw-r--r--1oracleoinstall195May1111:28restore.sh
[oracle@getlnx14migration]$
2:给oracle账号对应目录授予相关权限。
2.1由于一些数据文件位于/u02、/u03、/u04目录下面.在root目录下面创建这几个目录,并授权给ORACLE用户。
mkdir/u02
mkdir/u03
mkdir/u04
chown-Roracle:oinstall/u02/u03/u04
2.2由于安装时选择了“仅安装数据库软件”,所以需要按照源服务器的目录设置下面路径
[oracle@DB-Serveroracle]$ls
oraInventoryproduct
[oracle@DB-Serveroracle]$mkdiradmin
[oracle@DB-Serveroracle]$cdadmin/
[oracle@DB-Serveradmin]$mkdirSCM2
[oracle@DB-Serveradmin]$cdSCM2/
[oracle@DB-ServerSCM2]$ls
[oracle@DB-ServerSCM2]$mkdirudump
[oracle@DB-ServerSCM2]$mkdiradump
[oracle@DB-ServerSCM2]$mkdircdump
[oracle@DB-ServerSCM2]$mkdirdpdump
[oracle@DB-ServerSCM2]$mkdirpfile
[oracle@DB-ServerSCM2]$mkdirbdump
案例遇到的错误1:
RMAN>@restore.sh
RMAN>run
2>{
3>startuppfile='/u04/migration/pfile20150510.ora'nomount;
4>restorecontrolfilefrom'cntrl_16535_1_879337140';
5>alterdatabasemount;
6>restoredatabase;
7>alterdatabaseopenresetlogs;
8>}
RMAN-00571:===========================================================
RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS===============
RMAN-00571:===========================================================
RMAN-03002:failureofstartupcommandat05/12/201515:48:00
RMAN-04014:startupfailed:ORA-16032:parameterLOG_ARCHIVE_DEST_1destinationstringcannotbetranslated
ORA-07286:sksagdi:cannotobtaindeviceinformation.
Linux-x86_64Error:2:Nosuchfileordirectory
RMAN>
RMAN>**end-of-file**
在源数据库查看参数LOG_ARCHIVE_DEST_1,发现联机重做日志的归档日志位于/u04/backup/archive。而目标服务器没有/u04/backup/archive这个目录,需要创建对应的目录。
SQL>showparameterLOG_ARCHIVE_DEST_1
NAMETYPEVALUE
-----------------------------------------------------------------------------
log_archive_dest_1stringLOCATION=/u04/backup/archive
log_archive_dest_10string
SQL>
案例遇到的错误2:
出现上面错误是因为安装时选择了“仅安装数据库软件”,对应的background_dump_dest、audit_file_dest目录都没有,查看pfile文件,创建对应的目录问题解决
[oracle@DB-Serveroracle]$ls
oraInventoryproduct
[oracle@DB-Serveroracle]$mkdiradmin
[oracle@DB-Serveroracle]$cdadmin/
[oracle@DB-Serveradmin]$mkdirSCM2
[oracle@DB-Serveradmin]$cdSCM2/
[oracle@DB-ServerSCM2]$ls
[oracle@DB-ServerSCM2]$mkdirudump
[oracle@DB-ServerSCM2]$mkdiradump
[oracle@DB-ServerSCM2]$mkdircdump
[oracle@DB-ServerSCM2]$mkdirdpdump
[oracle@DB-ServerSCM2]$mkdirpfile
[oracle@DB-ServerSCM2]$mkdirbdump
案例遇到的错误3:
RMAN>@restore.sh
RMAN>run
2>{
3>startuppfile='/u01/app/oracle/product/10.2.0/db_1/dbs/pfile20150510.ora'nomount;
4>restorecontrolfilefrom'cntrl_16535_1_879337140';
5>alterdatabasemount;
6>restoredatabase;
7>alterdatabaseopenresetlogs;
8>}
Oracleinstancestarted
TotalSystemGlobalArea12884901888bytes
FixedSize2105920bytes
VariableSize9328135616bytes
DatabaseBuffers3506438144bytes
RedoBuffers48222208bytes
Startingrestoreat12-MAY-15
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
allocatedchannel:ORA_DISK_1
channelORA_DISK_1:sid=987devtype=DISK
RMAN-00571:===========================================================
RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS===============
RMAN-00571:===========================================================
RMAN-03002:failureofrestorecommandat05/12/201515:59:27
RMAN-06172:noautobackupfoundorspecifiedhandleisnotavalidcopyorpiece
RMAN>
RMAN>**end-of-file**
RMAN>
出现这个错误是因为控制文件路径由于编辑时,不小心将路径给忽略了,实际应该为:restorecontrolfilefrom'/u04/migration/cntrl_16535_1_879337140';
run
{
startuppfile='/u01/app/oracle/product/10.2.0/db_1/dbs/pfile20150510.ora'nomount;
restorecontrolfilefrom'/u04/migration/cntrl_16535_1_879337140';
alterdatabasemount;
restoredatabase;
alterdatabaseopenresetlogs;
}
还原过后,对数据库参数进行设置,例如从pfile文件创建spfile。另外,视服务器配置等,调整SGA的一些参数!
参考资料:
相关文章推荐
- 利用rman进行异机还原(目录相同)
- oracle 12c RMAN异机恢复还原RAC集群(ASM)为单实例库(文件系统)记录
- rman单机备份异机还原
- 利用rman进行异机还原(目录不同)
- rman 冷备份异机迁移
- 利用rman进行异机还原(目录相同)
- 一次RMAN还原慢的分析
- NBU7.0 RMAN 异机恢复 not found in NetBackup catalog
- 直播通过rman将oracle 12c整库全备后进行异机同目录恢复遇到的小坑
- 将10g RAC库用rman 的方式备份并恢复到异机
- ORACLE 11G没有备份文件参数文件在异机通过rman备份恢复找回被误删的数据
- RMAN - 备份异机恢复
- 【rman】异机恢复——目录不同--set newname datafile
- RMAN 异机duplicate复制数据库
- RMAN 异机 复制数据库
- rman 异机复制数据库
- 使用rman迁移数据库到异机
- Rman备份异机恢复指南
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
- oracle备份恢复之rman恢复到异机