Thread 1 cannot allocate new log,Checkpoint not complete

wzz123snow發表於2014-01-24
alert 日誌中有這個錯誤
Thread 1 cannot allocate new log, sequence 319708
Checkpoint not complete


檢視下,當前資料庫的每組日誌大小為50M,每天切換300次左右。
對此,ORACLE給出的提示:
This message indicates that Oracle wants to reuse a redo log file, but the current checkpoint position is still in that log.
In this case, Oracle must wait until the checkpoint position passes that log. 
Because the incremental checkpoint target never lags the current log tail by more than 90% of the smallest log file size, 
this situation may be encountered if DBWR writes too slowly, or if a log switch happens before the log is completely full,
or if log file sizes are too small. When the database waits on checkpoints,redo generation is stopped until the log switch is done.

ORACLE給出的建議:
Add additional log group
Increase size of redo logs


Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as sys@SG8 AS SYSDBA
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         1          1     319964   52428800          1 YES      INACTIVE            3864251677 1/24/2014 7
         2          1     319965   52428800          1 NO       CURRENT             3864256297 1/24/2014 8
         3          1     319963   52428800          1 YES      INACTIVE            3864240823 1/24/2014 7
 


SQL> select bytes/1024/1024 from v$log;
 
BYTES/1024/1024
---------------
             50
             50
             50
 
SQL> select * from v$logfile;
 
    GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE
---------- ------- ------- -------------------------------------------------------------------------------- ---------------------
         3         ONLINE  D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO03.LOG                               NO
         2         ONLINE  D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO02.LOG                               NO
         1         ONLINE  D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO01.LOG                               NO
 
SQL> alter database add logfile group 4 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO04.LOG' size 100m;--這組日誌加小了,一會兒刪掉。
 
Database altered
 
SQL> alter database add logfile group 5 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO05.LOG' size 300m;
 
Database altered
 
SQL> alter database add logfile group 6 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO06.LOG' size 300m;
 
Database altered
 
SQL> alter database add logfile group 7 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO07.LOG' size 300m;
 
Database altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         1          1     319964   52428800          1 YES      INACTIVE            3864251677 1/24/2014 7
         2          1     319965   52428800          1 NO       CURRENT             3864256297 1/24/2014 8
         3          1     319963   52428800          1 YES      INACTIVE            3864240823 1/24/2014 7
         4          1          0  104857600          1 YES      UNUSED                       0 
         5          1          0  314572800          1 YES      UNUSED                       0 
         6          1          0  314572800          1 YES      UNUSED                       0 
         7          1          0  314572800          1 YES      UNUSED                       0 
 
7 rows selected
 
SQL> alter system switch logfile;
 
System altered
 
SQL> alter system switch logfile;
 
System altered
 
SQL> alter system switch logfile;
 
System altered
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         1          1     319964   52428800          1 YES      INACTIVE            3864251677 1/24/2014 7
         2          1     319965   52428800          1 YES      ACTIVE              3864256297 1/24/2014 8
         3          1     319963   52428800          1 YES      INACTIVE            3864240823 1/24/2014 7
         4          1     319966  104857600          1 YES      ACTIVE              3864260234 1/24/2014 8
         5          1     319967  314572800          1 YES      ACTIVE              3864260236 1/24/2014 8
         6          1     319968  314572800          1 YES      ACTIVE              3864260239 1/24/2014 8
         7          1     319969  314572800          1 NO       CURRENT             3864260241 1/24/2014 8
 
7 rows selected
 
SQL> alter database drop logfile group 1;
 
Database altered
 
SQL> alter database drop logfile group 3;
 
Database altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319965   52428800          1 YES      ACTIVE              3864256297 1/24/2014 8
         4          1     319966  104857600          1 YES      ACTIVE              3864260234 1/24/2014 8
         5          1     319967  314572800          1 YES      ACTIVE              3864260236 1/24/2014 8
         6          1     319968  314572800          1 YES      ACTIVE              3864260239 1/24/2014 8
         7          1     319969  314572800          1 NO       CURRENT             3864260241 1/24/2014 8
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319970   52428800          1 NO       CURRENT             3864260514 1/24/2014 8
         4          1     319966  104857600          1 YES      INACTIVE            3864260234 1/24/2014 8
         5          1     319967  314572800          1 YES      INACTIVE            3864260236 1/24/2014 8
         6          1     319968  314572800          1 YES      INACTIVE            3864260239 1/24/2014 8
         7          1     319969  314572800          1 YES      ACTIVE              3864260241 1/24/2014 8
 
