SQL> shutdown immediate;
ORA-01109: database not openDatabase dismounted.
ORACLE instance shut down.SQL> startup mount;
ORACLE instance started.Total System Global Area  353857616 bytes
Fixed Size                   737360 bytes
Variable Size             134217728 bytes
Database Buffers          218103808 bytes
Redo Buffers                 798720 bytes
Database mounted.
SQL>
SQL> alter system switch logfile;
alter system switch logfile
*
ERROR at line 1:
ORA-01109: database not open
SQL> recover database until cancel;
ORA-00279: change 834657511 generated at 01/10/2010 17:20:11 needed for thread
1
ORA-00289: suggestion : /qscora/product/9.2.0/dbs/arch1_20321.dbf
ORA-00280: change 834657511 for thread 1 is in sequence #20321Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/qscora/oradata/arial/system1.dbf'ORA-01112: media recovery not startedSQL>
SQL> alter database open resetlogs;alter database open resetlogs
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel

解决方案 »

  1.   

    没有明白你的意思你startup mount
    都是OK的SQL> alter system switch logfile;
    alter system switch logfile
    *
    ERROR at line 1:
    ORA-01109: database not open 这里提示也是正确的,你的数据库都没有open叻干嘛接下来就恢复了呀。
    如果要恢复的话,你要要用你的redo log先尝试一下呀。
      

  2.   

    好混乱……
    在switch logfile的时候提示你not open
    你就open一下么
    为什么直接recover了
      

  3.   

    SQL> startup
    ORACLE instance started.Total System Global Area  353857616 bytes
    Fixed Size                   737360 bytes
    Variable Size             134217728 bytes
    Database Buffers          218103808 bytes
    Redo Buffers                 798720 bytes
    Database mounted.
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 55216 change 834662786 time 01/10/2010
    19:10:10
    ORA-00312: online log 1 thread 1: '/qscaria_3/arial1a.log'SQL> shutdown immediate;
    ORA-01109: database not openDatabase dismounted.
    ORACLE instance shut down.SQL> startup mount;
    ORACLE instance started.Total System Global Area  353857616 bytes
    Fixed Size                   737360 bytes
    Variable Size             134217728 bytes
    Database Buffers          218103808 bytes
    Redo Buffers                 798720 bytes
    Database mounted.
    SQL>
    SQL> alter system switch logfile;
    alter system switch logfile
    *
    ERROR at line 1:
    ORA-01109: database not openSQL> select group#,sequence#,archived,status from v$log;    GROUP#  SEQUENCE# ARC STATUS
    ---------- ---------- --- ----------------
             1      20321 NO  CURRENT
             2      20318 NO  INACTIVE
             3      20319 NO  INACTIVE
             4      20320 NO  INACTIVESQL> alter database clear unarchived logfile group 1
      2  ;
    alter database clear unarchived logfile group 1
    *
    ERROR at line 1:
    ORA-01624: log 1 needed for crash recovery of thread 1
    ORA-00312: online log 1 thread 1: '/qscaria_3/arial1a.log'SQL> recover database until cancel;
    ORA-00279: change 834657511 generated at 01/10/2010 17:20:11 needed for thread
    1
    ORA-00289: suggestion : /qscora/product/9.2.0/dbs/arch1_20321.dbf
    ORA-00280: change 834657511 for thread 1 is in sequence #20321
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    CANCEL
    ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/qscora/oradata/arial/system1.dbf'ORA-01112: media recovery not startedSQL> alter database open resetlogs;alter database open resetlogs
    *
    ERROR at line 1:
    ORA-03113: end-of-file on communication channel
    以上是全部过程
      

  4.   

    http://blog.csdn.net/wh62592855/archive/2009/12/23/5065612.aspx希望对你有帮助
      

  5.   

    http://lkz.blog.51cto.com/blog/3848/3751