Tuesday, May 06, 2008

Dev : Informix's Logical Log Files are Full -- Backup is Needed

Due to certain condition, such as a big chunk of data is trying to roll back, Informix database server tend to use up all the logical spaces that are assigned to it.

If one day you found that your informix server is not functioning properly, why not check at the logical log file first? I've spend my whole day standing in the server room learning this lesson. This is how I manage to resolve it:

1. If logical file is full, You'll see this error in informix's log file : Logical Log Files are Full -- Backup is Needed. You will not be able to search certain tables and you may also encounter table lock often.

2. type onstat -l to list the list of logical file that you have. If it is due to this error, you will see most, if not all, logical space is 100%.

3. type onmode -l to clear logical log file.

4. If the logical space is fully utilised, onmode -l cannot be use. It will not succeed. You need to goto %informix%/etc/onconfig.std (%ONCONFIG file), change the LTAPEDEV value to /dev/null.

5. Run ontape -a to run backup. Follow instruction.

6. Then run onmode -l again to clear logical file one by one.

7. Change back LTAPEDEV to its original value (/dev/tapedev).

8. Restart DB.

*p/s: I've updated the steps as previously I have missed out step number 5.