What is error message "Thread 1 cannot allocate new log"?

>I've been tuning an Oracle 7.3.4 instance running on Solaris 2.6 and have
>run into an error in the instance's alert log that I cannot eliminate.  The
>message is:
>
>Thread 1 cannot allocate new log, sequence 4331
>
>Since theer is no number at the beginning of this message, I haven't had a
>lot of luck finding it in the Oracle online documentation.  I did use the
>Java-based search function, but it continually crashed. A search of .htm
>files in the Docs directory using the criteria "cannot allocate new log"
>produced no hits.
>
>I'd appreciate any assistance anyone can provide.  Whatever is causing this
>problem is also cutting throughput to about 1/10th of normal on the INSERT
>batch where it occurs.
>

Answer 1:

the infamous "checkpoint not complete, cannot allocate new log" message.

this occurrs when Oracle attempts to reuse a log file but the checkpoint that
would flush the blocks that may have redo in this log file has not yet completed
-- we must wait until that checkpoint completes before we can reuse that file --
thats when this message is printed.  during this time (when we cannot allocate a
new log) processing is suspended in the database while the checkpoint is made to
complete ASAP.

The major way to relieve this is to have sufficient log to carry you through
peak times.  that way, we can complete the checkpoint while you are not busy.

also make sure your checkpoints happen as fast as they can (eg: enable ASYNC IO
or configure >1 DBWR if ansyc IO cannot be used, make sure disks are not
contending with other apps and so on)

Another way is to make the log files smaller, hence increasing the frequency
with which we checkpoint (log checkpoint interval and other init.ora parameters
achieve the same effect btw).

I myself prefer to use a modest sized log file (around 25meg) and will add
logfiles until these messages cease...
 

--
See http://govt.us.oracle.com/~tkyte/ for my columns 'Digging-in to Oracle8i'...
Current article is "Part I of V, Autonomous Transactions" updated June 21'st

Thomas Kyte                   [email protected]
Oracle Service Industries     Reston, VA   USA

Opinions are mine and do not necessarily reflect those of Oracle Corporation

Answer 2:

This error arises becos LGWR cannot write into the  RedoLog file either becos
the CheckPoint triggered earlier is not complete or ARCHiver did not finish
copying the filled Redo Log file to the LOG_ARCH_DEST.

You can alleviate this problem by
1) Add more Redo Log files as this will provide more time for the CHeckPoint to
Complete as well as more time for the Archiver to complete the File Copy
2) If this is a Archiver issue , Accelerate it by tuning LOG_ARCHIVE_BUFFERS
setting in init.ora
3) You may also need to Increase the Size of the Redo Log file, if this is a
'High Transaction Volume' issue . I have seen this error many times during High
Data Loads and Resizing the redo Log files definetely helped..

Hope this helps..

-Thiru
 

Hosted by www.Geocities.ws

1