System Requirements

This document covers the following topics:


Supported Operating System Platforms

Adabas supports a variety of operating environments. For information on the support platforms for this release of Adabas, read Supported Platforms, in the Release Notes.

Disk Space Requirements

Approximately 1 GB of hard-disk space is required for Adabas (including Adabas, Adabas Client and Software AG Installer packages).

Additional Software Requirements

For the installation of Adabas, the following additional software requirements apply:

Operating System Platforms Requirement

Red Hat Enterprise Linux Server 7 (IBM System z 64bit)
Red Hat Enterprise Linux Server 7 (x86-64)
SUSE Linux Enterprise Server 12 (x86-64)

Red Hat Enterprise Linux Server 8 (IBM System z 64bit)
Red Hat Enterprise Linux Server 8 (x86-64)
SUSE Linux Enterprise Server 15 (x86-64)

Please ensure that your host name is correctly configured. Issue the following command hostname or uname -u.
If these commands return a fully-qualified domain name (FQDN), no additional actions are required.
If, however, they return only the node name (other than localhost), you should look in the file /etc/hosts and ensure that the node name is not an alias for localhost. You may have to reconfigure your network and set an FQDN as host name.

The libstdc++ package must be installed.

Libncurses

Adabas uses libncurses.so.5. Please ensure that the appropriate package is installed: on Red Hat based systems ncurses-compat-libs-6.1, on SUSE libncurses5-6.1.

Adding User Account for Administration of Software AG Products

In this section the following is assumed:

  • The user account for the administrator of Software AG products is called "sag".

  • The group to which the administrator and all users of Software AG products are assigned is called "sag".

  • The home directory for the user "sag" is /opt/softwareag.

  • The root directory for Software AG products is /opt/softwareag.

Caution:
If you use a different administrator user and/or group name, showipc, which is also used by the Adabas nucleus, only works after some environment variables have been set. For further information, please refer to ADANUC in the Utilities documentation and showipc in the Database Monitoring and Tuning documentation.

Start of instruction setTo perform the following steps, use an appropriate system administration tool (e.g. smit).

  • Create the administrator's account and group

    1. Create one administrator's account and one group for all Software AG products when you install your first Software AG product.

    2. Define an administrator account to which all of the Software AG products installed at your site belong. Since all environment definition files for the products are written for the Bourne shell, this shell is required as the login shell for the administrator account.

    3. Define a group to which the administrator and all users of Software AG products belong.

    4. Create a login directory for the user "sag".

    Example:

    It is assumed that user and group accounts are defined in the respective files in /etc.

    The following is a possible entry in the system file /etc/group:

    sag:*:21:sag

    The following is a possible entry in the system file /etc/passwd:

    sag::100:21:SAG - Product Administrator:/opt/softwareag:/bin/sh

Increasing the System Kernel Limits

Adabas requires increased System V resources. You can check your current settings by using the command showipc -s. In the following, the resources required for Adabas are described. Note that there are also other processes running on your system that require IPC resources. Therefore, you must add the IPC resources required by the other processes to parameters that describe a system-wide maximum number or size of resources. For parameters that describe the maximum size of a resource, the value must, of course, be large enough for the other processes.

Notes:

  1. One or more of these parameters may not exist on all UNIX platforms.
  2. Adabas must already be installed before you can execute the showipc command.
Kernel Parameter Description Recommended Minimum Value
SHMMAX The maximum size in bytes of a shared memory segment.

The size of SHMMAX limits the size of the Adabas buffer pool and the number of attached buffers (LBP and LAB nucleus parameters).

The maximum value for all databases of

LBP + LWP + (number of worker threads/10 +1) MB

LAB

LABX

Note:
For the number of worker threads, see the description of the ADANUC parameters NT and APU. If you use Adabas-to-Adabas replication add the number of replication threads (default: 3 * number of target databases).

SHMMNI The maximum number of shared memory segments, system-wide. Number of databases * 4.
SHMSEG The maximum number of shared memory segments, per process. 4 Segments.
SEMVMX The maximum value of any semaphore. 32767
SEMAEM The maximum value of any semaphore's adjust-on-exit value. 1024
SEMMNI The maximum number of semaphore sets, system-wide. Number of databases * 2
SEMMNS The maximum number of semaphores, system-wide. Number of databases * (2 + NCL)
SEMMNU The maximum number of undo structures, system-wide. For all databases - calculate the SUM (2 + NCL)
SEMMSL The maximum number of semaphores per semaphore set.

This parameter limits the number of users per database (NCL parameter).

This parameter should be at least as large as the largest NCL value of all databases + 1.

MSGMAX The maximum number of bytes of a message we can send. 64 Bytes.
MSGMNB The maximum number of bytes that can be queued in a single queue (i.e., the sum of all messages in that queue). For all databases - select the maximum value of the NCL parameter * 32 Bytes.
MSGMNI The maximum number of message queues, system-wide. For all databases - calculate the SUM of (2 + NCL + maximum of (2 or NT/3)).
MSGTQL The maximum number of messages, system-wide. For all databases - calculate the SUM of (32 * NCL).

Solaris

Solaris 10 and later provides the Resource Control Facility feature for setting kernel parameters. Refer to the Solaris documentation for information about this feature.

Kernel parameter changes should be made to the Solaris Resource Control Facility whether or not you are using zones in Solaris. In a configuration with zones, make these changes in the global zone.

Kernel Parameter Solaris Parameter Description
SHMMAX max-shm-memory The maximum size in bytes of a shared memory segment.
SHMMNI max-shm-ids The maximum number of shared memory segments, system-wide.
SEMMNI max-sem-ids The maximum number of semaphore sets, system-wide.
SEMMSL max-sem-nsems The maximum number of semaphores per semaphore set.
MSGMNB max-msg-qbytes The maximum number of bytes that can be queued in a single queue (i.e., the sum of all messages in that queue).
MSGMNI max-msg-ids The maximum number of message queues, system-wide.
MSGTQL max-msg-messages The maximum number of messages, system-wide.

Additional Kernel Parameters on Linux

In addition to the general kernel parameters described above, on Linux systems it is necessary to configure the kernel parameters for the "inotify" file system monitoring mechanism. The following parameters should be set in the /etc/sysctl.conf according to the number of Adabas client processes:

  • fs.inotify.max_user_instances
    This specifies an upper limit on the number of inotify instances that can be created per real user ID (at least number of parallel used databases multiplied with the number of client processes).

  • fs.inotify.max_user_watches
    This specifies an upper limit on the number of watches that can be created per real user ID (at least number of parallel used databases multiplied with the number of client processes).

See also /proc/sys/fs/inotify for further details.

Changing the Thread Scheduling Model on AIX

The performance of Adabas can be improved by making some changes to the thread scheduling model. By default, AIX uses 8:1 as the ratio of user threads to kernel threads. There are two ways in which you can change this ratio:

  • By setting the environment variable AIXTHREAD_MNRATIO. You can choose any ratio.

    Example:

    AIXTHREAD_MNRATIO=1:1
    export AIXTHREAD_MNRATIO
  • By setting the environment variable AIXTHREAD_SCOPE.

    Example:

    AIXTHREAD_SCOPE=S
    export AIXTHREAD_SCOPE

    This gives you a 1:1 ratio.

    Example:

    AIXTHREAD_SCOPE=P
    export AIXTHREAD_SCOPE

    This gives you an M:N ratio.

AIXTHREAD_SCOPE=S is the recommended setting, which gives you a 1:1 ratio.