本帖最后由 zjwssg 于 2010-04-21 13:56:49 编辑

解决方案 »

  1.   


    ORA-01200: actual file size of string is smaller than correct size of string blocks 
    Cause: The size of the file as returned by the operating system is smaller than the size of the file as indicated in the file header and the control file. Somehow the file has been truncated. Maybe it is the result of a half completed copy.
     
    Action: Restore a good copy of the data file and do recovery as needed. 
    ORA-00265: instance recovery required, cannot set ARCHIVELOG mode 
    Cause: The database either crashed or was shutdown with the ABORT option. Media recovery cannot be enabled because the online logs may not be sufficient to recover the current datafiles.
     
    Action: Open the database and then enter the SHUTDOWN command with the NORMAL or IMMEDIATE option. 
    之前有做过什么操作?  把数据库恢复一下吧。 
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977
      

  2.   

    SQL> create controlfile reuse database woody noresetlogs archivelog
      2  LOGFILE
      3  GROUP 1 '/u01/app/oracle/oradata/woody/redo01.log',
      4  GROUP 2 '/u01/app/oracle/oradata/woody/redo02.log',
      5  GROUP 3 '/u01/app/oracle/oradata/woody/redo03.log'
      6  DATAFILE
      7  '/u01/app/oracle/oradata/woody/sysaux01.dbf',
      8  '/u01/app/oracle/oradata/woody/system01.dbf',
      9  '/u01/app/oracle/oradata/woody/UNDOTBS01.dbf'
    10  CHARACTER SET ZHS16GBK
    11  ;
    Control file created.参考: Oracle 控制文件:
    http://blog.csdn.net/tianlesoftware/archive/2009/12/13/4974440.aspx
      

  3.   

    控制文件如何重建:1 修改初始化参数control_file,指定控制文件位置
    2 关闭数据库
    3 重启数据库到nomount状态
    4 建立控制文件
    create controlfile database [实例名称] noresetlogs
    logfile
    重做日志位置
    datafile
    数据文件位置
    5 打开数据库。
      

  4.   

    这样重建肯定不行,再说也不是控制文件的问题啊.可以添加上缺少的块,先启动起来http://www.sosdb.com
      

  5.   

    再有在有时候文件系统出问题了,也会引起这个错误。先检查到底是什么原因,原因一个可能是ORACLE的bug ,一个可能确实是文件系统的问题,如果是这个问题的话,需要从文件系统先把这个文件恢复正确。
      

  6.   

    如果是控制文件的问题会报告这个错误的,你这个完全是数据文件扩展的时候引起的。跟控制文件没有任何关系ORA-01207: file is more recent than control file - old control file
      

  7.   

    太感谢你了,BUG的话先不考虑了,只是这3个报错我想没法确定是哪个BUG;如果您说的第二个问题,那如何才能从文件系统把这个文件恢复正确呢?