Use the CREATE CONTROLFILE command to create a new file. To do this you
must know all of the files for the database. Backing up a control file to trace on an occasional basis will help facilitate this process.here is an example,may be useful to you
CREATE CONTROLFILE REUSE 
   DATABASE orders_2 
   LOGFILE GROUP 1 ('diskb:log1.log', 'diskc:log1.log') SIZE 50K, 
           GROUP 2 ('diskb:log2.log', 'diskc:log2.log') SIZE 50K 
   NORESETLOGS 
   DATAFILE 'diska:dbone.dat' SIZE 2M 
                              MAXLOGFILES 5 
                              MAXLOGHISTORY 100 
                              MAXDATAFILES 10 
                              MAXINSTANCES 2 
                              ARCHIVELOG

解决方案 »

  1.   

    建个ctl.sql,如:STARTUP NOMOUNT
    CREATE CONTROLFILE set DATABASE "data" RESETLOGS NOARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 2
        MAXDATAFILES 500
        MAXINSTANCES 1
        MAXLOGHISTORY 1134
    LOGFILE
      GROUP 1 (
        '/user1/tstdb/log01a.dbf',
        '/user1/tstdb/log01b.dbf'
      ) SIZE 10M,
      GROUP 2 (
        '/user1/tstdb/log02a.dbf',
        '/user1/tstdb/log02b.dbf'
      ) SIZE 10M
    DATAFILE
      '/user1/tstdb/system01.dbf'
    CHARACTER SET ZHS16CGB231280
    ;
    ALTER DATABASE OPEN RESETLOGS;
    ALTER TABLESPACE TEMP ADD TEMPFILE '/user1/tst11idb/temp01.dbf' REUSE;
    用internal登录后,执行ctl.sql