Managing Temporary Files
Go Up to Server Configuration
InterBase creates two types of temporary files: sort files and history list files.
The InterBase server creates sort files when the size of the internal sort buffer is not big enough to perform the sort. Each request (for example, CONNECT
or CREATE DATABASE
) gets and shares the same list of temporary file directories. Each request creates its own temporary files (each has its own I/O file handle). Sort files are released when sort is finished or the request is released. If space runs out in a particular directory, InterBase creates a new temporary file in the next directory from the directory list. If there are no more entries in the directory list, it prints an error message and stops processing the current request.
The InterBase isql
client creates the history list files to keep track of the input commands. Each instance creates its own temporary files, which can increase in size until they run out of disk space. Temporary file management is not synchronized between clients. When a client quits, it releases its temporary files.
Configuring History Files
To set the location for history files, define the TMP
environment variable on your client machine. This is the only way to define the location of history files. If you do not set the location for the history files by defining the TMP
environment variable, an InterBase client uses whatever temporary directory it finds defined for the local system. If no temporary directory is defined, it uses /tmp
on a UNIX system or C:\temp
on a Windows system.
Configuring Sort Files
You should make sure to have plenty of free space available for temporary sorting operations. The maximum amount of temporary space InterBase needs might be larger than the database itself in some cases.
Temporary sort files are always located on the server where the database is hosted; you should specify temporary directories on disk drives that are physically local to the server (not on mapped drives or network mounted file systems).
There are two ways to specify directories for sort files:
- You can add an entry to the
$InterBase/
ibconfig
file to enable directory and space definition for sort files. The syntax is:
TMP_DIRECTORY size “pathname”
- Important:
The pathname must be in double quotes, or the config file will fail. - This defines the maximum size in bytes of each sort directory. You can list several directories, each on its own line with its own size specification and can specify a directory more than once with different size configurations. InterBase exhausts the space in each specification before proceeding to the next one.
- For example, if you specify
dir1
with a size of 5,000,000 bytes, then specifydir2
with 10,000,000 bytes, followed bydir1
with 2,000,000 bytes, InterBase usesdir1
until it reaches the 5,000,000 limit, then usesdir2
until it has filled the 10,000,000 bytes allocated there, and then returns todir1
where it has another 2,000,000 bytes available. Below are theibconfig
entries that describe this configuration:
TMP_DIRECTORY 5000000 “C:\dir1” TMP_DIRECTORY 10000000 “D:\dir2” TMP_DIRECTORY 2000000 “C:\dir1”
- You can use the
INTERBASE_TMP
andTMP
environment variables to define the location.
If you specify temporary directories in ibconfig
, the server uses those values for the sort files and ignores the server environment variable values. If you do not specify configuration of temporary directories in ibconfig
, then the server picks a location for a sort file based on the following algorithm:
- Use the directory defined in
INTERBASE_TMP
environment variable. - If
INTERBASE_TMP
is not defined, use directory defined inTMP
environment variable. - If
TMP
is not defined, default to the/tmp
directory (UNIX) orC:\temp
(Windows).
- Use the directory defined in