你都作了全备份,直接恢复了就好了, 不用重建control file恢复时,首先要想到的是常规方法

解决方案 »

  1.   

    常规方法是什么样的啊?你看看我这样子做是不是常规方法,怎么不可以阿?SQL> recover database
    ORA-01507: database not mounted
    SQL> shutdown immediate;
    ORA-01507: database not mounted
    ORACLE instance shut down.
    SQL> startup mount;
    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
      

  2.   

    恢复过程:
    1. rman nocatalog target /
    2. startup nomount;
    看看你有多少个控制文件就写多少行:
    3.    RESTORE CONTROLFILE TO '/home/oracle/oradata/jyc/control01.ctl' FROM '/home/oracle/rman/full03_cntrl_17_1_593532729';
    RESTORE CONTROLFILE TO '/home/oracle/oradata/jyc/control02.ctl' FROM '/home/oracle/rman/full03_cntrl_17_1_593532729';
    RESTORE CONTROLFILE TO '/home/oracle/oradata/jyc/control03.ctl' FROM '/home/oracle/rman/full03_cntrl_17_1_593532729';4. alter database mount;
    5.      RUN {
    ALLOCATE CHANNEL ch00 TYPE DISK;
    RESTORE
        DATABASE;
    RECOVER
        DATABASE;
    RELEASE CHANNEL ch00;
    }
    6. alter database open resetlogs;
      

  3.   

    首先你所谓的备份全部数据库是???  datafile+controlfile呢还是只有datafile?
    用操作系统复制的呢?还是RMAN全备份的?不同方式不同处理啊~
    不过反正全备份了,肯定能恢复
      

  4.   

    RMAN全备份应该是:
    backup database;
    backup current controlfile;有这两个备份, 整台服务器烧掉都没事..