您的位置:首页 > 数据库 > Oracle

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

2017-05-02 10:13 495 查看

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 dismounted
Oracle instance shut down

RMAN>

RMAN>

RMAN> startup nomount;

connected to target database (not started)
Oracle instance started

Total System Global Area   10054782976 bytes

Fixed Size                     2261888 bytes
Variable Size               3992980608 bytes
Database Buffers            6039797760 bytes
Redo Buffers                  19742720 bytes

RMAN> exit


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

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

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/oracle/app/oracle/fast_recovery_area/powerdes/control02.ctl

SQL>


去预发布库上,恢复控制文件,在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-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=5665 device type=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 26-APR-17

RMAN>


5、将预发布库启动到mount

alter database mount;
RMAN> alter database mount;

database mounted
released channel: ORA_DISK_1

RMAN>


6、开始注册备份集

命令:

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

执行过程

RMAN> catalog start with '/oracle/2017-04-22/';

Starting implicit crosscheck backup at 26-APR-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=5665 device type=DISK
Crosschecked 94 objects
Finished implicit crosscheck backup at 26-APR-17

Starting implicit crosscheck copy at 26-APR-17
using channel ORA_DISK_1
Crosschecked 2 objects
Finished implicit crosscheck copy at 26-APR-17

searching for all files in the recovery area
cataloging files...
no files cataloged

searching 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.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9452.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9457.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9465.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9460.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9462.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9447.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9464.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9455.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9448.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9471.bak
File Name: /oracle/2017-04-22/c-3391761643-20170422-01
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9456.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9469.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9446.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9463.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9468.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9459.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9451.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9454.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9450.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9453.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9461.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9470.bak
File Name: /oracle/2017-04-22/full_POWERDES_20170422_9472.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9445.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9458.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9473.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9466.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9449.bak
File Name: /oracle/2017-04-22/rman_backup.log
File Name: /oracle/2017-04-22/c-3391761643-20170422-00

Do you really want to catalog the above files (enter YES or NO)? YES
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9467.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9452.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9457.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9465.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9460.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9462.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9447.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9464.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9455.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9448.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9471.bak
File Name: /oracle/2017-04-22/c-3391761643-20170422-01
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9456.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9469.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9446.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9463.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9468.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9459.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9451.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9454.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9450.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9453.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9461.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9470.bak
File Name: /oracle/2017-04-22/full_POWERDES_20170422_9472.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9445.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9458.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9473.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9466.bak
File Name: /oracle/2017-04-22/arch_POWERDES_20170422_9449.bak
File Name: /oracle/2017-04-22/c-3391761643-20170422-00

List of Files Which Where Not Cataloged
=======================================
File Name: /oracle/2017-04-22/rman_backup.log
RMAN-07517: Reason: The file header is corrupted

RMAN>


7、进行restore database恢复操作

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

命令:

restore database;


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

RMAN> restore database;

Starting restore at 26-APR-17
using channel ORA_DISK_1

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

RMAN>


8、开始recover database操作

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

恢复命令:

recover database


执行过程:

RMAN>  recover database;

Starting recover at 26-APR-17
using channel ORA_DISK_1

starting media recovery

channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=9376
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=9377
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=9378
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=9379
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=9380
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=9381
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=9382
channel ORA_DISK_1: reading from backup piece /oracle/2017-04-22/arch_POWERDES_20170422_9473.bak
channel ORA_DISK_1: piece handle=/oracle/2017-04-22/arch_POWERDES_20170422_9473.bak tag=TAG20170422T051849
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9376_dhzz913r_.arc thread=1 sequence=9376
channel 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=942313896
archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9377_dhzz913t_.arc thread=1 sequence=9377
channel 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=942313896
archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9378_dhzz912h_.arc thread=1 sequence=9378
channel 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=942313897
archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9379_dhzz913q_.arc thread=1 sequence=9379
channel 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=942313896
archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9380_dhzz912j_.arc thread=1 sequence=9380
channel 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=942313896
archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9381_dhzz98d2_.arc thread=1 sequence=9381
channel 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=942313898
archived log file name=/oracle/app/oracle/fast_recovery_area/POWERDES/archivelog/2017_04_26/o1_mf_1_9382_dhzz98f4_.arc thread=1 sequence=9382
channel 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=942313896
unable to find archived log
archived log thread=1 sequence=9383
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 04/26/2017 09:51:48
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 9383 and starting SCN of 14264134636

RMAN>


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

执行恢复到SCN点:

RMAN> recover database until scn 14264134636;

Starting recover at 26-APR-17
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:01

Finished recover at 26-APR-17

RMAN>


附带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 opened

RMAN>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: