ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Thread 1 cannot allocate new log

Thread 1 cannot allocate new log

原创 Linux操作系统 作者:rocky_gao 时间:2011-03-02 09:52:48 0 删除 编辑

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) Give the checkpoint process more time to cycle through the logs
-  add more redo log groups
-  increase the size of the redo logs
2) Reduce the frequency of checkpoints
- increase LOG_CHECKPOINT_INTERVAL
- increase size of online redo logs
3) Improve the efficiency of checkpoints enabling the CKPT process
with CHECKPOINT_PROCESS=TRUE
4) Set LOG_CHECKPOINT_TIMEOUT = 0.  This disables the checkpointing
based on
time interval.
5) Another means of solving this error is for DBWR to quickly write
the dirty buffers on disk.



http://goshowing.com/2010/11/28/thread-1-cannot-allocate-new-log-sequence-19-checkpoint-not-complete/


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11976525/viewspace-688228/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-04-09

  • 博文量
    112
  • 访问量
    276648