在一次误操作中,把 data1/oraapp/oradata/orasm/ 中的 USERS03.DBF 删除,把之前的备分copy回去。数据库还是启动不了。
提示:SVRMGR> startup
ORACLE instance started.
Total System Global Area                        689574048 bytes
Fixed Size                                          73888 bytes
Variable Size                                   605442048 bytes
Database Buffers                                 83886080 bytes
Redo Buffers                                       172032 bytes
Database mounted.
ORA-01113: file 10 needs media recovery
ORA-01110: data file 10: '/data1/oraapp/oradata/orasm/users03.dbf'请大哥救命!

解决方案 »

  1.   

    ORA-01110 data file string: 'string'Cause: This message reports the file name involved with other messages. Action: See the associated messages for a description of the problem. ORA-01113 file string needs media recoveryCause: An attempt was made to open a datafile that is in need of media recovery. Action: First apply media recovery to the datafile identified in the message, then retry the operation. 
      

  2.   

    如果要恢复数据库
    1)所有的数据文件DATAFILE都是要同一个时间点的,你只COPY了一个原来备份的数据文件回去,和现在的不一致,当然是启动不了的。
    要启动数据的
    1)如果那个数据文件没有什么实际的数据,你就让他OFFLINE,然后启动数据库。
    alter datbase datafile xxx offline
    2) 如果那个数据文件的数据需要,你需要把以前全部的DATAFILE都是COPY回来,
    然后STARTUP MOUNT,再做恢复的动作,RECOVER DATABASE,前提是你的数据库在
    ARCHIVELOG 模式下才可以的,而且所有的ARCHIVE LOGFILE都是有的,才可以恢复成功。
    恢复的详细步骤在论坛很多,查找一下了。
      

  3.   

    最好不要手工物理删除数据文件,用SVRMGRL,9i使用DGMGRL
     SVRMGRL>CONNECT internal
     SVRMGRL>startup mount
     SVRMGRL>alter database datafile '/data1/oraapp/oradata/orasm/users03.dbf' offline drop;
     SVRMGRL>alter database open;
      

  4.   

    SVRMGRL>alter database datafile '/data1/oraapp/oradata/orasm/users03.dbf' offline drop;
    ORA-01516: nonexistent log file, datafile or tempfile '/data1/oraapp/oradata/orasm/users03.dbf'
    SVRMGR>这个是怎么回事,谢谢。