The message means that we haven't completed writing all the redo
information to the log when we are trying to switch. It is similar in
nature to a "checkpoint not complete" except that is only involves the redo
being written to the log. The log switch can not occur until all of the
redo has been written.
Unless there is a long period of time between the "cannot allocate new log" message and the "advanced to log sequence" message, these messages are not a reason for alarm.
In some circumstances, increasing the value for db writer processes might assist to prevent the message from being produced. The buffer cache is kept clean by the DBWR by writing out dirty buffer blocks, which is one of its primary functions. Therefore, a larger throughput should be possible with several db writer processes.
SQL> show parameter db_writer_processesNAME TYPE VALUEdb_writer_processes integer 2SQL> alter system set db_writer_processes=4 scope=spfile sid='*';System altered.
Now restart the database to take the change effect.
SQL> show parameter db_writer_processesNAME TYPE VALUEdb_writer_processes integer 4
The message means that we haven't completed writing all the redo
information to the log when we are trying to switch. It is similar in
nature to a "checkpoint not complete" except that is only involves the redo
being written to the log. The log switch can not occur until all of the
redo has been written.
Unless there is a long period of time between the "cannot allocate new log" message and the "advanced to log sequence" message, these messages are not a reason for alarm.
In some circumstances, increasing the value for db writer processes might assist to prevent the message from being produced. The buffer cache is kept clean by the DBWR by writing out dirty buffer blocks, which is one of its primary functions. Therefore, a larger throughput should be possible with several db writer processes.
SQL> show parameter db_writer_processes NAME TYPE VALUE db_writer_processes integer 2 SQL> alter system set db_writer_processes=4 scope=spfile sid='*'; System altered.
Now restart the database to take the change effect.
SQL> show parameter db_writer_processes NAME TYPE VALUE db_writer_processes integer 4