li
  当前位置:主页 > 备份恢复 > 文章内容
li
恢复之重建数据文件
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:19  

当碰到损坏的数据文件没有备份,或者备份文件也被损坏的情况。如果数据库是处于归档模式下,且保留着所有的从表空间建立时到现在的归档日志,则可以通过重建数据文件的方式进行恢复。


这种恢复方式首先建立一个新的空数据文件,然后完全利用归档日志来恢复表空间中的数据。

SQL> SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM TEST
*
ERROR 位于第 1 行:
ORA-00376: 此时无法读取文件 5
ORA-01110: 数据文件 5: 'F:ORACLEORADATATESTUSERS01.DBF'


SQL> SELECT * FROM V$RECOVER_FILE;

FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- -------------------- ---------- -------------------
5 OFFLINE OFFLINE 45089058 2006-02-08 20:33:06

SQL> SELECT D.NAME, T.NAME AS TABLESPACE_NAME
2 FROM V$DATAFILE D, V$TABLESPACE T
3 WHERE T.TS# = D.TS#
4 AND D.FILE# = 5;

NAME TABLESPACE_NAME
---------------------------------------- ------------------------------
F:ORACLEORADATATESTUSERS01.DBF USERS

SQL> ALTER DATABASE CREATE DATAFILE 'F:ORACLEORADATATESTUSERS01.DBF'
2 AS 'F:ORACLEORADATATESTUSERS02.DBF';

数据库已更改。

SQL> RECOVER DATAFILE 'F:ORACLEORADATATESTUSERS02.DBF';
ORA-00279: 更改 45038775 (在 02/08/2006 01:49:56 生成) 对于线程 1 是必需的
ORA-00289: 建议: F:ORACLEORADATATESTARCHIVEARC00026.001
ORA-00280: 更改 45038775 对于线程 1 是按序列 # 26 进行的


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
AUTO
已应用的日志。
完成介质恢复。
SQL> ALTER DATABASE DATAFILE 'F:ORACLEORADATATESTUSERS02.DBF' ONLINE;

数据库已更改。

SQL> SELECT COUNT(*) FROM TEST;

COUNT(*)
----------
6288

这个操作需要注意的是:需要表空间创建后所有的归档日志,且控制文件中必须包含受损文件名。另外,这种方式的恢复不能用于SYSTEM表空间。




  上一篇: 恢复之单个控制文件损坏   下一篇: 恢复之还原数据文件
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
 相关篇章
·恢复之单个控制文件损坏
·恢复之丢失全部控制文件以及备份...
·恢复之跨越重建控制文件的恢复
·恢复之利用备份在所有控制文件丢...
·恢复之利用备份在所有控制文件丢...
·恢复之还原归档重做日志
·恢复之利用备份在所有控制文件丢...
·恢复之数据库关闭时的完全恢复
·恢复之利用备份在所有控制文件丢...
·恢复之基于时间的不完整恢复
·恢复之还原数据文件
·备份之归档重做日志备份
·备份之SUSPEND状态下备份
·备份之控制文件备份
·备份之联机表空间备份
·备份之全库一致性备份
·备份之脱机表空间备份
·Oracle提示的优先级最高?——一...
·RMAN备份恢复之SPFILE的恢复(三...
·Oracle数据库远程复制与异地容灾...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接