SQL> alter database drop logfile group 4;
 
Database altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319970   52428800          1 NO       CURRENT             3864260514 1/24/2014 8
         5          1     319967  314572800          1 YES      INACTIVE            3864260236 1/24/2014 8
         6          1     319968  314572800          1 YES      INACTIVE            3864260239 1/24/2014 8
         7          1     319969  314572800          1 YES      ACTIVE              3864260241 1/24/2014 8
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319970   52428800          1 YES      ACTIVE              3864260514 1/24/2014 8
         5          1     319971  314572800          1 NO       CURRENT             3864261051 1/24/2014 8
         6          1     319968  314572800          1 YES      INACTIVE            3864260239 1/24/2014 8
         7          1     319969  314572800          1 YES      ACTIVE              3864260241 1/24/2014 8
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319970   52428800          1 YES      ACTIVE              3864260514 1/24/2014 8
         5          1     319971  314572800          1 YES      ACTIVE              3864261051 1/24/2014 8
         6          1     319972  314572800          1 NO       CURRENT             3864261053 1/24/2014 8
         7          1     319969  314572800          1 YES      ACTIVE              3864260241 1/24/2014 8
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319970   52428800          1 YES      ACTIVE              3864260514 1/24/2014 8
         5          1     319971  314572800          1 YES      ACTIVE              3864261051 1/24/2014 8
         6          1     319972  314572800          1 YES      ACTIVE              3864261053 1/24/2014 8
         7          1     319973  314572800          1 NO       CURRENT             3864261132 1/24/2014 8
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319974   52428800          1 NO       CURRENT             3864261156 1/24/2014 8
         5          1     319971  314572800          1 YES      ACTIVE              3864261051 1/24/2014 8
         6          1     319972  314572800          1 YES      ACTIVE              3864261053 1/24/2014 8
         7          1     319973  314572800          1 YES      ACTIVE              3864261132 1/24/2014 8
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319974   52428800          1 YES      ACTIVE              3864261156 1/24/2014 8
         5          1     319975  314572800          1 NO       CURRENT             3864261164 1/24/2014 8
         6          1     319972  314572800          1 YES      ACTIVE              3864261053 1/24/2014 8
         7          1     319973  314572800          1 YES      ACTIVE              3864261132 1/24/2014 8
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319974   52428800          1 YES      ACTIVE              3864261156 1/24/2014 8
         5          1     319975  314572800          1 YES      ACTIVE              3864261164 1/24/2014 8
         6          1     319976  314572800          1 NO       CURRENT             3864261181 1/24/2014 8
         7          1     319973  314572800          1 YES      ACTIVE              3864261132 1/24/2014 8
 
SQL> alter system switch logfile;
 
System altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         2          1     319974   52428800          1 YES      INACTIVE            3864261156 1/24/2014 8
         5          1     319975  314572800          1 YES      ACTIVE              3864261164 1/24/2014 8
         6          1     319976  314572800          1 YES      ACTIVE              3864261181 1/24/2014 8
         7          1     319977  314572800          1 NO       CURRENT             3864261244 1/24/2014 8
 
SQL> alter database drop logfile group 2;
 
Database altered
 
SQL> select * from v$log;
 
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         5          1     319975  314572800          1 YES      ACTIVE              3864261164 1/24/2014 8
         6          1     319976  314572800          1 YES      ACTIVE              3864261181 1/24/2014 8
         7          1     319977  314572800          1 NO       CURRENT             3864261244 1/24/2014 8
 
SQL> select * from v$logfile;
 
    GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE
---------- ------- ------- -------------------------------------------------------------------------------- ---------------------
         5         ONLINE  D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO05.LOG                               NO
         6         ONLINE  D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO06.LOG                               NO
         7         ONLINE  D:\ORACLE\PRODUCT\10.2.0\ORADATA\AGENCY\REDO07.LOG                               NO
 
SQL> select bytes/1024/1024 from v$log;
 
BYTES/1024/1024
---------------
            300
            300
            300

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26084062/viewspace-1074850/,如需轉載,請註明出處,否則將追究法律責任。

相關文章