1. 程式人生 > >Thread 1 cannot allocate new log 的處理辦法

Thread 1 cannot allocate new log 的處理辦法

not nor 數據 日誌 self can detail elf -h

ALTER SYSTEM ARCHIVE LOG
Thread 1 cannot allocate new log, sequence 2594
Checkpoint not complete

這個實際上是個比較常見的錯誤。通常來說是因為在日誌被寫滿時會切換 日誌組,這個時候會觸發一次checkpoint,DBWR會把內存中的臟塊往數據文件中寫,只要沒寫結束就不會釋放這個日誌組。如果歸檔模式被開啟的 話,還會伴隨著ARCH寫歸檔的過程。如果redo log產生的過快,當CPK或歸檔還沒完成,LGWR已經把其余的日誌組寫滿,又要往當前的日誌組裏面寫redo log的時候,這個時候就會發生沖突,數據庫

就會被掛起。並且一直會往alert.log中寫類似上面的錯誤信息。

增加日誌組:

1、select group#,sequence#,bytes,members,status from v$log; 查看每組日誌的狀態

GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 16946 52428800 1 INACTIVE ## 空閑的
2 16947 52428800 1 INACTIVE ## 空閑的

3 16948 52428800 1 CURRENT ##正在使用的

2、

alter database add logfile group 4 (‘/opt/oradata/orclbj/redo04.log‘) size 200M; 增加1組日誌組 視情況而定增加日誌組的大小。

alter database add logfile group 5 (‘/opt/oradata/orclbj/redo05.log‘) size 200M;

alter database add logfile group 6 (‘/opt/oradata/orclbj/redo06.log‘) size 200M;

3、alter system switch logfile; 切換日誌組

4、alter database drop logfile group 1; 刪除日誌組1 在線增加日誌組的時候,刪除日誌組的時候只能刪除 日誌組狀態為 INACTIVE 的日誌組。

http://blog.csdn.net/zonelan/article/details/7613519

Thread 1 cannot allocate new log 的處理辦法