ORA-01172 recovery of thread string stuck at block string of file stringCause: Crash recovery or instance recovery could not apply a change to a block because it was not the next change. This can happen if the block was corrupted and then repaired during recovery.Action: Do a RECOVER DATAFILE for the file containing the block. If this does not resolve the problem, then restore the file from a backup and recover it.
ORA-01151 use media recovery to recover block, restore backup if neededCause: Crash recovery or instance recovery could not apply a change to a block because it was not the next change. This can happen if the block was corrupted and then repaired during recovery. This message is usually accompanied by ORA-01172. Action: There is additional information for ORA-01172. Perform a RECOVER datafile for the file containing the block. If this does not resolve the problem, restore the file from a backup and recover it again. 

解决方案 »

  1.   

    你把原来的数据文件DROP后,再使用下面的语句试试
    alter talbespace name add datafile  'F:\TEMP\TMP2ORCL.ORA'
    size .....
      

  2.   

    发现:
    F:\TEMP\TMP2ORCL.ORA
     RECOVER READ WRITE
    也就是说此文件复恢不了.

    ALTER DATABASE DATAFILE  'F:\TEMP\TMP2ORCL.ORA' OFFLINE;
    语句已处理。
    ALTER DATABASE DATAFILE  'F:\TEMP\TMP2ORCL.ORA' OFFLINE DROP;
    语句已处理。
    这个文件的状态还是   RECOVER....
    另外用 add datafile  'F:\TEMP\TMP2ORCL.ORA'提示:
      ORA-01109: ??????
      

  3.   

    当然错误了,因为
    ALTER DATABASE DATAFILE  'F:\TEMP\TMP2ORCL.ORA' OFFLINE DROP;
    这是在数据库里不加栽,物理上并没有删除,要手工删除这个文件。
      

  4.   

    你先查查:
    ORA-01172: ??1???????456912????8??
    ORA-01151: ?????????????????????
    这两个错误,以及ORALCE的建议,应该就能搞定了?
      

  5.   

    http://www.oradb.net/err/error_007.htm
      

  6.   

    是不是服务能启动
    而实例启动不了
    如果是看一下日志文件init.ora
    回滚段设置有问题