SQL> select name,log_mode from v$database;NAME      LOG_MODE
--------- ------------
ARIAL     NOARCHIVELOGSQL> ARCHIVE LOG LIST
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            /qscora/product/9.2.0/dbs/arch
Oldest online log sequence     1977
Current log sequence           1980SQL> 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> 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>shutdown immediate;
加入参数  _allow_resetlogs_corruption=TRUE
SQL>startup mount;
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 started
SQL>
SQL> alter database open resetlogs;alter database open resetlogs
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel

解决方案 »

  1.   

    SQL>shutdown immediate; 
    加入参数  _allow_resetlogs_corruption=TRUE 你怎么加的?加成功没有
      

  2.   

    把 "_allow_resetlogs_corruption=TRUE" 加到 ./qscora/product/9.2.0/dbs/initarial.ora 
    文件里面
    是这样吗? 怎么查看是否成功呢?
      

  3.   

    那你startup是否用的这个pfile呢?
      

  4.   

    SQL> startup pfile='/qscora/product/9.2.0/dbs/initarial.ora'
    ORA-24324: service handle not initialized
    ORA-01041: internal error. hostdef extension doesn't exist
    SQL>SQL> shutdown immediate
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    HP-UX Error: 2: No such file or directory
    SQL> startup pfile='/qscora/product/9.2.0/dbs/initarial.ora'
    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-01092: ORACLE instance terminated. Disconnection forced
      

  5.   

    你弄错了。先mount呀。你顶楼都知道先mount,这怎么不做了。startup mount pfile='...';
      

  6.   

    1. startup mount pfile=“”;recover database until cancel; CANCEL;alter database open resetlogs; 2. startup pfile=“”;recover database until cancel; CANCEL;alter database open resetlogs;执行哪个呢?
      

  7.   

    如果
    startup mount pfile=“”;
    recover database until cancel; CANCEL;
    alter database open resetlogs; 成功后,就可以alter database open;了是吗?这样再exp imp数据库?
      

  8.   

    alter database open resetlogs ;
    成功后就已经打开了
      

  9.   

    是在这个之后,执行
    shutdown immeidate;
    startup mount pfile=“”;
    recover database until cancel; 
    CANCEL;alter database open resetlogs;
    这样吗?