oracle rman异机恢复数据库

一、操作环境:windows server 2008 r2 oracle 11g 数据库安装路径E:\app\Administrator、实例名orcl

二、备份情况:rman每周日全量0级别备份,每周一至周六1、2级备份,备份包含控制文件、归档日志

三、尝试异机恢复数据库

1、在新机器上安装数据库,保持按照路径和版本与原数据库一致,不安装实例

2、安装完毕后手动新建必须的目录,其他目录可以后期再建

E:\app\Administrator\oradata\orcl 

E:\app\Administrator\recovery_area\orcl 

3、设置环境变量

set ORACLE_HOME=E:\app\Administrator\product\11.2.0\dbhome_1

set ORACLE_SID=orcl

4、创建实例

oradim -new -sid orcl

5、连接到rman管理器

rman target /

6、启动dummy实例恢复spfile

RMAN> startup nomount

RMAN> restore spfile from 'E:\rman\config\2020_07_02\O1_MF_S_1044666041_HHSJ9SV4_.BKP';

7、关闭dummy实例重新用恢复后的spfile启动

RMAN> shutdown immediate;

RMAN> startup force nomount;

8、恢复控制文件

RMAN> restore controlfile from 'E:\rman\config\2020_07_02\O1_MF_S_1044666041_HHSJ9SV4_.BKP';

9、mount数据库

RMAN> alter database mount;

10、编制rman备份文件目录和归档日志,如果要完全恢复到最新,可以事先拷贝rman备份时间点后的所有归档日志和在线日志redo*.log(select * from v$logfile查询路径)到相应目录下,不然只能恢复到rman备份的时间点

RMAN> catalog start with 'E:\rman\data\this_week';

RMAN> catalog start with 'E:\app\Administrator\recovery_area\orcl\ARCHIVELOG\2020_07_02';

11、还原恢复数据库

RMAN> restore database;

RMAN> recover database;

12、打开数据库,如果非完全恢复必须加resetlogs参数,不然会提示报错

RMAN> alter database open;

RMAN> alter database open resetlogs;

13、配置监听程序,重启监听,完成恢复

 

附:执行过程参考


C:\Users\Administrator>oradim -new -sid orcl
实例已创建。

C:\Users\Administrator>rman target /

恢复管理器: Release 11.2.0.4.0 - Production on 星期三 7月 1 09:02:10 2020

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

已连接到目标数据库 (未启动)

RMAN>  startup nomount

启动失败: ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITORCL.ORA'

在没有参数文件的情况下启动 Oracle 实例以检索 spfile
Oracle 实例已启动

系统全局区域总计    1068937216 字节

Fixed Size                     2288080 字节
Variable Size                285214256 字节
Database Buffers             775946240 字节
Redo Buffers                   5488640 字节

RMAN> restore spfile from 'E:\rman\config\2020_07_02\O1_MF_S_1044666041_HHSJ9SV4_.BKP';

启动 restore 于 01-7月 -20
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=429 设备类型=DISK

通道 ORA_DISK_1: 正在从 AUTOBACKUP E:\rman\config\2020_07_02\O1_MF_S_1044666041_HHSJ9SV4_.BKP 还原 spfile
通道 ORA_DISK_1: 从 AUTOBACKUP 还原 SPFILE 已完成
完成 restore 于 01-7月 -20

RMAN> shutdown immediate;

Oracle 实例已关闭

RMAN> startup force nomount;

Oracle 实例已启动

系统全局区域总计   24585801728 字节

Fixed Size                     2292568 字节
Variable Size               6308234408 字节
Database Buffers           18253611008 字节
Redo Buffers                  21663744 字节

RMAN> restore controlfile from 'E:\rman\config\2020_07_02\O1_MF_S_1044666041_HHSJ9SV4_.BKP';

启动 restore 于 01-7月 -20
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=63 设备类型=DISK

通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\CONTROL02.CTL
完成 restore 于 01-7月 -20

RMAN> alter database mount;

数据库已装载
释放的通道: ORA_DISK_1

RMAN>  catalog start with 'E:\rman\data\this_week';

启动 implicit crosscheck backup 于 01-7月 -20
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=63 设备类型=DISK
已交叉检验的 14 对象
完成 implicit crosscheck backup 于 01-7月 -20

启动 implicit crosscheck copy 于 01-7月 -20
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 01-7月 -20

搜索恢复区中的所有文件
正在编制文件目录...
没有为文件编制目录

搜索与样式 E:\rman\data\this_week 匹配的所有文件

数据库未知文件的列表
=====================================
文件名: E:\RMAN\DATA\this_week\INC0_03V3VB1T_20200629
文件名: E:\RMAN\DATA\this_week\INC0_04V3VB3A_20200629
文件名: E:\RMAN\DATA\this_week\INC1__0AV4618I_20200701
文件名: E:\RMAN\DATA\this_week\INC1__0BV4618L_20200701
文件名: E:\RMAN\DATA\this_week\INC1__0CV4619O_20200701
文件名: E:\RMAN\DATA\this_week\INC2__06V40OGH_20200630
文件名: E:\RMAN\DATA\this_week\INC2__07V40OGL_20200630
文件名: E:\RMAN\DATA\this_week\INC2__08V40OHO_20200630
文件名: E:\RMAN\DATA\this_week\INC2__0EV48LKH_20200702
文件名: E:\RMAN\DATA\this_week\INC2__0FV48LKL_20200702
文件名: E:\RMAN\DATA\this_week\INC2__0GV48LLO_20200702

