li
  当前位置:主页 > 备份恢复 > 文章内容
li
恢复之使用非当前控制文件恢复只读表空间(二)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:8  
本文章共3011字,分2页,当前第1页,快速翻页:
 

如果只读表空间存放在只读物理设置上,那么使用备份的控制文件恢复时可能会报错。Oracle在文章中介绍的方法除了上面一篇文章中介绍的使用ALTER DATABASE DATAFILE OFFLINE命令之外,还包括了一个选择正确的控制文件的方法,但是我发现这种方法并没有解决问题。


Oracle文档中原文如下:

You have these alternatives for recovering read-only and slow media when using a backup control file:

Take datafiles from read-only tablespaces offline before doing recovery with a backup control file, and then bring the files online at the end of media recovery.

Use the correct version of the control file for the recovery. If the tablespace will be read-only when recovery completes, then the control file must be from a time when the tablespace was read-only. Similarly, if the tablespace will be read/write at the end of recovery, then the control file must be from a time when the tablespace was read/write.

根据文档上的描述,我选择USERS表空间设置为READ ONLY之后的控制文件就可以了。

下面利用昨天的备份继续进行测试:

SQL> CONN /@TEST AS SYSDBA
已连接。
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> HOST COPY F:ORACLEBACKUPTEST20060418CONTROL1.BAK F:ORACLEORADATATESTCONTROL01.CTL

SQL> HOST COPY F:ORACLEBACKUPTEST20060418CONTROL1.BAK F:ORACLEORADATATESTCONTROL02.CTL

SQL> HOST COPY F:ORACLEBACKUPTEST20060418CONTROL1.BAK F:ORACLEORADATATESTCONTROL03.CTL

SQL> HOST COPY F:ORACLEBACKUPTEST20060418*.DBF F:ORACLEORADATATEST

SQL> HOST COPY F:ORACLEBACKUPTEST20060418*.LOG F:ORACLEORADATATEST

SQL> STARTUP MOUNT
ORACLE 例程已经启动。

Total System Global Area 76619308 bytes
Fixed Size 454188 bytes
Variable Size 50331648 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE;
ORA-00283: 恢复会话因错误而取消
ORA-01114: 将块写入文件 5 时出现 IO 错误 (块 # 1)
ORA-01110: 数据文件 5: 'F:ORACLEORADATATESTUSERS01.DBF'
ORA-27091: skgfqio: 无法进行 I/O 操作
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 5) 拒绝访问。

错误的出现是意料之中的,由于使用了备份的控制文件,且控制文件备份时,USERS表空间还不是只读状态,因此必然会出现错误。

按照文档上的描述,如果选择一个表空间处于READ ONLY状态时的控制文件,则可以避免上面的错误。下面用CONTROL2.BAK进行测试,这个控制文件是在设置了USERS表空间为只读后备份的:

IXDBA.NET技术社区

SQL> SHUTDOWN IMMEDIATE
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> HOST COPY F:ORACLEBACKUPTEST20060418CONTROL2.BAK F:ORACLEORADATATESTCONTROL01.CTL

SQL> HOST COPY F:ORACLEBACKUPTEST20060418CONTROL2.BAK F:ORACLEORADATATESTCONTROL02.CTL

SQL> HOST COPY F:ORACLEBACKUPTEST20060418CONTROL2.BAK F:ORACLEORADATATESTCONTROL03.CTL

SQL> HOST COPY F:ORACLEBACKUPTEST20060418*.DBF F:ORACLEORADATATEST

SQL> HOST COPY F:ORACLEBACKUPTEST20060418*.LOG F:ORACLEORADATATEST

SQL> STARTUP MOUNT
ORACLE 例程已经启动。

Total System Global Area 76619308 bytes
Fixed Size 454188 bytes
Variable Size 50331648 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes



阅读更多内容1 · 2 · 下一页>>


  上一篇: 恢复之恢复操作的中断   下一篇: 恢复之利用RESETLOGS之前的备份进...
li
 §相关评论  
 热点文章

·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 编辑推荐
·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 相关篇章
·恢复之恢复操作的中断
·恢复之不可恢复操作后的恢复(一...
·恢复之不可恢复操作后的恢复(三...
·恢复之使用非当前控制文件恢复只...
·恢复过程中的ORA-1113错误
·恢复之使用非当前控制文件恢复只...
·恢复之缺失归档日志文件
·恢复之归档日志文件破损(一)
·恢复过程中的ORA-1113错误(二)
·恢复之归档日志文件破损(二)
·恢复之利用RESETLOGS之前的备份进...
·恢复之利用RESETLOGS之前的备份进...
·恢复之不可恢复操作后的恢复(二...
·恢复之利用RESETLOGS之前的备份进...
·恢复之利用RESETLOGS之前的备份进...
·恢复之数据字典和控制文件不一致...
·恢复之非归档模式恢复到其他位置
·恢复之数据字典和控制文件不一致...
·恢复之非归档模式下的恢复
·恢复之基于改变的不完整恢复
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接