ORACLE 11G rman恢复数据库实战纪实
今天领导需要将某天的备份恢复过来到临时库,因为线上采用的是rman备份,所以会有rman备份集合,但是rman出来的备份集合,每次恢复过程中都会出现各种各样的细节问题,都记录下来,以备后来参考,大概流程是
(1)copy备份集合到临时库;
(2)关闭临时库
(3)恢复控制文件
(4)注册备份集合目录
(5)restore database、recovery database;
(6)open打开数据库
1、去生产环境中copy备份文件
去备份文件服务器上,拷贝,需要拷贝数据集、控制文件到临时库
拷贝数据集合:scp -r 2017-02-20 10.10.10.104:/data/
拷贝控制文件:scp c-3391761643-20170220-00 c-3391761643-20170220-01c-3391761643-20170221-00 c-3391761643-20170221-0110.10.10.104:/data/2017-02-20/
然后到临时库服务器,赋予oracle执行权限:chown -R oracle.oinstall *
2、关闭临时库,并以nomount方式打开
shutown immediate;
startup nomount;
3、在临时库上恢复控制文件
去生产环境查询控制文件路径
SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /home/oradata/powerdes/control01.ctl /oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl SQL> |
需要恢复控制文件到如下2个地方
/home/oradata/powerdes/control01.ctl
/oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl
去临时库上,恢复控制文件,在rman命令行界面,执行如下命令
RMAN> restore controlfile to '/home/oradata/powerdes/control01.ctl' from '/data/2017-02-20/c-3391761643-20170221-01' ; RMAN> restore controlfile to '/oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl' from '/data/2017-02-20/c-3391761643-20170221-01' ; |
4、将临时库启动到mount
alter database mount;
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
RMAN>
5、开始注册备份集
命令:catalog start with '/data/2017-02-20/';
注册过程如下:
RMAN> catalog start with '/data/2017-02-20/'; searching for all files that match the pattern /data/2017-02-20/ List of Files Unknown to the Database ===================================== File Name: /data/2017-02-20/rman_backup.log File Name: /data/2017-02-20/c-3391761643-20170220-00 File Name: /data/2017-02-20/arch_POWERDES_20170220_8282.bak File Name: /data/2017-02-20/full_POWERDES_20170220_8281.bak File Name: /data/2017-02-20/arch_POWERDES_20170220_8280.bak File Name: /data/2017-02-20/c-3391761643-20170221-01 File Name: /data/2017-02-20/c-3391761643-20170221-00 File Name: /data/2017-02-20/c-3391761643-20170220-01 Do you really want to catalog the above files (enter YES or NO)? YES cataloging files... cataloging done List of Cataloged Files ======================= File Name: /data/2017-02-20/c-3391761643-20170220-00 File Name: /data/2017-02-20/arch_POWERDES_20170220_8282.bak File Name: /data/2017-02-20/full_POWERDES_20170220_8281.bak File Name: /data/2017-02-20/arch_POWERDES_20170220_8280.bak File Name: /data/2017-02-20/c-3391761643-20170221-01 File Name: /data/2017-02-20/c-3391761643-20170221-00 File Name: /data/2017-02-20/c-3391761643-20170220-01 List of Files Which Where Not Cataloged ======================================= File Name: /data/2017-02-20/rman_backup.log RMAN-07517: Reason: The file header is corrupted RMAN> |
6、进行restore database恢复操作
接下来开始执行restore恢复操作,将数据从备份集写入到磁盘上的数据文件里面,还原已经备份的数据文件
命令:restore database;
执行过程:
RMAN> restore database; Starting restore at 22-FEB-17 using channel ORA_DISK_1 skipping datafile 2; already restored to file /home/oradata/powerdes/sysaux01.dbf skipping datafile 3; already restored to file /home/oradata/powerdes/undotbs01.dbf skipping datafile 4; already restored to file /home/oradata/powerdes/users01.dbf skipping datafile 7; already restored to file /home/oradata/powerdes/pl01.dbf skipping datafile 8; already restored to file /home/oradata/powerdes/help01.dbf skipping datafile 9; already restored to file /home/oradata/powerdes/adobelc01.dbf skipping datafile 10; already restored to file /home/oradata/powerdes/sms01.dbf skipping datafile 11; already restored to file /home/oradata/powerdes/plcrm01.dbf skipping datafile 13; already restored to file /home/oradata/powerdes/datagm01.dbf skipping datafile 15; already restored to file /home/oradata/powerdes/dwetl01.DBF 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 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 00012 to /home/oradata/powerdes/powerdesk02.dbf channel ORA_DISK_1: reading from backup piece /data/2017-02-20/full_POWERDES_20170220_8281.bak channel ORA_DISK_1: piece handle=/data/2017-02-20/full_POWERDES_20170220_8281.bak tag=TAG20170220T030019 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:52:45 Finished restore at 22-FEB-17 RMAN> |
这个过程比较漫长,可以查看后台alert日志,观察是否有异常状况出现:
Reading datafile '/home/oradata/powerdes/plas01.dbf' for corruption at rdba: 0x01800001 (file 6, block 1) Reread (file 6, block 1) found same corrupt data Wed Feb 22 15:44:00 2017 db_recovery_file_dest_size of 15360 MB is 0.21% used. This is a user-specified limit on the amount of space that will be used by this database for recovery-related files, and does not reflect the amount of space available in the underlying filesystem or ASM diskgroup. Wed Feb 22 15:54:24 2017 ALTER SYSTEM SET db_recovery_file_dest_size='30G' SCOPE=BOTH; Wed Feb 22 15:55:45 2017 Full restore complete of datafile 6 /home/oradata/powerdes/plas01.dbf. Elapsed time: 0:24:53 checkpoint is 13990474255 last deallocation scn is 13972822308 Wed Feb 22 15:56:40 2017 Full restore complete of datafile 1 /home/oradata/powerdes/system01.dbf. Elapsed time: 0:25:47 checkpoint is 13990474255 last deallocation scn is 11565967595 Undo Optimization current scn is 13989882678 Wed Feb 22 15:59:06 2017 ALTER SYSTEM SET db_recovery_file_dest_size='50G' SCOPE=BOTH; Wed Feb 22 16:21:34 2017 Full restore complete of datafile 12 /home/oradata/powerdes/powerdesk02.dbf. Elapsed time: 0:50:30 checkpoint is 13990474255 last deallocation scn is 13989700725 Wed Feb 22 16:23:31 2017 Full restore complete of datafile 5 /home/oradata/powerdes/powerdesk01.dbf. Elapsed time: 0:52:39 checkpoint is 13990474255 last deallocation scn is 13989700727 |
7、开始recover database操作
recover database应用归档日志恢复数据文件
RMAN> recover database; Starting recover at 22-FEB-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=23257 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=23258 channel ORA_DISK_1: reading from backup piece /data/2017-02-20/arch_POWERDES_20170220_8282.bak channel ORA_DISK_1: piece handle=/data/2017-02-20/arch_POWERDES_20170220_8282.bak tag=TAG20170220T035456 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:03 archived log file name=/oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2017_02_22/o1_mf_1_23257_dbtm9y5y_.arc thread=1 sequence=23257 channel default: deleting archived log(s) archived log file name=/oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2017_02_22/o1_mf_1_23257_dbtm9y5y_.arc RECID=127500 STAMP=936635712 archived log file name=/oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2017_02_22/o1_mf_1_23258_dbtm9ybt_.arc thread=1 sequence=23258 channel default: deleting archived log(s) archived log file name=/oracle/app/oracle/flash_recovery_area/POWERDES/archivelog/2017_02_22/o1_mf_1_23258_dbtm9ybt_.arc RECID=127499 STAMP=936635710 unable to find archived log archived log thread=1 sequence=23259 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 02/22/2017 16:35:17 RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 23259 and starting SCN of 13990495654 RMAN> |
看到有报错信息,需要将缺失的归档日志从云上的原始备份库copy到本地自己机房的oracle服务器上,或者直接恢复到SCN点13990495654上,这里因为是恢复到临时库,所以选择直接恢复到SCN的13990495654点上,命令为recover database until scn 13990495654;
操作过程如下:
RMAN> recover database until scn 13990495654; Starting recover at 22-FEB-17 using channel ORA_DISK_1 starting media recovery media recovery complete, elapsed time: 00:00:01 Finished recover at 22-FEB-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;
8、打开数据库
# 然后使用resetlogs打开数据库,成功了。 SQL> alter database open resetlogs; Database altered. SQL> |
9、报错记录
RMAN> alter database mount;RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 03/22/2017 18:58:57
ORA-00211: control file does not match previous control files
ORA-00202: control file: '/oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl'RMAN> restore controlfile from '/home/2017-03-22/c-3391761643-20170322-01';Starting restore at 22-MAR-17
using channel ORA_DISK_1channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/oracle/app/oracle/oradata/powerdes/control01.ctl
output file name=/oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl
Finished restore at 22-MAR-17RMAN> alter database mount;database mounted
released channel: ORA_DISK_1RMAN>
ORACLE 11G rman恢复数据库实战纪实相关推荐
- oracle 11g rman catalog,Oracle 11g RMAN复制数据库的测试
RMAN支持两种类型复制:活动数据库复制和基于备份的复制,主要用来建立测试库.分别进行测试 我们把要复制的数据库称为源数据库(SOURCE DB=orcl),复制后的数据库成为目标数据库(TARGET ...
- linux ora 01157,案例:Oracle报错ORA-01157 ORA-01110 数据启动报错RMAN恢复数据库思路
天萃荷净 rman从多份备份中还原操作,运维DBA工程师反映数据库在进行恢复时报错ORA-01157 ORA-01110,分析原因为11号数据文件需要recover 1.数据恢复ORA错误 RMAN& ...
- oracle中 initcpa,oracle 11g rman备份
oracle 11g rman备份 Target库准备工作: 1. 查询DBID C:\Documents and Settings\Administrator>sqlplus /nolog S ...
- bak文件转oracle文件,如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g)...
如何在Oracle 11g中恢复.bak文件(How to restore .bak file in oracle 11g) 我有Oracle 11g备份文件(.bak文件)如何在Oracle 11g ...
- oracle rman catalogo,ORACLE 11g RMAN备份恢复--catalog
rman catalog是为数据备份恢复时,使用恢复目录catalog,与nocatalog的不同是,nocatalog将备份相关的信息记录在了控制文件中,而catalog将备份信息记录在了恢复目录中 ...
- Oracle 11g 中恢复管理器RMAN介绍
这是我平时摘录的笔记,从管理艺术那本书上摘录出来的,放到这里 RMAN 可在数据库服务器的帮助下从数据库内备份数据文件,可构造数据文件映像副本.控制文件和控制文件映像.对当日志 SPFILE 和RMA ...
- oracle 查虚拟路径,Oracle 11g RMAN虚拟私有目录
虚拟私有目录 缺省情况下,RMAN恢复目录的所有用户都有完全的权限来向恢复目录插入,更新与删除元数据.例如,如果管理员管理的两个不相关的数据库共享同一个恢复目录,每个管理员都可以有意或无意的损坏另一个 ...
- Oracle 11g RAC+DG项目实战(共15集)视频
本人购买的视频,原文地址: http://www.boobooke.com/goods-78.html****下载地址:** https://download.csdn.net/download/a9 ...
- oracle用imdp恢复数据库,impdp恢复数据库
万券齐发助力企业上云,爆款产品低至2.2折起! 限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折! 广告 Oracle基础 数据库备份和恢复 原文:Oracle基础 数据库备份 ...
最新文章
- 美团是怎么玩儿AI的?今晚8点揭秘美团超大规模知识图谱--美团大脑
- 损坏防浪涌电插排内部电路
- 在Ubuntu下进行安卓开发遇到“insufficient permissions for device: user in plugdev group; ”问题的解决办法
- Effective Java读书笔记二:枚举和注解
- Teleport 开源堡垒机的使用
- 【原创】MapReduce编程系列之表连接
- MySQL常用函数 一
- xaml 的 intellisense失效的解决办法
- HtmlDom 基础
- 玩转JavaScript OOP[0]——基础类型
- FreeSwitch基础知识
- Unity快速入门教程-手机游戏开发前的准备(手机模拟器Simulator)
- (小柯-java- 基础)
- 环信 android 发送消息,android 环信 集成发送消息崩溃
- 十六进制数据的CRC16校验码自写软件
- 免费css代码下载-Free Css Templates
- Win7开启wifi热点
- fMRI脑影像特征提取——Pearson相关与低阶功能连接LOFC(dpabi+nilearn)
- ooXMLAgile Encryption(一)文档结构
- 2021级高级语言期末考复盘
热门文章
- 数据库锁的详解, 共享锁, 更新锁, 排它锁, 意向锁, 加锁原理
- python的安装目录配置到环境变量的path当中_【转】python 环境变量配置
- findall函数的语法
- 影评人进阶工具:幕布、为知笔记、 Effie 哪个更适合创作?
- 黑马程序员云道页面—巩固html和css(新特性没有使用)
- 在使用数据库对象管理工具新建数据库时,默认自带的模式有哪些? A. public B. sys_catalog C. exam D. sysaudit...
- WebStorm激活码存储
- Silverlight围棋单机版源码介绍
- LVS-DR模式单网段和多网段设置步骤
- 联邦学习算法初探——q-FFL