6 System Limits

The following sections list all TimesTen system limits and defaults.

System limits and defaults

Specific operating system limits may take precedence over these values.

For more information, see "Operating system prerequisites" in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide or "Operating system prerequisites" in Oracle TimesTen In-Memory Database Scaleout User's Guide.

Description Value
Maximum number of subscriber databases in a replication scheme that is not an active standby pair. 128
Maximum number of propagators in a replication scheme. Each propagator can have the maximum number of subscribers. 128
Maximum number of subscriber databases in an active standby pair. 127
Minimum database size (bytes). Size includes both the permanent and temporary space required to perform operations on the database. 32 MB
Maximum length for a fixed-length column (bytes). 8,300
Maximum number of columns in a table. 1,000
Maximum number of columns in an ORDER BY clause. 1,000
Maximum number of columns in a GROUP BY clause. 1,000
Maximum cumulative length of a row's fixed-length columns (bytes). 32,768
Maximum length for a varying-length column (bytes). 222 = 4,194,304
Maximum length for a replicated column. 4 MB

16 MB for columns
with BLOB type

Maximum number of concurrent connections to a database (including system connections). 32,047
Maximum number of concurrent application connections to a database (may be limited by semaphore configuration or Connections DSN attribute or both). 32,000
2,000 (default)
Maximum number of connections (system and application) across all databases in an instance. 32,048
Maximum number of concurrent client connections to a TimesTen instance.

Note: Some instances may support a slightly smaller maximum number of connections depending on such things as whether the database is shared or replicated and operating system limits. Most configurations support no less than 2,000 connections.

2048
Maximum length of database names. 32
Maximum length of the path name for a database in an asynchronous writethrough cache group 248
Maximum number of projected expressions in a SELECT statement. 32,767
Maximum length of string specifying a join order. 1,024
Maximum number of columns in an index (or primary key). 32
Maximum length of basic names. 30
Maximum length of displayed predicate string in the SYS.PLAN table. 1,024
Maximum length of SQL statement, including the NULL terminator. 409,600
Maximum number of table references in an SQL query. 24
Maximum number of indexes on a table. 500
Maximum number of partitions in a table. 999
Maximum number of prepared PL/SQL statements per connection. 5000
Maximum number of recently-used PL/SQL blocks that can be cached per session. 5000
Maximum number of concurrent segment client/server connections per TimesTen instance Unlimited (up to the limits of the operating system)
Maximum number of concurrent shared memory segment client/server connections per TimesTen instance. Unlimited (up to the limits of the operating system)
Maximum size of IPC shared memory segment for client/server connections 4 GB
Maximum number of allocated statement handles per shared memory segment client/server connection. 512
Maximum depth of nesting subqueries. Equal to the maximum number of table references in a SQL query.
Maximum error message length for applications that specify an error message length (for example, through a call to SQLError). 512
Maximum number of replicated XLA bookmarks. 64

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.

Path names

TimesTen does not support file path names that contain multibyte characters. Ensure the installation path, database path, transaction log path, and temporary file path do not contain any multibyte characters.