AIX 7.2

                      =================================
                            MACHINE SPECIFIC NOTES
                                    FOR
               HCL Informix Database Server 15.0.0.0 PRODUCT RELEASE
                            Built on AIX 7.2 Technology.
                               DATE: 29 Oct 2024
                      =================================

OS Information : Built on AIX 7.2 Technology.

System Requirements
===================

1.  This product was built on AIX 7.2 Technology using the following
    compilers:

    IBM XL C/C++ for AIX, V16.1.0  (5725-C72, 5765-J12)
    XL C/C++ Runtime      16.1.0.10

2.  AIX patch requirement:

        TL5 (7200-05-07-2346)

3.  The UNIX graphical tools provided with this release require X Window
    system X11R6 and Motif 1.2, 7.2.3 or later runtime libraries.

4.  The High Performance Loader utilities, onpload and ipload, require a
    minimum of 35 MB of memory and 70 MB of swap space in order to run.

5.  If you are using Java(TM) UDRs, please refer to "AIX Loader Domains" under
    J/Foundation section for details.

6.  Informix Dynamic Server uses the libraries and utilities provided by
    OpenSSL, for data encryption and Secure Sockets Layer (SSL) communication.
    OpenSSL (3.0.10 or later) is not included with this product and must be
    installed separately.

    More information about OpenSSL can be found at https://www.openssl.org.


System Configuration
====================

1.  Location of Shared Memory

    The configuration parameter SHMBASE should be set to the following:

        SHMBASE 0x700000010000000

    If you are using Java UDRs, refer to the J/Foundation section for setting
    the SHMBASE value.

    The deployments with large memory footprint may benefit from setting
    SHMBASE to a value aligned on 1TB boundary:

        SHMBASE 0x700010000000000

2.  Environment Variables

    a. It is recommended that the environment variable INFORMIXSTACKSIZE be set
       to 128 (the default is 64) if the application involves operations which
       would require the Informix Dynamic Server to perform recursive
       database tasks (for example, cascading deletes).

    b. If you are using Java UDRs, set environment variable LDR_CNTRL to
       include the value "USERREGS" and "LOADPUBLIC" before starting
       Informix Dynamic Server:

           export LDR_CNTRL=LOADPUBLIC@USERREGS


Feature Notes
=============

1.  High Performance Loader

    User-defined conversion routines must be provided in a dynamic, shared
    library called ipldd11a_64.so. This library is installed in the
    $INFORMIXDIR/lib directory. You can set the location of this file with
    the HPL_DYNAMIC_LIB_PATH configuration parameter in the configuration
    file pointed to by the PLCONFIG environment variable. For more details,
    refer to the manual "High-Performance Loader User's Guide".

    To create a 64-bit shared library, the environment variable OBJECT_MODE
    should be set to 64 to convey to the compiler that a 64-bit object is to
    be generated. The "-q64" flag for cc can also be used to indicate to the
    compiler that 64-bit object is to be generated.

2.  IPv6 Support

    Informix Dynamic Server supports Internet Protocol Version 6 (128 Bit
    Internet Addresses) as well as IPv4 (32 Bit Addresses).

    In order for the machine name that is specified in the sqlhosts file to
    resolve to the correct IP address, the name services files on the operating
    system must be configured correctly. If the machine has an IPv6 address
    configured, and the listener thread is bound to an IPv6 address, then the
    name resolution file /etc/netsvc.conf must be configured to fetch an IPv6
    address. Also any local machine settings must be correct in the
    /etc/hosts file.

    For compatibility with earlier versions of client and server products,
    assign each host name with both an IPv4 address and an IPv6 address. If
    the listener needs to be bound to an IPv4 address, and the name
    services resolve the name in the order of the IPv6 address followed
    by the IPv4 address, then an explicit IPv4 address needs to be put
    in the host name field of sqlhosts file. Client applications should
    also use the same setting.

