RMAN学习-数据文件损坏

在SCOTT模式下创建一个表:
  create table test01 as select rownum rn from dual connect by rownum <= 1000;

  update test01 set rn = rn*2;

然后在RMAN中使用backup database plus archivelog做一个备份之后关闭数据库。

缺省情况下test01表位于表空间USERS01。将数据文件移动到其他位置。

启动数据库时,发生错误:
SQL> startup
ORACLE 例程已经启动。


Total System Global Area 2488635392 bytes
Fixed Size                  2798928 bytes
Variable Size             721423024 bytes
Database Buffers         1744830464 bytes
Redo Buffers               19582976 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'C:\ORACLE\ORADATA\ORCL\USERS01.DBF'

进入RMAN, 使用list backup查看现有的备份

  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 191358074  13-1月 -15 C:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
  2       Full 191358074  13-1月 -15 C:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF
  3       Full 191358074  13-1月 -15 C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
  5       Full 191358074  13-1月 -15 C:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
  6       Full 191358074  13-1月 -15 C:\ORACLE\ORADATA\ORCL\USERS01.DBF
可以看到, 缺失的数据文件编号是6。

RMAN中输入命令:
RMAN> restore datafile 6;


启动 restore 于 13-1月 -15
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=62 设备类型=DISK


通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00006 还原到 C:\ORACLE\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\20
15_01_13\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP
通道 ORA_DISK_1: 段句柄 = C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\2015_01_13
\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP 标记 = TAG20150113T202605
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 13-1月 -15


RMAN> recover datafile 6;


启动 recover 于 13-1月 -15
使用通道 ORA_DISK_1


正在开始介质的恢复
介质恢复完成, 用时: 00:00:00


完成 recover 于 13-1月 -15

RMAN> alter database open;



至此, 数据文件恢复完成。

我们也可以指定恢复的数据文件为其他名字,使用如下RMAN脚本

 set newname for datafile 6 to 'c:\users01.dbf';  --将数据文件恢复至其他物理位置


run{
startup mount
set newname for datafile 6 to 'c:\users01.dbf'; 
restore datafile 6; 
switch datafile 6;
recover datafile 6;
alter database open;
}


RMAN> run{
2> startup mount
3> set newname for datafile 6 to 'F:\users01.dbf';
4> restore datafile 6;
5> switch datafile 6;
6> recover datafile 6;
7> alter database open;
8> }


Oracle 实例已启动
数据库已装载


系统全局区域总计    2488635392 字节


Fixed Size                     2798928 字节
Variable Size                721423024 字节
Database Buffers            1744830464 字节
Redo Buffers                  19582976 字节


正在执行命令: SET NEWNAME


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


通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00006 还原到 F:\users01.dbf
通道 ORA_DISK_1: 正在读取备份片段 C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\20
15_01_13\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP
通道 ORA_DISK_1: 段句柄 = C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\2015_01_13
\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP 标记 = TAG20150113T202605
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 13-1月 -15


数据文件 6 已转换成数据文件副本
输入数据文件副本 RECID=2 STAMP=868913855 文件名=F:\USERS01.DBF


启动 recover 于 13-1月 -15
使用通道 ORA_DISK_1


正在开始介质的恢复
介质恢复完成, 用时: 00:00:00


完成 recover 于 13-1月 -15


已处理语句

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

转载于:http://blog.itpub.net/8520577/viewspace-1400773/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值