If the database server attempts to switch to the next logical-log file but finds that the next log file in sequence is still in use, the database server immediately suspends all processing. Even if other logical-log files are free, the database server cannot skip a file in use and write to a free file out of sequence. Processing stops to protect the data within the logical-log file.
The logical-log file might be in use for any of the following reasons:
This is an extremely rare case you should never encounter. If you do, you must shut down and restart the server to free the logjam.
The open transaction is the long transaction discussed in Logical Log and Long Transactions. In this situation, you have to shut down the server, set the DYNAMIC_LOGS parameter to either 1, 2, or 3, and restart the server. This situation can be easily avoided by configuring the long transaction high water marks and the DYNAMIC_LOGS parameter appropriately.
If the logical-log file is not backed up, processing resumes when you perform the backup. Use the onbar -b -l command to back up the logical-log files.
The database server does not suspend processing when the next log file contains the last checkpoint or the oldest update. The database server always forces a full checkpoint when it switches to the last available log, if the previous checkpoint record or oldest updated not yet flushed to disk is located in the log that follows the last available log. For example, if four logical-log files have the status shown in the following list, the database server forces a checkpoint when it switches to logical-log file 3.