shutdown immediate;
c
delete file '/usr2/ora817/oradata/ora817/control03.ctl'
cp '/usr2/ora817/oradata/ora817/control02.ctl'
to '/usr2/ora817/oradata/ora817/control03.ctl'
startup;

解决方案 »

  1.   

    connect internal/oracle
    shutdown immediate
    startup mount
    recover database
    學習
      

  2.   

    注意:我三个控制文件都是如此错误!这是依次试用第三个控制文件启动结果。在发生上述错误前我做了大排序(22万条记录)查询,无结果,我没有关闭数据库,就重新reboot小型机,而且,我检查系统文件时,发现临时表空间(6G)所在目录的空间已为100%,看来是大排序惹的祸,现增加该目录空间大小(15G),情况依旧!,请继续帮助,谢谢。
      

  3.   

    startup mount报相同的错误!!!
      

  4.   

    你不该reboot,都是你的错。
    在nomount重新创建控制文件
    如果你以前有控制文件的文本备份就好了
    如alter database backup conctrolfile to trace;
    备份出来的文件
    -------------------------------------
    你损坏的可能还不止控制文件,但一步一步来了。
    good lucky
      

  5.   

    如果有备份的控制文件(backup to trace)的就好了,可以使用这个trace文件重建控制文件,以前做过点练习,如果是归档情况下(下面是在仅仅丢失了全部的控制文件,即数据文件和redo是当前的,并且是好的):
    SQL> startup
    ORACLE instance started.Total System Global Area  135338868 bytes
    Fixed Size                   453492 bytes
    Variable Size             109051904 bytes
    Database Buffers           25165824 bytes
    Redo Buffers                 667648 bytes
    ORA-00205: error in identifying controlfile, check alert log for more info
    重建控制文件
    SQL> CREATE CONTROLFILE REUSE DATABASE "TEST1" NORESETLOGS  ARCHIVELOG
      2      MAXLOGFILES 5
      3      MAXLOGMEMBERS 3
      4      MAXDATAFILES 100
      5      MAXINSTANCES 1
      6      MAXLOGHISTORY 226
      7  LOGFILE
      8    GROUP 1 'E:\ORACLE\ORA92\TEST\REDO01.LOG'  SIZE 30M,
      9    GROUP 2 'E:\ORACLE\ORA92\TEST\REDO02.LOG'  SIZE 30M,
     10    GROUP 3 'E:\ORACLE\ORA92\TEST\REDO03.LOG'  SIZE 30M
     11  DATAFILE
     12    'E:\ORACLE\ORA92\TEST\SYSTEM01.DBF',
     13    'E:\ORACLE\ORA92\TEST\UNDOTBS01.DBF',
     14    'E:\ORACLE\ORA92\TEST\DRSYS01.DBF',
     15    'E:\ORACLE\ORA92\TEST\INDX01.DBF',
     16    'E:\ORACLE\ORA92\TEST\TOOLS01.DBF',
     17    'E:\ORACLE\ORA92\TEST\USERS01.DBF',
     18    'E:\ORACLE\ORA92\TEST\XDB01.DBF',
     19    'E:\ORACLE\ORA92\TEST\RMAN01.DBF'
     20  CHARACTER SET ZHS16GBK
     21  ;Control file created.完全恢复数据库
    SQL> recover database;
    Media recovery complete.打开数据库
    SQL> alter database open;Database altered.
    在非归档情况下:
    SQL> startup
    ORACLE instance started.Total System Global Area  135338868 bytes
    Fixed Size                   453492 bytes
    Variable Size             109051904 bytes
    Database Buffers           25165824 bytes
    Redo Buffers                 667648 bytes
    ORA-00227: corrupt block detected in controlfile: (block 1, # blocks 1)
    ORA-00202: controlfile: 'E:\ORACLE\ORA92\TEST\CONTROL02.CTL'SQL> CREATE CONTROLFILE REUSE DATABASE "TEST1" NORESETLOGS  NOARCHIVELOG
      2      MAXLOGFILES 5
      3      MAXLOGMEMBERS 3
      4      MAXDATAFILES 100
      5      MAXINSTANCES 1
      6      MAXLOGHISTORY 226
      7  LOGFILE
      8    GROUP 1 'E:\ORACLE\ORA92\TEST\REDO01.LOG'  SIZE 30M,
      9    GROUP 2 'E:\ORACLE\ORA92\TEST\REDO02.LOG'  SIZE 30M,
     10    GROUP 3 'E:\ORACLE\ORA92\TEST\REDO03.LOG'  SIZE 30M
     11  DATAFILE
     12    'E:\ORACLE\ORA92\TEST\SYSTEM01.DBF',
     13    'E:\ORACLE\ORA92\TEST\UNDOTBS01.DBF',
     14    'E:\ORACLE\ORA92\TEST\DRSYS01.DBF',
     15    'E:\ORACLE\ORA92\TEST\INDX01.DBF',
     16    'E:\ORACLE\ORA92\TEST\TOOLS01.DBF',
     17    'E:\ORACLE\ORA92\TEST\USERS01.DBF',
     18    'E:\ORACLE\ORA92\TEST\XDB01.DBF',
     19    'E:\ORACLE\ORA92\TEST\RMAN01.DBF'
     20  CHARACTER SET ZHS16GBK
     21  ;Control file created.完全恢复数据库
    SQL> recover database;
    Media recovery complete.
      

  6.   

    1. 看看控制文件属性是否是只读
    2. 如果有控制文件的备份,将出错的文件删除,把备份文件COPY上去,并将文件名改成相同的。