恢复丢失的控制文件(六)

2014-11-24 00:56:43 · 作者: · 浏览: 84
dotbs01.dbf',
  • 15 '/zxm/cindytest/ctest/sysaux01.dbf',
  • 16 '/zxm/cindytest/ctest/users01.dbf'
  • 17 CHARACTER SET ZHS16GBK
  • 18 ;
  • Control file created.
  • 控制文件创建之后,数据库自动到mount状态:

    1. SQL> alter database mount;
    2. alter database mount
    3. *
    4. ERROR at line 1:
    5. ORA-01100: database already mounted

    (3)尝试用resetlogs方法打开数据库

    1. SQL> alter database open resetlogs;
    2. alter database open resetlogs
    3. *
    4. ERROR at line 1:
    5. ORA-01194: file 1 needs more recovery to be consistent
    6. ORA-01110: data file 1: '/zxm/cindytest/ctest/system01.dbf'

    (4)数据文件不一致,需要进行介质恢复:

    1. SQL> recover database;
    2. ORA-00283: recovery session canceled due to errors
    3. ORA-01610: recovery using the BACKUP
      CONTROLFILE option must be done

    因为控制文件是用resetlogs的方法创建的,因此恢复时必须要用using子句;

    1. SQL> recover database using backup controlfile;
    2. ORA-00279: change 558697 generated at 04/
      13/2011 14:25:26 needed for thread 1
    3. ORA-00289: suggestion : /zxm/cindytest/arch/1_8_748360440.dbf
    4. ORA-00280: change 558697 for thread 1 is in sequence #8
    5. Specify log: {=suggested | filename | AUTO | CANCEL}
    6. ORA-00308: cannot open archived log '/
      zxm/cindytest/arch/1_8_748360440.dbf'
    7. ORA-27037: unable to obtain file status
    8. Linux-x86_64 Error: 2: No such file or directory
    9. Additional information: 3

    Oracle自己猜测的归档日志其实是联机日志,因此需要手工指定这个文件;

    1. SQL> recover database using backup controlfile;
    2. ORA-00279: change 558697 generated at 04/13
      /2011 14:25:26 needed for thread 1
    3. ORA-00289: suggestion : /zxm/cindytest/arch/1_8_748360440.dbf
    4. ORA-00280: change 558697 for thread 1 is in sequence #8
    5. Specify log: {=suggested | filename | AUTO | CANCEL}

    给出这个文件:

    1. /zxm/cindytest/ctest/redo01.log

    恢复成功:

    1. Log applied.
    2. Media recovery complete.

    (5)打开数据库,必须用resetlogs的方法打开才行:

    1. SQL> alter database open ;
    2. alter database open
    3. *
    4. ERROR at line 1:
    5. ORA-01589: must use RESETLOGS or NORESETLOGS
      option for database open
    6. SQL> alter database open resetlogs;
    7. Database altered.