Operating System Prerequisites

Ensure you review (and perform) these operating system prerequisites before you install TimesTen Classic.

Linux Prerequisites

Perform these prerequisites on Linux:

Complete General Linux Prerequisites

On Oracle Linux 7 and 8 systems, TimesTen requires the libaio library. To install this library, run:
sudo yum install libaio
On Oracle Linux 8.x and Red Hat Enterprise Linux 8.x systems, TimesTen depends on two libraries:
  • The ncurses-compat-libs package: Enables cursor-based command recall in ttIsql

  • The /usr/lib64/libnsl.so.1 library: Enables OCI, TimesTen Cache and TimesTen passthrough

On SUSE Linux Enterprise Server, you need to install libncurses5. To do this, run:

zypper -n install libncurses

It is recommended that you enable stack traces for TimesTen. On Linux systems, use pstack or gdb to get a stack trace.

Create the TimesTen Users Group

This section summarizes the steps for creating the TimesTen users group:

  • Create a TimesTen users group and add desired users.

  • Determine the operating system user that will be the instance administrator. That user must be a member of the TimesTen users group. This user creates the installation.

    Note:

    Do not create a TimesTen installation as an operating system user whose name matches any of the TimesTen predefined internal users: GRID, PUBLIC, SYS, SYSTEM, or TTREP.

As an example, instanceadmin is the name of the operating system user and timesten is the name of the TimesTen users group.

  1. Create the TimesTen users group. Name the group timesten with group ID 10000. This information is needed when configuring HugePages. See "Configure HugePages" for more information.
    sudo groupadd -g 10000 timesten
    
  2. Create the instanceadmin user with UID 55000 and assign this user to the timesten primary group. Then, create a password for the instanceadmin user.
    sudo useradd -u 55000 -g timesten instanceadmin
    sudo passwd instanceadmin

AIX Prerequisites

On UNIX, semaphores are configured dynamically by the kernel.

On UNIX hosts with the required patch levels, TimesTen Classic can use large pages. Using large pages locks the shared segment into memory so it cannot be paged. Users must have the CAP_BYPASS_RAC_VMM and CAP_PROPAGATE capabilities. The capabilities are granted by a root user by editing the /etc/security/user file or for locally authenticated users with:

# chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE user_id

The system default is to not have any memory allocated to the large page physical memory pool. Use the vmo command to configure the size of the large page physical memory pool. This example allocates 4 GB to the large page physical memory pool:

# vmo -r -o lgpg_regions=256 -o lgpg_size=16777216

Note:

There is some benefit in using vmo to set vmm_mpsize_support to a value of 3 (if available) or 2 to optimize memory page usage.

It is recommended that you enable stack traces for TimesTen. On AIX systems, use procstack to get a stack trace.

Solaris Prerequisites

It is recommended that you enable stack traces for TimesTen. On Solaris systems, use pstack to get a stack trace.

In addition, before installation, use the information in these sections to improve the performance of TimesTen Classic on your Solaris system:

File System Options (Solaris)

On a Solaris UFS file host, mount the file system with the -forcedirectio option if you plan to have applications that use DurableCommits=1.

Create a Project (Solaris)

Create a project to manage system resources, such as shared memory, file descriptors and semaphores.

You can create a group project or a user project.

Note:

If you create a users group, the instance administrator must run the newtask command each time the TimesTen daemons must be restarted. If the TimesTen daemons start at system start time, add the newtask command to the system startup scripts.

For example, to create a project timestenproj for the group timesten (the TimesTen users group) with 500 GB of shared memory, 4096 semaphores and 65,535 file descriptors:

  1. Log in as user root.

  2. Add the group project.

    # projadd -G timesten timestenproj
    
  3. Modify the shared memory for the group to 500 GB.

    # projmod -a -K "project.max-shm-memory=(priv,500GB,deny)" timestenproj
    
  4. Modify the maximum number of semaphores to 4096.

    # projmod -a -K "process.max-sem-nsems=(priv,4096,deny)" timestenproj

    Note:

    For each active database, TimesTen Classic consumes a minimum of 155 SEMMSL plus one SEMMSL for each connection.

  5. Modify the maximum number of file descriptors to 65,535.

    # projmod -a -K "process.max-file-descriptor=(priv,65535,deny)" timestenproj
    
  6. Run the newtask command before restarting the TimesTen daemons.

    # newtask -p timestenproj -c $$
    

Or, for example, to create a user project for the user timestenuser, with 500 GB of shared memory, 4096 semaphores and 65,535 file descriptors:

  1. Log in as user root.
  2. Add the user project.
    # projadd -U timestenproj user.timestenuser
    
  3. Modify the shared memory for the group to 500 GB.
    # projmod -a -K "project.max-shm-memory=(priv,500GB,deny)" user.timestenuser
    
  4. Modify the maximum number of semaphores to 4096.
    # projmod -a -K "process.max-sem-nsems=(priv,4096,deny)" user.timestenuser

    Note:

    For each active database, TimesTen Classic consumes 155 SEMMSL, plus one SEMMSL for each connection.

  5. Modify the maximum number of file descriptors to 65,535.
    # projmod -a -K "process.max-file-descriptor=(priv,65535,deny)" user.timestenuser
    

Every user and every group are associated to a default project, which is the project under which their processes are run. The project or process settings used by a user are those that occur first in the /etc/project file. If you have not modified the project file, the system default project settings occur first.

Note:

Do not remove the default project settings from the project file. Instead, place project settings at the top of the project file above the default settings.

For either the user project method or group project method, you can choose between these two options for associating your project settings with the specified user or group:

  • Edit the /etc/project file to move the timestenproj project entry so that it precedes the default entry.

  • Execute the following before restarting daemons. This is required if the project was created with -G only.

    # newtask -p timestenproj -c $$

Note:

On a Solaris host, use MemoryLock with a setting of 3 or 4. A MemoryLock setting of 1 or 2 requires TimesTen to have been installed as root, which is not advisable.