做restore时用datafilecopy恢复时,影响数据文件的大小


SQL> alter tablespace test read write;

表空间已更改。

SQL> alter database datafile 6 offline;

数据库已更改。

SQL> alter database datafile 6 online;
alter database datafile 6 online
*
第 1 行出现错误:
ORA-01113: 文件 6 需要介质恢复
ORA-01110: 数据文件 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF'

我们预先看一下恢复使用以前大小的数据拷贝文件:

RMAN> restore preview from datafilecopy until scn 725421 datafile 6;

启动 restore 于 2008-05-21 15:28:16
使用通道 ORA_DISK_1


数据文件副本列表
关键字     文件 S 完成时间            Ckp SCN    Ckp 时间            名称
------- ---- - ------------------- ---------- ------------------- ----
499     6    A 2008-05-05 15:32:16 725421     2008-05-05 14:07:38 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF1

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 05/21/2008 15:26:45 上) 失败
RMAN-06021: FROM DATAFILECCOPY/BACKUPSET 可能未使用存档日志指定

用以前大小的datafilecopy 做恢复:


RMAN> restore from datafilecopy until scn 725421 datafile 6;

启动 restore 于 2008-05-21 15:28:31
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在还原数据文件00006
输入数据文件副本 recid=3 stamp=653931136 文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF1
数据文件 00006 的还原目标: D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF

故障转移到上一个备份

创建数据文件 fno = 6 名称 = D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 05/21/2008 15:28:33 上) 失败
ORA-01119: 创建数据库文件 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF' 时出错
ORA-27038: 所创建的文件已存在
OSD-04010: 指定了 选项, 但文件已经存在

我们看到不能用以前的datafilecopy还原

我们看RMAN选择的还原方式,用当前的datafilecopy和归档进行:


RMAN> restore preview datafile 6;

启动 restore 于 2008-05-21 15:30:45
使用通道 ORA_DISK_1


数据文件副本列表
关键字     文件 S 完成时间            Ckp SCN    Ckp 时间            名称
------- ---- - ------------------- ---------- ------------------- ----
661     6    A 2008-05-21 14:18:29 903795     2008-05-15 15:23:14 +DISK_GROUP2/devdb/datafile/test.313.655309109


已存档的日志副本列表
关键字     Thrd Seq     S 时间下限            名称
------- ---- ------- - ------------------- ----
441     1    14      A 2008-05-15 15:04:48 +DISK_GROUP2/devdb/archivelog/2008_05_19/thread_1_seq_14.305.655117381
442     1    15      A 2008-05-19 09:03:00 +DISK_GROUP2/devdb/archivelog/2008_05_20/thread_1_seq_15.304.655220939
443     1    16      A 2008-05-20 13:48:58 +DISK_GROUP2/devdb/archivelog/2008_05_20/thread_1_seq_16.287.655232693
介质恢复启动 SCN 是 903795
恢复范围必须超出 SCN 903795 才能清除数据文件模糊性
完成 restore 于 2008-05-21 15:30:45

RMAN> restore  datafile 6;

启动 restore 于 2008-05-21 15:32:10
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在还原数据文件00006
输入数据文件副本 recid=9 stamp=655309109 文件名=+DISK_GROUP2/devdb/datafile/test.313.655309109
数据文件 00006 的还原目标: D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF

故障转移到上一个备份

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
正将数据文件00006还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\RMAN\DB_0DJGS3HU_DEVDB_13

故障转移到上一个备份

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
正将数据文件00006还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
通道 ORA_DISK_1: 正在读取备份片段 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST_COPY.DBF

故障转移到上一个备份

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
正将数据文件00006还原到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
通道 ORA_DISK_1: 正在读取备份片段 +DISK_GROUP2/devdb/backupset/2008_05_06/nnndf0_tag20080506t163654_0.303.654021415

故障转移到上一个备份

通道 ORA_DISK_1: 正在还原数据文件00006
输入数据文件副本 recid=3 stamp=653931136 文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF1
数据文件 00006 的还原目标: D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF

故障转移到上一个备份


创建数据文件 fno = 6 名称 = D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 05/21/2008 15:32:20 上) 失败
ORA-01119: 创建数据库文件 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF' 时出错
ORA-27038: 所创建的文件已存在
OSD-04010: 指定了 选项, 但文件已经存在

也不能还原,但我们发现datafile大小发生了变化.


SQL> alter database datafile 6 online;
alter database datafile 6 online
*
第 1 行出现错误:
ORA-01122: 数据库文件 6 验证失败
ORA-01110: 数据文件 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF'
ORA-01200: 638 的实际文件大小小于 1280 块的正确大小

实际上已经还原了datafilecopy中的数据块大小,这个是之前499的datafilecopy.


RMAN> restore from datafilecopy datafile 6;

启动 restore 于 2008-05-21 15:40:13
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在还原数据文件00006
输入数据文件副本 recid=9 stamp=655309109 文件名=+DISK_GROUP2/devdb/datafile/test.313.655309109
数据文件 00006 的还原目标: D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF

故障转移到上一个备份

创建数据文件 fno = 6 名称 = D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 05/21/2008 15:40:14 上) 失败
ORA-01119: 创建数据库文件 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF' 时出错
ORA-27038: 所创建的文件已存在
OSD-04010: 指定了 选项, 但文件已经存在

我们再用当前的datafilecopy还原一次,我们发现数据块和当前一样,只是报需要介质恢复的错误.

SQL> l
  1* alter database datafile 6 online
SQL> /
alter database datafile 6 online
*
第 1 行出现错误:
ORA-01113: 文件 6 需要介质恢复
ORA-01110: 数据文件 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF'

 

SQL> recover datafile 6;
完成介质恢复。

 

SQL> alter tablespace test online;

表空间已更改。

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

转载于:http://blog.itpub.net/175005/viewspace-293437/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值