ORACLE 在AZURE云上准备预发布数据库环境

来源:互联网 发布:windows工业版 编辑:程序博客网 时间:2024/06/05 19:05

1,搭建准备

需要搭建一个预发布环境,因为线上采用的是rman备份,所以会有rman备份集合,但是rman出来的备份集合,每次恢复过程中都会出现各种各样的细节问题,最近数据库升级了小版本号,到了11.2.0.4,所以记录下来这次rman的恢复过程,以备后来参考,大概流程是
(1)copy备份集合到临时库;
(2)关闭临时库
(3)恢复控制文件
(4)注册备份集合目录
(5)restore database、recovery database;
(6)open打开数据库



2、去生产环境中copy备份文件

去备份文件服务器上,拷贝,需要拷贝数据集、控制文件到临时库

拷贝备份集合,这里包括了备份的归档日志、控制文件、数据文件等等:scp -r 2017-04-22 10.10.10.115:/data/

然后到临时库服务器,赋予Oracle执行权限:chown -R oracle.oinstall /data/*



3、关闭临时库,并以nomount方式打开

RMAN> shutdown immediate;database dismountedOracle instance shut downRMAN> RMAN> RMAN> startup nomount;connected to target database (not started)Oracle instance startedTotal System Global Area   10054782976 bytesFixed Size                     2261888 bytesVariable Size               3992980608 bytesDatabase Buffers            6039797760 bytesRedo Buffers                  19742720 bytesRMAN> exit



4、在临时库上恢复控制文件

去生产环境查询控制文件路径

SQL> select name from v$controlfile;NAME--------------------------------------------------------------------------------/oracle/app/oracle/fast_recovery_area/powerdes/control02.ctlSQL> 

去预发布库上,恢复控制文件,在rman命令行界面,执行如下命令
恢复命令:

restore controlfile to '/oracle/app/oracle/fast_recovery_area/powerdes/control02.ctl' from '/oracle/2017-04-22/c-3391761643-20170422-01';

执行过程

RMAN> restore controlfile to '/oracle/app/oracle/fast_recovery_area/powerdes/control02.ctl' from '/oracle/2017-04-22/c-3391761643-20170422-01';Starting restore at 26-APR-17using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=5665 device type=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01Finished restore at 26-APR-17RMAN> 



5、将预发布库启动到mount

alter database mount;    RMAN> alter database mount;database mountedreleased channel: ORA_DISK_1RMAN>



6、开始注册备份集

命令:

catalog start with ‘/oracle/2017-04-22/’;

执行过程

RMAN> catalog start with '/oracle/2017-04-22/';Starting implicit crosscheck backup at 26-APR-17allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=5665 device type=DISKCrosschecked 94 objectsFinished implicit crosscheck backup at 26-APR-17Starting implicit crosscheck copy at 26-APR-17using channel ORA_DISK_1Crosschecked 2 objectsFinished implicit crosscheck copy at 26-APR-17searching for all files in the recovery areacataloging files...no files catalogedsearching for all files that match the pattern /oracle/2017-04-22/List of Files Unknown to the Database=====================================File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9467.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9452.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9457.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9465.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9460.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9462.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9447.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9464.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9455.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9448.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9471.bakFile Name: /oracle/2017-04-22/c-3391761643-20170422-01File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9456.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9469.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9446.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9463.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9468.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9459.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9451.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9454.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9450.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9453.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9461.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9470.bakFile Name: /oracle/2017-04-22/full_POWERDES_20170422_9472.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9445.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9458.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9473.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9466.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9449.bakFile Name: /oracle/2017-04-22/rman_backup.logFile Name: /oracle/2017-04-22/c-3391761643-20170422-00Do you really want to catalog the above files (enter YES or NO)? YEScataloging files...cataloging doneList of Cataloged Files=======================File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9467.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9452.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9457.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9465.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9460.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9462.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9447.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9464.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9455.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9448.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9471.bakFile Name: /oracle/2017-04-22/c-3391761643-20170422-01File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9456.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9469.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9446.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9463.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9468.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9459.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9451.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9454.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9450.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9453.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9461.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9470.bakFile Name: /oracle/2017-04-22/full_POWERDES_20170422_9472.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9445.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9458.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9473.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9466.bakFile Name: /oracle/2017-04-22/arch_POWERDES_20170422_9449.bakFile Name: /oracle/2017-04-22/c-3391761643-20170422-00List of Files Which Where Not Cataloged=======================================File Name: /oracle/2017-04-22/rman_backup.log  RMAN-07517: Reason: The file header is corruptedRMAN> 




7、进行restore database恢复操作

接下来开始执行restore恢复操作,将数据从备份集写入到磁盘上的数据文件里面,还原已经备份的数据文件

命令:

restore database;

执行过程,执行时间比较长,可以看后台alert日志了解具体进展:

RMAN> restore database;Starting restore at 26-APR-17using channel ORA_DISK_1channel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to /home/oradata/powerdes/system01.dbfchannel ORA_DISK_1: restoring datafile 00002 to /home/oradata/powerdes/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00003 to /home/oradata/powerdes/undotbs01.dbfchannel ORA_DISK_1: restoring datafile 00004 to /home/oradata/powerdes/users01.dbfchannel ORA_DISK_1: restoring datafile 00005 to /home/oradata/powerdes/powerdesk01.dbfchannel ORA_DISK_1: restoring datafile 00006 to /home/oradata/powerdes/plas01.dbfchannel ORA_DISK_1: restoring datafile 00007 to /home/oradata/powerdes/pl01.dbfchannel ORA_DISK_1: restoring datafile 00008 to /home/oradata/powerdes/help01.dbfchannel ORA_DISK_1: restoring datafile 00009 to /home/oradata/powerdes/adobelc01.dbfchannel ORA_DISK_1: restoring datafile 00010 to /home/oradata/powerdes/sms01.dbfchannel ORA_DISK_1: restoring datafile 00011 to /home/oradata/powerdes/plcrm01.dbfchannel ORA_DISK_1: restoring datafile 00012 to /home/oradata/powerdes/powerdesk02.dbfchannel ORA_DISK_1: restoring datafile 00013 to /home/oradata/powerdes/datagm01.dbfchannel ORA_DISK_1: restoring datafile 00014 to /home/oradata/powerdes/plimp01.DBFchannel ORA_DISK_1: restoring datafile 00015 to /home/oradata/powerdes/dwetl01.DBFchannel ORA_DISK_1: restoring datafile 00016 to /home/oradata/powerdes/dw02.DBFchannel ORA_DISK_1: restoring datafile 00017 to /home/oradata/powerdes/timdba01.DBFchannel ORA_DISK_1: restoring datafile 00018 to /home/oradata/powerdes/users02.dbfchannel ORA_DISK_1: restoring datafile 00019 to /home/oradata/powerdes/system02.dbfchannel ORA_DISK_1: restoring datafile 00020 to /home/oradata/powerdes/powerdesk03.dbfchannel ORA_DISK_1: restoring datafile 00021 to /home/oradata/powerdes/timdba02.dbfchannel ORA_DISK_1: reading from backup piece /oracle/2017-04-22/full_POWERDES_20170422_9472.bakchannel ORA_DISK_1: piece handle=/oracle/2017-04-22/full_POWERDES_20170422_9472.bak tag=TAG20170422T034917channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:54:06Finished restore at 26-APR-17RMAN> 




8、开始recover database操作

应用归档日志恢复数据文件

恢复命令:

recover database

执行过程:

RMAN>  recover database; Starting recover at 26-APR-17using channel ORA_DISK_1starting media recoverychannel ORA_DISK_1: starting archived log restore to default destinationchannel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=9376channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=9377channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=9378channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=9379channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=9380channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=9381channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=9382channel ORA_DISK_1: reading from backup piece /oracle/2017-04-22/arch_POWERDES_20170422_9473.bakchannel ORA_DISK_1: piece handle=/oracle/2017-04-22/arch_POWERDES_20170422_9473.bak tag=TAG20170422T051849channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:15archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9376_dhzz913r_.arc thread=1 sequence=9376channel default: deleting archived log(s)archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9376_dhzz913r_.arc RECID=12853 STAMP=942313896archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9377_dhzz913t_.arc thread=1 sequence=9377channel default: deleting archived log(s)archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9377_dhzz913t_.arc RECID=12852 STAMP=942313896archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9378_dhzz912h_.arc thread=1 sequence=9378channel default: deleting archived log(s)archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9378_dhzz912h_.arc RECID=12857 STAMP=942313897archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9379_dhzz913q_.arc thread=1 sequence=9379channel default: deleting archived log(s)archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9379_dhzz913q_.arc RECID=12855 STAMP=942313896archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9380_dhzz912j_.arc thread=1 sequence=9380channel default: deleting archived log(s)archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9380_dhzz912j_.arc RECID=12856 STAMP=942313896archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9381_dhzz98d2_.arc thread=1 sequence=9381channel default: deleting archived log(s)archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9381_dhzz98d2_.arc RECID=12858 STAMP=942313898archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9382_dhzz98f4_.arc thread=1 sequence=9382channel default: deleting archived log(s)archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9382_dhzz98f4_.arc RECID=12854 STAMP=942313896unable to find archived logarchived log thread=1 sequence=9383RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 04/26/2017 09:51:48RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 9383 and starting SCN of 14264134636RMAN> 

看到有报错信息,需要将缺失的归档日志从云上的原始备份库copy到本地自己机房的oracle服务器上,或者直接恢复到SCN点13990495654上,这里因为是恢复到临时库,所以选择直接恢复到SCN的13990495654点上,命令为recover database until scn 13990495654;

执行恢复到SCN点:

RMAN> recover database until scn 14264134636;Starting recover at 26-APR-17using channel ORA_DISK_1starting media recoverymedia recovery complete, elapsed time: 00:00:01Finished recover at 26-APR-17RMAN> 

附带recovery过程报错处理:
报错信息:

db_recovery_file_dest_size of 15360 MB is0.21% used. This is a
user-specified limit on the amount of spacethat will be used by this
database for recovery-related files, anddoes not reflect the amount of
space available in the underlyingfilesystem or ASM diskgroup.

处理方案:

alter system set db_recovery_file_dest_size= 50g scope=both;



9、打开数据库

然后使用resetlogs打开数据库,成功了,这里需要使用resetlogs方式打开,否则会报错。

RMAN> alter database open resetlogs;database openedRMAN> 
1 0