大家好:
    我的日志组group 3的日志文件损坏后,执行了 alter database clear unarchived logfile group 3;
    之后,执行多次alter system archive log current;,当需要切换到group 3时,就提示 group 3之前的日志序列号25不能归档,但当时日志序列号是27,
    但想执行删除group 3,再重建时 alter database drop logfile group 3;又提示group 3需要归档。
    执行 archive log list显示当时日志序列号是27,下一个要归档的日志序列号却是25,正常来说,下一个归档序列号应该也是27的。
    麻烦各位大侠帮忙看看要怎么处理,怎么才能归档恢复好group 3?情况如下:SQL> select * from v$log;            GROUP#            THREAD#          SEQUENCE#              BYTES            MEMBERS ARCHIVED  STATUS                                                FIRST_CHANGE# FIRST_TIME
------------------ ------------------ ------------------ ------------------ ------------------ --------- ------------------------------------------------ ------------------ ------------------
                 1                  1                 26           52428800                  2 NO        INACTIVE                                                    1645366 24-JAN-13
                 2                  1                 27           52428800                  2 NO        CURRENT                                                     1645387 24-JAN-13
                 3                  1                 25           52428800                  2 NO        INACTIVE                                                    1645325 24-JAN-13SQL> alter system archive log current;
alter system archive log current
*
ERROR at line 1:
ORA-16038: log 3 sequence# 25 cannot be archived
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03.log'
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03_2.log'
SQL> select * from v$log;            GROUP#            THREAD#          SEQUENCE#              BYTES            MEMBERS ARCHIVED  STATUS                                                FIRST_CHANGE# FIRST_TIME
------------------ ------------------ ------------------ ------------------ ------------------ --------- ------------------------------------------------ ------------------ ------------------
                 1                  1                 26           52428800                  2 NO        INACTIVE                                                    1645366 24-JAN-13
                 2                  1                 27           52428800                  2 NO        CURRENT                                                     1645387 24-JAN-13
                 3                  1                 25           52428800                  2 NO        INACTIVE                                                    1645325 24-JAN-13SQL> alter database drop logfile group 3;
alter database drop logfile group 3
*
ERROR at line 1:
ORA-00350: log 3 of instance demo (thread 1) needs to be archived
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03.log'
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03_2.log'
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /ora01/oracle/oradata/demo/archivelog
Oldest online log sequence     25
Next log sequence to archive   25
Current log sequence           27

解决方案 »

  1.   

    看一下是不是FLASH_RECOVERY_AREA满了
      

  2.   

    看下alert日志是不是归档满了,不是当前redo损坏,问题应该不大
      

  3.   

    我的日志组group 3的日志文件损坏后,执行了 alter database clear unarchived logfile group 3;
        之后,执行多次alter system archive log current;什么错误?怎么会执行alter system archive log current;这个命令?
    切换日志是用switch logfile啊日志操作命令详细查看文章:http://blog.csdn.net/java3344520/article/details/7196433
      

  4.   

    我的归档日志不是放在FLASH_RECOVERY_AREA目录的,我自定义了log_archive_dest_1存放归档文件的。