在练习将数据文件脱机联机时,
首先查找数据文件的编号
select * from v$dbfile;FILE#                  NAME
------------------------------------------------
4                      E:\DEMO\USER01.DBF 
然后对datafile 4 进行脱机OFFLINEalter database datafile 4 offline; alter database datafile 成功。然后再对datafile 4进行联机alter database datafile 4 online;
执行命令有错
在行 1 上开始执行命令时出错:
alter database datafile 4 online
错误报告:
SQL 错误: ORA-01113: 文件 4 需要介质恢复
ORA-01110: 数据文件 4: 'E:\DEMO\USER01.DBF'
01113. 00000 -  "file %s needs media recovery"
*Cause:    An attempt was made to online or open a database with a file that
           is in need of media recovery.
*Action:   First apply media recovery to the file.
请问这是为什么,
并且如何进行介质恢复,
谢谢!!!

解决方案 »

  1.   

    recover datafile 4;alter database datafile 4 online;
      

  2.   

    因为在脱机数据文件的时候系统不会做CHECKPOINT
    这样可能会导致不一致的情况出现
    因此在下次把数据文件联机的时候要进行恢复
      

  3.   

    给你看一下我以前做过的一个实验SQL>alter database datafile 15 offline;   
    数据库已更改 
    SQL>alter database datafile 15 online;   
    ORA-01113:文件15需要介质恢复   
    ORA-01110:数据文件15: 'F:\ORACLE\ORADATA\TEST\BLOCK01.DBF'  
      
    SQL>recover datafile 15;   
    完成介质恢复   
      
    SQL>alter database datafile 15 online;   
    数据库已更改   更详细的内容可以参考下面的链接
    http://blog.csdn.net/wh62592855/archive/2009/10/21/4709403.aspx
    讲的是tablespace offline 和datafile offline的区别
    tablespace offline的时候系统是会做CHECKPOINT的
    因此再次将tablespace online的时候就不需要恢复