Thread 1 advanced to log sequence 27933
Current log# 2 seq# 27933 mem# 0: /home/oracle/oradata/oradb/redo02.log
Fri Nov 7 11:55:33 2008
Thread 1 cannot allocate new log, sequence 27934
Checkpoint not complete
Current log# 2 seq# 27933 mem# 0: /home/oracle/oradata/oradb/redo02.log
Thread 1 advanced to log sequence 27934
Current log# 1 seq# 27934 mem# 0: /home/oracle/oradata/oradb/redo01.log
关于alert_sid.log中经常报错checkpoint not complete问题的简单分析:
1.只有当日志切换(log switch)或者关闭数据库实例的时候才会发生checkpoint(检查点)
2.当日志切换(log switch)时发起checkpoint(检查点的目的主要在于通知或者说调度DBWn进程将db_cache_size 数据高速缓冲区的数据写到物理的磁盘data file中),而当redo log file group配置的较少同时LGWR 写入redo log的速率很快的时候而DBWn写入data file慢的情况下,即会出现此情况
3.例如log-1>log-2>log-1 当log-2写满切换到log-1时(redo log是重复循环方式写), 由于DBWn的写速率远不如LGWR写的速度时,为了保证数据的完整一致性,DBWn必须将log-1中的redo写入的对应数据记录完整写到data file之后,才会进行下一次的LGWR写操作,否则LGWR只能出等待状态,这时便会出现上述的报错 checkpoint not complete
解决方法可通过调整redo log file group来实现(目的在于增大日志文件组,已满足LGWR的写入速度)
alter database add logfile group x '$ORACLE_BASE/oradata/oradb/redox.log' size xxm;
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8497482/viewspace-1049638/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8497482/viewspace-1049638/