Limits on Number of Open Files

Each process connected to a TimesTen database keeps at least one operating-system file descriptor open from the time of the first connection until the process terminates. Additional file descriptors may be opened for each database connection:

  • Connections to databases that have logging to disk enabled require an additional two file descriptors for the duration of the connection.

  • An additional file descriptor is needed for the duration of database checkpoints issued by the process.

  • Additional file descriptors may be opened during transaction commit or operations.

For multithreaded applications that maintain many concurrent TimesTen database connections, the default number of open files permitted to each process by the operating system may be too low.

  • On Solaris, the default limit is 256 open files and may be raised for a session with the ulimit command (limit for csh users). You can also set the per-process limit programmatically with setrlimit.

  • On AIX, the limit is 2,048 open files, so you are not likely to encounter problems.

  • On Linux, the default limit is 1,024 open files, so you are not likely to encounter problems.

  • On Windows, the default limit is at least 2,000 open files, so you are not likely to encounter problems.

Most of the open file descriptors are used for reading and writing database recovery log files. If a process fails to open a log file, the database is marked as requiring recovery and all current connections to the database are terminated.