在启动数据库时,出现以下错误:
ORACLE instance started.
Total System Global Area                         66717820 bytes
Fixed Size                                         116860 bytes
Variable Size                                    53321728 bytes
Database Buffers                                 13107200 bytes
Redo Buffers                                       172032 bytes
Database mounted.
ORA-01172: recovery of thread 1 stuck at block 10190 of file 2
ORA-01151: use media recovery to recover block, restore backup if needed
乍办?急啊!!!!!请教高手!!!!

解决方案 »

  1.   

    JiangHua0903(小青虫(X_X))
    字面上我也知道!!!
    但file2是一个怎样类型的文件,有何用处,放在哪里,有什么原因会导致出现这样的错误?
      

  2.   

    查看select file_name,file_id from dba_data_files;
      

  3.   


      首先要确定你要做的是完全恢复还是不完全恢复  1. 有数据文件、控制文件及archivelog的全备份,当前的redolog
         文件可用, 这种情况可完全恢复   2. 有数据文件及archivelog的全备份,当前的redolog文件可用,
         用重新生成控制文件的方法,这种情况可完全恢复   3. 有数据文件、控制文件及archivelog的全备份,当前的redolog
         文件不可用, 这种情况只能恢复到可用的archivelog   4. 有数据文件及archivelog的全备份,当前的redolog文件不可用,
         用重新生成控制文件的方法,这种情况只能恢复到可用的archivelog。 如果是不完全恢复:
       select file#,status,name from v$datafile where file#=2
       ------------------------------------------------------
       查出是哪个数据文件坏了   然后:
            1) shutdown
           
            2) 从备份中恢复所有数据文件(用操作系统的COPY或MOVE命令)
                  
            3) startup restrict mount ;        4) recover database until cancel;
               或者 recover database until '时间';        5) alter databse open  restlogs;          6) 备份当前数据库
      完全恢复:
       
       1. startup mount   2. 将损坏或丢失的数据文件脱机:
          alter database datafile 'filename' offline;   3. 打开数据库: alter database open;   4. alter database rename file 'oldfilename' to 'newfilename';   5. recover datafile 'filename'   6. 数据文件重新联机: 
          alter database datafile 'filename' online;
      

  4.   

    楼上:
    我数据库都起不来,还能select?有没有QQ啊?125470829急啊!!!
      

  5.   

    好,收到,现在在做数据紧急备份,做完就按您说的做一次!谢谢 leecooper0918(帮助别人,其实也是在帮助自己) 怎样给分啊?????
      

  6.   

    leecooper0918(帮助别人,其实也是在帮助自己):
    试了,查到rollmedium.dat出错,在下库后从备份中将这文件替换并进行以下步骤:
            3) startup restrict mount ;
            4) recover database until cancel;
               或者 recover database until '时间';
            5) alter databse open  restlogs;  
    第四步的recover database until '时间';起到什么作用?
    别外:第五步不能运行起来!再问:您说将所有数据文件替换,跟做完全恢复有什么不同?
    我的备份是上周五中午的,若完全恢复,上周五下午的数据及今上午一个小时的数据将丢失,有没有更好的解决办法?
      

  7.   

    1. 第五步不能运行,是因为第四步的recover不成功; 2. 我已经说了,除非有全部可用的archive log文件,否则没法完全恢复的 3. 最后一招,使用logminer 工具,看看 "上周五下午到今天上午" 期间
        用户都做了些什么,例如有delete from  table where ....的操作
        你就反向操作: insert into table ...
           
        最好请你们的dba来做这个工作.