Informix Error -3060
-3060 Operating system error. Cannot create a temporary file.
PERFORM is trying to create a temporary file but cannot. On UNIX systems, check that your account is allowed to write in the /tmp directory or the directory that is named in the DBTEMP environment variable and that the directory is not full. Possibly you have exceeded an operating-system limit on the number of open files. In that case, you will have to reduce the number of tables that are used in this form.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-3060 fires when PERFORM can't create a temporary file it needs — per the official guidance,
on UNIX systems this is typically a permissions or disk-space issue in /tmp or the directory
named in DBTEMP, or an operating-system open-file limit.
- The account lacks write permission in
/tmpor theDBTEMPdirectory, per the official guidance — the first named cause. - The
/tmp/DBTEMPdirectory (or its filesystem) is full, per the official guidance — the second named cause. - An operating-system open-file limit was exceeded, per the official guidance — the third named cause, requiring fewer tables in the form.
Solutions / Resolution
- Check that the account can write to
/tmpor theDBTEMPdirectory, per the official guidance. - Check that the directory isn't full, per the official guidance.
- If an open-file limit was exceeded, reduce the number of tables used in the form, per the official guidance.
Examples
Checking DBTEMP and disk space
echo $DBTEMP
df -h /tmp
Diagnostic Checks
- Check write permissions and free space on
/tmporDBTEMP, and the account's open-file limit if the form uses many tables.
Related Errors / Related Topics
- -3050 — "Operating system error. Cannot open a temporary file." A closely related temporary-file error, about failing to reopen a file already created rather than failing to create one in the first place.
PERFORM couldn't create a temporary file — check /tmp/DBTEMP permissions and free space,
and the open-file limit if the form uses many tables.