3.  J/Foundation (Java in the Server)

    IBM Java is no longer provided by the installers. Customers will need to
    pre-install a properly licensed Java JRE (11 or higher) that will be used
    to run the installers, and used to set the "extend/krakatoa/jre" for Java
    UDRs.

    A Java user-defined routine (UDR) runs in a Java virtual processor. Use
    the VPCLASS configuration parameter to specify the number of virtual
    processors for the server. You configure Java virtual processors in
    the "Java configuration parameters" section of the configuration file.
    The default onconfig.std file is in the $INFORMIXDIR/etc directory.

    To develop Java UDRs for the server on this platform, use Java Platform,
    Standard Edition Development Kit (JDK) 11 or version according to Java
    compatibility guidelines.

    Location of Shared Memory
    -------------------------
    When using Informix Dynamic Server with J/Foundation, the
    configuration parameter SHMBASE should be set to at least
    the following (or higher) address:

        SHMBASE 0x700000030000000

    AIX Loader Domains
    ------------------
    If multiple shared libraries are loaded onto two VPs, one of which is
    a Java VP, and the libraries are not loaded in the same order on each
    VP, executing a function from the libraries can cause
    Informix Dynamic Server to core dump with the following message in the
    message log file:

        09:35:58  Assert Failed: Exception Caught. Type: MT_EX_OS, Context: ill
        09:35:58   Who: Session(15, informix@ibms70, 46918, 1075033896)
                        Thread(41, sqlexec, 4010c7d8, 3)
                        File: mtex.c Line: 372
        09:35:58   Action: Please notify Technical Support.

    You would typically encounter this error if your application is using
    both C UDRs and Java UDRs.

    To resolve this problem, the AIX loader domains concept is used. The
    loader domain provides a means of loading shared libraries at the same
    virtual address in a set of processes. The loader domain file is created
    during the installation of Informix Dynamic Server. This is
    installed as "/var/adm/ifx_loader_domain".

    Informix Dynamic Server with J/Foundation on AIX requires the loader
    domain file "/var/adm/ifx_loader_domain" to exist at all times. If the
    file does not exist, create it as superuser using the following commands:

        touch /var/adm/ifx_loader_domain
        chgrp informix /var/adm/ifx_loader_domain
        chmod 660 /var/adm/ifx_loader_domain

4.  Kernel Asynchronous I/O (KAIO)

    KAIO is enabled by default on this platform.

    The Asynchronous I/O (AIO) subsystem is loaded by default but not
    activated. No AIO server is started at AIX startup. The AIO server is
    automatically started when applications are initiating AIO requests. It
    stays active as long as it services AIO requests.

    To disable KAIO, set the environment variable KAIOOFF:

         KAIOOFF=1 ; export KAIOOFF      ( for Bourne or Korn shell )
         setenv KAIOOFF 1                ( for C shell )

    Limit the number of resident memory segments allocated by
    Informix Dynamic Server.
    If Informix Dynamic Server allocates a lot of resident memory
    segments and uses a lot of KAIO and direct I/O, KAIO read or write calls
    might fail with errno 22 (EINVAL). EINVAL errors can lead to down dbspaces
    or system aborts. The following error typically appears in the server log:

         04:30:40  KAIO: error in kaio_WRITE, kaiocbp = 0x22b620d0, errno = 22
         04:30:40  fildes = 258 (gfd 3), buf = 0x700000122b64000, nbytes = 4096,
                   offset = 130785280

    The usual reason for these EINVAL errors is that the OS is running low
    on resident memory pages because Informix Dynamic Server has too many
    shared memory segments allocated as "resident," as well as pinned OS
    kernel memory and KAIO resources.

    You can prevent these errors by setting fewer, or no,
     Informix Dynamic Server shared memory segments as resident.
    Set the RESIDENT configuration parameter in the onconfig file to 1 or 0.

    In memory constrained environment changing RESIDENT configuration
    parameter may negatively affect performance. It is recommended to
    configure adequate amount of memory in the LPAR running the server
    or control server memory allocation by setting SHMTOTAL to the
    appopriate value.

5.  Network Protocols

    The following protocols and interfaces are supported on this platform:

       SOCKETS using TCP/IP
       IPC using stream pipe (implemented using UNIX Domain Sockets)

    To use SOCKETS with TCP/IP:

       a. The NETTYPE entry in the configuration file and the nettype field in
          the sqlhosts file entry must contain "onsoctcp".

       b. To enable an IBM Data Server Client to connect to the database
          server, the NETTYPE entry in the configuration file and the protocal
          value in the sqlhosts file entry must contain "drsoctcp"

          If a CLI or JCC client wants to connect to the database server
          through DRDA while supporting SQLI connections, you must add a
          DBSERVERALIASES entry to the configuration file that corresponds to
          the sqlhosts file entry.

    To use IPC (interprocess communication) with stream pipe:

        a.  The NETTYPE entry in the configuration file and the nettype
            field in the sqlhosts file entry must contain "onipcstr".

    Fast poll is supported with TCP/IP and stream pipe interfaces. To disable
    fast poll, set the FASTPOLL parameter to 0 in the configuration file.
    By default the fast poll is enabled (value is 1).

    Remote 32-bit applications and tools (example: ESQL/C, 4GL, ISQL) can
    only connect to the Informix Dynamic Server using the TCP/IP
    protocol.

    Local 32-bit applications and tools can connect to the 64-bit server
    using either the TCP/IP sockets or the IPC stream pipe protocols.

6.  No Age (Disable Priority Aging)

    The no aging feature that disables priority aging of CPU virtual processors
    by the operating system can be activated by setting the noage option of the
    VPCLASS configuration parameter for the CPU virtual processors. For example,
    the following configuration parameter entry specifies that there are 8
    CPU VPs, each without aging:

    VPCLASS cpu,num=8,noage

    When the noage option is used, all oninit processes will run at priority
    60 with fixed priority round robin type scheduling.

    To override the default priority value for CPU VP class, set the
    environment variable INFX_CPUVP_PRIORITY to the desired priority,
    within limits (50 to 90) before starting the server.

    The server checks and sets the CPU VP process to the defined priority
    if the defined value is within the above range.

