Informix Error -230
-230 Could not read a temporary file.
The database server created a temporary file in the directory specified by the DBTEMP environment variable (or /tmp by default on UNIX systems) but encountered an error when it tried to read the file back. Check the accompanying ISAM error code, and look for operating-system error messages that might give more information. Possibly a hardware failure occurred, or possibly another user erased the temporary file accidentally. Since Version 5.01, the IBM Informix SE database server uses the DBTEMP environment variable, but IBM Informix Dynamic Server and IBM Informix OnLine Dynamic Server do not.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-230 completes the temp-file trio with -229 and -221: the temporary file was created successfully, but reading it back failed. The official text names a specific, distinctive cause here beyond hardware failure — another user or process accidentally erasing the file.
- Hardware failure affecting the temp file's underlying storage.
- Another user or process accidentally erasing the temporary file. Temp files often live in
a shared
/tmpwith lenient permissions, making external interference a real, specific risk the official text calls out directly. - A
/tmp-cleaning utility (tmpwatch,tmpreaper,systemd-tmpfiles, or a similar scheduled cleanup job) removing files it perceives as old or orphaned while the database server is still actively using them. - The same product-specific
DBTEMP/DBSPACETEMPdistinction as -229/-221.
Solutions / Resolution
- Check the accompanying ISAM error code and OS-level error messages, per the official guidance.
- Check hardware health if a storage-level fault is suspected.
- Investigate whether a
/tmp-cleaning utility or another process removed the file. If so, exclude the database server'sDBTEMP/DBSPACETEMPdirectory from automatic cleanup policies, or use a dedicated temp directory not subject to shared/tmphousekeeping. - Confirm which product is in use for the
DBTEMP/DBSPACETEMPdistinction.
Examples
A cleanup utility interfering with an in-use temp file
# systemd-tmpfiles (or tmpwatch/tmpreaper) configured to remove
# files in /tmp older than a threshold, unaware the database
# server has a long-running query still using one
# Exclude the database's temp directory from automatic cleanup,
# or configure it to a dedicated path outside shared /tmp policy
DBTEMP=/informix/dbtemp
Diagnostic Checks
- Check the accompanying ISAM error code.
- Check hardware health for the underlying storage.
- Check for scheduled
/tmp-cleanup jobs that might remove files the database server is still using.
Related Errors / Related Topics
- -229 — "Could not open or create a temporary file." The closest sibling — the same general temp-file mechanics, at read time instead of open/create time.
- -221 — "Cannot build temporary file for new table table-name." The narrower, new-table-specific version of this same temp-file family.
Check for a scheduled /tmp-cleanup utility before assuming hardware failure — it's a specific,
easy-to-overlook cause the official guidance calls out directly.