ORACLE 恢复单个数据文件 非SYSTEM表空间或者撤销表空间

来源:互联网 发布:狮王红包软件 编辑:程序博客网 时间:2024/05/22 08:00
2009-06-03 11:41

ORACLE 恢复单个数据文件 非SYSTEM表空间或者撤销表空间

ERROR 位于第 1 行:
ORA-01113: 文件 11 需要介质恢复
ORA-01110: 数据文件 11: 'D:\ORACLE\ORADATA\JOSEPH\XWIKI.ORA'

如果出现上述提示,则说明数据文件可能发生损坏的情况,需呀进行恢复。

============================================================

能够进行成功的完全恢复的前提条件:

数据文件的备份

联机重做日志

归档日志

控制文件(控制文件包含归档日志的位置以及当前的系统改变号)

============================================================

按照顺序,对数据文件进行恢复有以下几个步骤:

1,使受损的数据文件脱机

有以下几种命令可以使数据文件脱机

将一个表空间脱机会令ORACLE对该数据文件执行检查点进程,DBWn进程会将用于该表空间的所有脏数据

块写至数据文件,如果数据文件受损,那么写操作就会失败。如果这种情况发生,那么就需要使immediate

命令指示ORACLE不对指定的表空间执行检查点进程。

alter tablespace xxxx offline immediate; 将该表空间爱你的所有数据文件立即脱机,有点恨,慎用!

alter tablespace xxxx offline;将该表空间的所有数据文件脱机,最安全

alter database datafile xxxx offline;将出错的数据文件单独脱机,不安全

2,还原受损的数据文件

将你的备份文件拷贝到受损的数据文件目录中,或者你在其他地方也可以

需要用到:alter database rename file   '原来位置' to '现在位置';

3,恢复受损的收据文件

recover datafile xxxx;

这个过程中需要用到你的联机日志和归档日志,才能进行完全恢复。

如果日志不够完整,则只能恢复部分数据

如果日志不连续,则不能进行恢复。

如果控制文件丢失,那你可就麻烦了,虽然可以恢复,但是非常困难。

例如:恢复数据需要的起始日志序号你没有,那你就完了。别想用这种方法恢复了。呵呵!

4,使已恢复的数据文件联机

脱机的时候执行的那种命令,则联机的时候执行相对应的命令即可。

alter tablespace xxxx offline;

alter database datafile xxxx offline;

原创粉丝点击