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

Thread 1 cannot allocate new log 的處理辦法

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; 檢視每組日誌的狀態

select * from v$logfile; 檢視日誌路徑
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 的日誌組。
————————————————
版權宣告:本文為CSDN博主「久坐塵埃」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/zonelan/article/details/7613519