7.  OnLine Backup and Restore (ON-Bar)

    ON-Bar uses the XBSA interface. Some of the functions invoked by ON-Bar
    are in a shared library supplied by third party storage management vendors.
    For ON-Bar to access these functions, set the BAR_BSALIB_PATH parameter in
    the configuration file to the full pathname of the library.

    Using $INFORMIXDIR/lib/ibsad001_64.so as a symbolic link to the
    library is deprecated and shall be discontinued.

    OneDB Interface for Tivoli Storage Manager (TSM) is supported on this
    platform. The interface is built with TSM API Client version 5.3.2.

8.  Pluggable Authentication Module (PAM)

    PAM functionality is supported on AIX operating systems. PAM requires
    the libpam.so library that is supplied by the Operating System vendor.

    Use of PAM can be enabled or disabled by the system administrator. By
    default, Informix Dynamic Server will use the traditional
    authentication mechanism to avoid changes for the users.

    The PAM modules typically reside in /usr/lib/security/64. The PAM
    services are defined in /etc/pam.conf.

9.  Processor Affinity

    The processor affinity feature, which allows the pinning of a CPU
    virtual processor to a physical processor in a multi-CPU configuration,
    is supported on this platform.

    Note for AIX 7.2 TL5 and AIX 7.3 earlier than TL1:

    Starting Informix Dynamic Server as root may fail due to AIX
    security enhancements which results in a loss of privileges
    when root user switches to a non-root UID and then back to
    the root user. That will prevent setting CPU affinity or may
    cause session authentication failures.
    Staring the server as "informix" works, but the affinity may
    not be set, unless the informix user has been configured with
    appropriate capabilities. For further information refer to
    the IBM AIX documentation and/or man pages for the "chuser"
    command.

    This does not affect AIX 7.3 TL1 (7300-01-03-2346) or later

10. Shared Memory Residency

    Shared Memory Residency is supported. This feature can be enabled by
    setting the configuration parameter RESIDENT to a non-zero value.

    Please read the KAIO section in this file if you are using
    Shared Memory Residency together with KAIO or DIRECT_IO, as this
    combination may cause problems.

    See APAR IC76872 for further information.

11. Single Sign On (SSO)

    This feature requires AIX system library libgssapi_krb5 to be installed
    on the system. This library is included in krb5.toolkit.adt (Network
    Authentication Service App. Dev. Toolkit).

12. OnSNMP

    The SNMP agent for OnSNMP is based on SNMP Research (SNMPR).

13. Secure Sockets Layer

    Informix Dynamic Server uses the libraries and utilities provided by
    the IBM Global Security Kit (GSKit) for Secure Sockets Layer (SSL)
    communication.

       a. Before uninstalling GSKit, verify that it is not needed on your
          system. It is possible that software other than
          Informix Dynamic Server requires GSKit. Uninstalling entails
          removing GSKit packages as follows:

          To remove package, as root user run the following
          installp -u -g -V2 GSKit8.gskcrypt64.ppc.rte GSKit8.gskssl64.ppc.rte

       b. If you want to restore Secure Sockets Layer capability after you
          have uninstalled GSKit, see the readme file in $INFORMIXDIR/gskit
          for how to install GSKit.

14. Simple Password Communications Support Module

    The name of the IBM Informix shared library for Simple Password CSM on
    on AIX is libixspw.so.

15. AIX Large Segment Aliasing (LSA)

    Support for this AIX feature is enabled in the Informix Dynamic Server
    by default. Allowing AIX to allocate memory segments aligned on 1TB
    address greatly improves performance stability by avoiding overflows
    of the translation lookaside buffer, usually DTLB, when application
    is actively using large amounts of memory (RAM).

    Support for the AIX Large Segment Aliasing is controlled by the
    configuration parameter AIX_LSA:

    Values: 
        0 - Support for AIX LSA is off
        1 - LSA enabled  (default)
        2 - LSA enabled + Resident and first virtual segments
            share one OS segment

    The shared memory base (SHMBASE) configuration parameter must be
    aligned on 1TB boundary to use LSA, the Informix Dynamic Server
    will round SHMBASE address appropriately during start up when the
    feature is enabled (AIX_LSA > 0).  For more information about
    AIX LSA see the "IBM Power Systems performance Guide".


Features not Supported
======================

1.  Concurrent I/O on Shared Disk Secondary Servers.

2.  Support for Communication Support Module (CSM) is removed starting
    Informix Server 14.10.xC9 . You should use Secure Sockets Layer
    (SSL)/Transport Layer Security (TLS) instead.


(C) Copyright IBM Corp. 2002, 2017
(c) Copyright HCL Technologies Ltd. 2017, 2024. All Rights Reserved.