Was this helpful?
Diagnose Logging System Problems
Use the following procedure to diagnose a DBMS server that is not responding due to logging system problems.
1. Check the logging system by issuing the following command at the operating system prompt to invoke the logstat utility:
Windows:
logstat | more
UNIX:
logstat | more
VMS:
define sys$output filename
logstat
deassign sys$output
2. If you are unable to start up logstat, the recovery process has probably taken an exclusive lock and is in recovery. (See Recovery Process Monitoring.)
3. If logstat starts up, check the status field, as described in Logstat Status Fields.
Logstat Status Fields
The problem states and resolutions of logstat fields are described in the following table:
Status Field
Description
Action
ONLINE, ECPDONE
A consistency point is completed. The system is fully functional and online.
The logging system has finished a consistency point. This status flag is present most of the time while the logging system is functioning normally. If this is your status, stop this procedure and review Identifying Operating System Resource Problems.
LOGFULL
The log file is full.
A status of LOGFULL means that the system is suspended from processing new requests because there is no more room in the transaction log file. It remains so until the problem is corrected. Examine the other status field entries.
If ARCHIVE is also indicated, the Archiver is actively processing the log file to free up space. The LOGFULL condition is removed when the Archiver is finished.
CPNEEDED
A consistency point is needed.
CPNEEDED means the logging system is about to take a consistency point.
ARCHIVE
The Archiver is processing.
The status ARCHIVE means the Archiver process is archiving.
START_ARCHIVER
The Archiver has stopped.
A status of START_ARCHIVER means that the archiver process stopped. Restart the Archiver.
FORCE_ABORT
The force-abort- limit has been reached.
If the status is FORCE_ABORT, a transaction came too close to the end of the transaction log file before the oldest was committed to disk, and reached the force-abort-limit. The oldest open transaction is aborted to free space for the new one.
You can use logstat (or ipm) to monitor the force abort. The system frees the FORCE_ABORT status when the abort operation is completed.
RECOVER
The recovery process is performing recovery.
If the status is RECOVER, the logging system is in recovery, a normal mode. Recovery requires some time because Ingres is optimized to commit rather than back out of transactions.
IMPORTANT!  If the server is recovering a lengthy transaction, be aware that shutting down the server with iimonitor's "stop server" (or by killing processes at the operating system level) results in slower recovery. Allow the recovery to proceed normally. You can monitor the progress of the recovery with logstat and iimonitor or the ipm utility.
Many other normal states appear on the status line. For additional information on reading logstat output, see the Logstat section in the Command Reference Guide.
How to Avoid Logfull Abort
To avoid logfull aborts, examine the transaction processing strategy errors that caused the log file to fill. Consider the following points:
If transactions do many updates or are left open for a long time, you must either commit them more frequently or increase the size of the log file. If the log file size is increased, check the “percentage of logfile written” before a consistency point is taken. For details, see the ipm, logstat, or VDBA output.
Avoid continuous transaction errors by:
Setting autocommit on where applicable
Avoiding application errors that are caused by beginning transactions before they get all the user input required or by failing to use Ingres application timeout features. (Timeout features are discussed in the SQL Reference Guide and Forms-based Application Development Tools User Guide. Also, for a discussion of transaction processing, see the SQL Reference Guide.)
If you have taken the above precautions but still get log full/abort, the transaction log is sized too small for the types of transactions you need to process. Read the tips in the next section on choosing the correct transaction log file size.
Use set log_trace to examine the size and type of log records being written to the log file.
Process of Resizing Transaction Logs
Resizing transaction logs involves these steps:
1. Determine whether the log requires resizing
2. Resize the transaction log file
3. Reestablish Dual Logging
Determine Whether a Log Requires Resizing
To determine whether a log requires resizing, use one of the following procedures.
Using VDBA’s Performance Monitor, start a monitoring session on the desired node:
1. Select the node in the left pane and click the Monitor toolbar button.
2. Select Log Information in the branch.
3. Click the Header tab in the right pane to display log usage.
Start the Interactive Performance Monitor utility (ipm).
1. Highlight the Log_info menu item and select the Select option.
2. Highlight the Header menu item and select the Select option.
3. The Log file Diagram shows the percentage use of the Transaction Log.
4. Exit the ipm program.
Find the current peak transaction load by using the logstat utility to monitor the amount of log file that is in use during your peak hours. This allows you to choose the correct size for your log file. Because requirements change, you must monitor the log file regularly.
1. Enter the logstat command.
2. Find the value under % of log file in use.
3. If the log file needs to be resized, select the new size.
UNIX: Use mkrawlog to reconfigure a raw log file.
4. Shut down the installation by entering the ingstop command.
Resize the Transaction Log File
To resize the transaction file, follow these steps:
1. Shut down the Ingres installation by entering the ingstop command.
2. Start the Configuration-By-Forms (cbf) or Configuration Manager (vcbf) utility.
a. Choose Transaction Log from the menu.
The file name is displayed along with the current size of the Transaction Log.
b. Choose Destroy.
When destroyed, the Transaction Log information table is emptied.
c. Select the Create option.
d. Enter the required Transaction Log file size in megabytes.
The transaction log is created.
3. Exit cbf or vcbf.
4. Restart the installation by entering the command ingstart.
IMPORTANT!   Reconfiguring your log file destroys the current contents of the file and leaves an empty, reinitialized log file after the reconfiguration is complete. When Ingres is shut down, all transactions are written to disk; therefore, to prevent inconsistent database problems, reconfigure the log file only after a successful installation shutdown procedure.
Reestablish Dual Logging
A failure in one of the two dual log files is most often symptomatic of hardware problems. In the event of such a failure, you must reestablish dual logging at the first opportunity.
To re-establish dual logging after a failure of one of the log files, follow these steps:
1. Shut down the installation.
2. Create a new log file in the location of the failed log.
3. Start the Configuration-By-Forms (cbf) or Configuration Manager (vcbf) utility.
4. Select dual transaction log.
5. Select Reformat.
This automatically determines which of the log files is valid and copies the contents of the valid log to the newly created log file. After the copy is complete, both log files are marked valid. Dual logging is reestablished.
6. Restart the installation with the ingstart command.
7. Check that both log files are enabled by using Configuration-By-Forms (cbf) or Configuration Manager (vcbf).
Last modified date: 01/30/2023