English

Problem: Full logical log files will stop an Informix database

Solution or Workaround

Summary

An Informix database stops when logical log files fill up. This document describes why this happens and how to resolve it.

Cause

Informix will cease to accept commands from general users if the logical log files are filled beyond a certain configurable high-water mark. If another, higher-use mark is reached, SQL commands from even the DBA are ignored until the logical log files are backed up and made available again.

Solution

In Informix, logical logs record various types of system activity. Logical logs are filled, and then their contents are written to a tape. Once backed-up, the logical log files can be reused. Multiple log files are configured so that some are being written to, filling one after another, while others are backed-up, one after another, in a round-robin fashion. Three is the minimum number of logical log files needed, but often dozens of logical log files are configured for an Informix server.

Logical log files cannot be reused until they are backed up. On production systems, these backups are usually performed to a tape device so that in the case of a database crash, the data can be recovered.

On some test systems, the DBA makes a decision that data recovery in case of a crash is not a high priority. In those cases, the tape device is often set to a 'null' device, that is, a pseudo device file that acts as if it is a connection to a tape drive but, in fact, is not connected to anything. Data written to such a device is immediately discarded.

The name of the tape device used for backing up logical log files is defined in the 'onconfig' configuration file as the parameter LTAPEDEV. If the tape device is defined incorrectly, the logical log backups will fail.

On UNIX systems, the 'null' device is typically '/dev/null'.

On Windows NT the device is 'NUL' (one single L). If you were to set the LTAPEDEV to NULL and then executed the Informix command to back up the logical logs, this is what you would see:

Code:

d:\Informix>ontape -a

Performing automatic backup of logical logs.

Please mount tape 1 on NULL and press Return to continue ...

Logbackup failed - function open tape device NULL failed code -1 errno 2