您好,登錄后才能下訂單哦!
做日常巡檢的時候發現alert日志中有這個錯誤
Thread 1 cannot allocate new log, sequence 319708
Checkpoint not complete
這個實際上是個比較常見的錯誤。通常來說是因為在日志被寫滿時會切換日志組,這個時候會觸發一次checkpoint,DBWR會把內存中的臟塊往數據文件中寫,只要沒寫結束就不會釋放這個日志組。如果歸檔模式被開啟的話,還會伴隨著ARCH寫歸檔的過程。如果redo log產生的過快,當CPK或歸檔還沒完成,LGWR已經把其余的日志組寫滿,又要往當前的日志組里面寫redo log的時候,這個時候就會發生沖突,數據庫就會被掛起。并且一直會往alert.log中寫類似上面的錯誤信息。
ORACCLE給出的建議是:
Add additional log group
Increase size of redo logs
#########################################################
select * from v$log;
select bytes/1024/1024 from v$log;
select * from v$logfile;
#通過以上命令查看日志組、日志文件的狀態
#添加3個新的日志組
alter database add logfile group 4 '/u01/app/oradata/destdb/destdb/redo04.log' size 300m;
alter database add logfile group 5 '/u01/app/oradata/destdb/destdb/redo05.log' size 300m;
alter database add logfile group 6 '/u01/app/oradata/destdb/destdb/redo06.log' size 300m;
#通過執行下面的命令,將新添加的日志組的狀態切換為“非unused”,將需要刪除的日志組切換為“unused”
alter system switch logfile;
#刪除老的日志組,在線增加日志組的時候,刪除日志組的時候只能刪除日志組狀態為 INACTIVE 的日志組。
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;
#最后去os上刪除老的日志組的物理文件
刪除/u01/app/oradata/destdb/destdb/redo01、02、03.log
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。