是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: E:\RMAN\DATA\this_week\INC0_03V3VB1T_20200629
文件名: E:\RMAN\DATA\this_week\INC0_04V3VB3A_20200629
文件名: E:\RMAN\DATA\this_week\INC1__0AV4618I_20200701
文件名: E:\RMAN\DATA\this_week\INC1__0BV4618L_20200701
文件名: E:\RMAN\DATA\this_week\INC1__0CV4619O_20200701
文件名: E:\RMAN\DATA\this_week\INC2__06V40OGH_20200630
文件名: E:\RMAN\DATA\this_week\INC2__07V40OGL_20200630
文件名: E:\RMAN\DATA\this_week\INC2__08V40OHO_20200630
文件名: E:\RMAN\DATA\this_week\INC2__0EV48LKH_20200702
文件名: E:\RMAN\DATA\this_week\INC2__0FV48LKL_20200702
文件名: E:\RMAN\DATA\this_week\INC2__0GV48LLO_20200702


RMAN>  catalog start with 'E:\app\Administrator\recovery_area\orcl\ARCHIVELOG\2020_07_02';

搜索与样式 E:\app\Administrator\recovery_area\orcl\ARCHIVELOG\2020_07_02 匹配的
所有文件

数据库未知文件的列表
=====================================
文件名: E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_02\O1_MF_1_939_HHT919Z1_.ARC
文件名: E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_02\O1_MF_1_940_HHT91BDH_.ARC

是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_02\O1_MF_1_939_HHT919Z1_.ARC
文件名: E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_02\O1_MF_1_940_HHT91BDH_.ARC

RMAN>  restore database;

启动 restore 于 01-7月 -20
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 E:\RMAN\DATA\THIS_WEEK\INC0_03V3VB1T_20200629
通道 ORA_DISK_1: 段句柄 = E:\RMAN\DATA\THIS_WEEK\INC0_03V3VB1T_20200629 标记 = SUNDAY_INC0
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:01:25
完成 restore 于 01-7月 -20

RMAN> recover database;

启动 recover 于 01-7月 -20
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始还原增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
数据文件 00001 的还原目标: E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
数据文件 00002 的还原目标: E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
数据文件 00003 的还原目标: E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
数据文件 00004 的还原目标: E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 E:\RMAN\DATA\THIS_WEEK\INC1__0BV4618L_20200701
通道 ORA_DISK_1: 段句柄 = E:\RMAN\DATA\THIS_WEEK\INC1__0BV4618L_20200701 标记 =WEDNESDAY_INC1
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:07
通道 ORA_DISK_1: 正在开始还原增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
数据文件 00001 的还原目标: E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
数据文件 00002 的还原目标: E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
数据文件 00003 的还原目标: E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
数据文件 00004 的还原目标: E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 E:\RMAN\DATA\THIS_WEEK\INC2__0FV48LKL_20200702

通道 ORA_DISK_1: 段句柄 = E:\RMAN\DATA\THIS_WEEK\INC2__0FV48LKL_20200702 标记 =THURSDAY_INC2
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:04

正在开始介质的恢复

线程 1 序列 939 的归档日志已作为文件 E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_02\O1_MF_1_939_HHT919Z1_.ARC 存在于磁盘上
线程 1 序列 940 的归档日志已作为文件 E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_02\O1_MF_1_940_HHT91BDH_.ARC 存在于磁盘上
线程 1 序列 941 的归档日志已作为文件 E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 存在于磁盘上
通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标
通道 ORA_DISK_1: 正在还原归档日志
归档日志线程=1 序列=938
通道 ORA_DISK_1: 正在读取备份片段 E:\RMAN\DATA\THIS_WEEK\INC2__0GV48LLO_20200702

通道 ORA_DISK_1: 段句柄 = E:\RMAN\DATA\THIS_WEEK\INC2__0GV48LLO_20200702 标记 =THURSDAY_INC2
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
归档日志文件名=E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_01\O1_MF_1_938_HHQS7M00_.ARC 线程=1 序列=938
通道 default: 正在删除归档日志
归档日志文件名=E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_01\O1_MF_1_938_HHQS7M00_.ARC RECID=40 STAMP=1044609651
归档日志文件名=E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_02\O1_MF_1_939_HHT919Z1_.ARC 线程=1 序列=939
归档日志文件名=E:\APP\ADMINISTRATOR\RECOVERY_AREA\ORCL\ARCHIVELOG\2020_07_02\O1_MF_1_940_HHT91BDH_.ARC 线程=1 序列=940
归档日志文件名=E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 线程=1 序列=941
介质恢复完成, 用时: 00:00:03
完成 recover 于 01-7月 -20

RMAN> alter database open;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: alter db 命令 (在 07/01/2020 09:24:36 上) 失败
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项

RMAN> alter database open resetlogs;

数据库已打开

RMAN>

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值