接手了一個新交接的庫,alert日志頻繁報告log file switch (checkpoint incomplete)事件
oracle文檔解釋:
Waiting for a log switch because the session cannot wrap into the next log. Wrapping cannot be performed because the checkpoint for that log has not completed.
查看redo日志信息:
SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME ---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ ----------- 1 1 19852 52428800 512 1 YES INACTIVE 179403613 7/27/2015 1 179417290 7/27/2015 1 2 1 19853 52428800 512 1 NO CURRENT 179417290 7/27/2015 1 281474976710 3 1 19851 52428800 512 1 YES INACTIVE 179393208 7/27/2015 1 179403613 7/27/2015 1 SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE ---------- ------- ------- -------------------------------------------------------------------------------- --------------------- 3 ONLINE D:\APP\ADMINISTRATOR\ORADATA\YB\REDO03.LOG NO 2 ONLINE D:\APP\ADMINISTRATOR\ORADATA\YB\REDO02.LOG NO 1 ONLINE D:\APP\ADMINISTRATOR\ORADATA\YB\REDO01.LOG NO SQL>
查看切換頻率:
SQL> select completion_time from v$archived_log order by 1 desc;
發現在系統繁忙時候,日志一分鍾會切換好幾次。
解決方案:
添加個日志組並將日志大小調整為100m
alter database add logfile group 4 ('D:\APP\ADMINISTRATOR\ORADATA\YB\REDO04a.LOG ','D:\APP\ADMINISTRATOR\ORADATA\YB\REDO04b.LOG ') size 100M;
然后將其它三組redo日志的進行調整:刪除已有日志組,然后重建(要將日志組調整到inactive狀態后再操作)
alter database drop logfile group 3; alter database add logfile group 3 ('D:\APP\ADMINISTRATOR\ORADATA\YB\REDO03a.LOG ','D:\APP\ADMINISTRATOR\ORADATA\YB\REDO03b.LOG ') size 100M;
...