RMAN恢复(1)---丢失关键性数据文件

丢失关键性数据文件时的恢复。

对当前数据库做一次全备:

[oracle@oracle ~]$ rman target /

 

恢复管理器: Release 11.2.0.4.0 - Production on 星期二 10 18 23:00:35 2016

 

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

 

已连接到目标数据库: TEST (DBID=2213267323)

 

RMAN> list backup;

 

使用目标数据库控制文件替代恢复目录

说明与资料档案库中的任何备份都不匹配

 

RMAN> backup as compressed backupset database format '/opt/oracle/backup/db_full_%U';

 

启动 backup 18-10-16

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=30 设备类型=DISK

通道 ORA_DISK_1: 正在启动压缩的全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件

输入数据文件: 文件号=00001 名称=/u01/app/oracle/oradata/test/system01.dbf

输入数据文件: 文件号=00002 名称=/u01/app/oracle/oradata/test/sysaux01.dbf

输入数据文件: 文件号=00005 名称=/u01/app/oracle/oradata/test/example01.dbf

输入数据文件: 文件号=00003 名称=/u01/app/oracle/oradata/test/undotbs01.dbf

输入数据文件: 文件号=00004 名称=/u01/app/oracle/oradata/test/users01.dbf

通道 ORA_DISK_1: 正在启动段 1 18-10-16

 

通道 ORA_DISK_1: 已完成段 1 18-10-16

段句柄=/opt/oracle/backup/db_full_4trin1t4_1_1 标记=TAG20161018T230051 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:36

通道 ORA_DISK_1: 正在启动压缩的全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件

备份集内包括当前控制文件

备份集内包括当前的 SPFILE

通道 ORA_DISK_1: 正在启动段 1 18-10-16

通道 ORA_DISK_1: 已完成段 1 18-10-16

段句柄=/opt/oracle/backup/db_full_4urin204_1_1 标记=TAG20161018T230051 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01

完成 backup 18-10-16

 

RMAN>

RMAN>


使用RMAN恢复分为两个阶段:

restore:从备份中恢复数据文件

recover:使用重做日志或者归档日志进行恢复


场景一: 模拟 system 表空间的数据文件丢失


bb

关闭数据库

bb

启动数据库到mount状态

bb

使用rman进行恢复

[oracle@oracle test]$ rman target /

 

恢复管理器: Release 11.2.0.4.0 - Production on 星期二 10 18 23:06:40 2016

 

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

 

已连接到目标数据库: TEST (DBID=2213267323, 未打开)

 

RMAN> restore datafile 1;

 

启动 restore 18-10-16

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=21 设备类型=DISK

 

通道 ORA_DISK_1: 正在开始还原数据文件备份集

通道 ORA_DISK_1: 正在指定从备份集还原的数据文件

通道 ORA_DISK_1: 将数据文件 00001 还原到 /u01/app/oracle/oradata/test/system01.dbf

通道 ORA_DISK_1: 正在读取备份片段 /opt/oracle/backup/db_full_4trin1t4_1_1

通道 ORA_DISK_1: 段句柄 = /opt/oracle/backup/db_full_4trin1t4_1_1 标记 = TAG20161018T230051

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:00:55

完成 restore 18-10-16

 

RMAN> recover datafile 1

2> ;

 

启动 recover 18-10-16

使用通道 ORA_DISK_1

 

正在开始介质的恢复

介质恢复完成, 用时: 00:00:00

 

完成 recover 18-10-16

 

RMAN>

恢复完成,启动数据库

bb

如果表空间只有一个数据文件,那么除了使用datafile #进行恢复,也可以直接使用表空间进行恢复,如下:

场景二:模拟sysaux01.dbf表空间的数据文件丢失

bb

关闭数据库,触发报错,然后启动数据库到mount状态

bb

使用rman执行恢复

[oracle@oracle test]$ rman target /

 

恢复管理器: Release 11.2.0.4.0 - Production on 星期二 10 18 23:17:59 2016

 

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

 

已连接到目标数据库: TEST (DBID=2213267323, 未打开)

 

RMAN> restore tablespace sysaux;

 

启动 restore 18-10-16

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=17 设备类型=DISK

 

通道 ORA_DISK_1: 正在开始还原数据文件备份集

通道 ORA_DISK_1: 正在指定从备份集还原的数据文件

通道 ORA_DISK_1: 将数据文件 00002 还原到 /u01/app/oracle/oradata/test/sysaux01.dbf

通道 ORA_DISK_1: 正在读取备份片段 /opt/oracle/backup/db_full_4trin1t4_1_1

通道 ORA_DISK_1: 段句柄 = /opt/oracle/backup/db_full_4trin1t4_1_1 标记 = TAG20161018T230051

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:01:17

完成 restore 18-10-16

 

RMAN> recover tablespace sysaux;

 

启动 recover 18-10-16

使用通道 ORA_DISK_1

 

正在开始介质的恢复

介质恢复完成, 用时: 00:00:00

 

完成 recover 18-10-16

 

RMAN>

启动数据库

bb

数据库恢复正常

场景三:模拟undo表空间数据文件丢失

bb

关闭数据库触发报错

bb

前面都是直接启动到mount状态,启动到mount状态的原因是:

1:丢失了关键性数据文件,实例可能会崩溃,在随后的启动时可能也会崩溃,不能被open

2:rman恢复关键性数据文件必须在mount状态下进行

例如下面丢失了undo表空间下的undotbs01.dbf文件,实例启动时崩溃,只能处于mount状态下:

bb

使用RMAN执行恢复

[oracle@oracle test]$ rman target /

 

恢复管理器: Release 11.2.0.4.0 - Production on 星期二 10 18 23:24:05 2016

 

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

 

已连接到目标数据库: TEST (DBID=2213267323, 未打开)

 

RMAN> restore datafile 3;

 

启动 restore 18-10-16

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=20 设备类型=DISK

 

通道 ORA_DISK_1: 正在开始还原数据文件备份集

通道 ORA_DISK_1: 正在指定从备份集还原的数据文件

通道 ORA_DISK_1: 将数据文件 00003 还原到 /u01/app/oracle/oradata/test/undotbs01.dbf

通道 ORA_DISK_1: 正在读取备份片段 /opt/oracle/backup/db_full_4trin1t4_1_1

通道 ORA_DISK_1: 段句柄 = /opt/oracle/backup/db_full_4trin1t4_1_1 标记 = TAG20161018T230051

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:00:16

完成 restore 18-10-16

 

RMAN> recover datafile 3;

 

启动 recover 18-10-16

使用通道 ORA_DISK_1

 

正在开始介质的恢复

介质恢复完成, 用时: 00:00:00

 

完成 recover 18-10-16

 

RMAN>

启动数据库

bb

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29335043/viewspace-2126703/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29335043/viewspace-2126703/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值