Linux ARM64

                      =================================
                            MACHINE SPECIFIC NOTES
                                    FOR
               IBM Informix Database Server 12.10.FC6 PRODUCT RELEASE
                                On Linux ARM64
                               DATE: 29 Oct 2015
                      =================================

OS Information: Built on Ubuntu Linux 14.04 aarch64

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

1.  IBM(R) Informix(R) 12.10 was built on Ubuntu Linux 14.04 aarch64
    (Kernel: 3.13.0, EGLIBC: 2.19) for ARM64 (ARMv8) compatible processors.
    The following compilers were used:

	gcc and c++ compiler 4.8.2

    The following packages are required on your Linux system:

        libaio1
        libgcc1
        libstdc++6
        libncurses5

2.  The Korn shell is required for the Informix server alarmprogram 
    scripts. Install it as /bin/ksh.

3.  If a suitable library libaio.so.1 is found, the Informix Database Server 
    enables Kernel Asynchronous I/O (KAIO) automatically. Otherwise KAIO is 
    disabled.

4.  Java JDK version 1.6 or later package on your system. We tested the
    product with java version "1.7.0_40".

5.  IBM Informix Database Server uses the libraries and utilities provided by
    the IBM Global Security Kit (GSKit) for data encryption and Secure Sockets
    Layer (SSL) communication. The GSKit is bundled with the server and must
    be installed on your machine as part of the server installation process.

    Here are more details on the GSKit:

       a. The GSKit is also bundled with other IBM products and might
          already be present on your machine. If GSKit8 is not installed, 
          the script $INFORMIXDIR/gskit/installgskit will install GSKit in
          /usr/local/ibm/gsk8 directory on your machine.

       b. The GSKit installation directory must have 25 MB of free disk space.

       c. The RPM or Debian Package Manager is required to be installed on the
          system.

       d. The GSKit for this platform has no FIPS certification.


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

1.  Kernel Parameters

    The values of the kernel parameters that were used for testing this
    product are given below. You can tune these parameter values depending
    on the application and availability of system resources. The values can 
    be changed dynamically in the /proc file system or, if they are defined
    in the kernel sources, they can be changed by rebuilding the kernel.

    SHMMAX:   33554432
    SHMMNI:   4096
    SHMALL:   2097152
    SEMMNI:   128
    SEMMSL:   250
    SEMMNS:   32000
    SEMOPM:   32

    - The value of the kernel parameter "SEMMSL" must be set to at least
      100. This value is the maximum number of semaphores per set.  

2.  Location of Shared Memory

    In the ONCONFIG file, SHMBASE is set to the following value:

        SHMBASE 0x44000000L

    - SHMBASE can also be set to start above the shared library addresses.
      When doing so, ensure that the dynamically loaded shared libraries
      do not collide with the shared memory segments.
      You can check the address space layout with the following command:
      $ cat /proc/<pid of oninit process>/maps


Feature Notes  (alphabetized by feature)
=============

1.  High Performance Loader

    User-defined conversion routines must be provided in a dynamic, 
    shared library called ipldd11a.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 file pointed to by
    PLCONFIG environment variable. For more details, refer the manual
    "High-Performance Loader User's Guide".

2.  IPv6 Support 

   The Informix database 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 service switch files /etc/nsswitch.conf must be configured to fetch 
   an IPv6 address. Also any local machine settings must be set correctly in 
   the /etc/hosts file.

   For compatibility with earlier version of Informix 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.  Kernel Asynchronous I/O (KAIO)

    KAIO is enabled by default on this platform. It can be disabled by setting
    the environment variable KAIOOFF=1 in the environment of the process that
    started the server.

    When using KAIO, run poll threads on separate virtual processors by
    specifying NET as the VP class in the NETTYPE configuration parameter.
    Examples:

        NETTYPE ipcshm,...,...,NET
        NETTYPE soctcp,...,...,NET

    On Linux, there is a system wide limit of the maximum number of parallel
    KAIO requests. The limit is set in the /proc/sys/fs/aio-max-nr file.
    A Linux system administrator can increase the value by using the echo 
    command. For example:   

        # echo new_value > /proc/sys/fs/aio-max-nr

    The current number of allocated requests of all operating system processes 
    is visible in the /proc/sys/fs/aio-nr file.

    By default, the Informix server allocates half of the maximum number of 
    requests, and assigns them equally to the number of configured CPU virtual
    processors. You can control the number of requests allocated per CPU 
    virtual processor by setting the environment variable KAIOON. Set the 
    variable to the required value before starting the database server. The 
    minimum value for KAIOON is 100. If Linux is about to run out of KAIO 
    resources, for example, when dynamically adding many CPU virtual processors,
    warnings are printed to the database server message log file. In this case,
    the Linux system administrator must add KAIO resources as described 
    previously.

4.  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 ONCONFIG 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 ONCONFIG 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 ONCONFIG file that corresponds to 
          the sqlhosts file entry.

    To use IPC (interprocess communication) with stream pipe:

        a.  The NETTYPE entry in the ONCONFIG 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 ONCONFIG file. By default 
    the fast poll is enabled (value is 1).

    The protocol for supporting IBM Informix MaxConnect on this platform 
    is "onsocimc".

5.  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 the functions, set the BAR_BSALIB_PATH parameter in
    $INFORMIXDIR/etc/$ONCONFIG to the full pathname of the library.

6.  Pluggable Authentication Module (PAM)                                  
                                                                           
   PAM functionality is supported on Linux 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, the Informix server will use the traditional authentication 
   mechanism to avoid changes for the users.

   The PAM service identifies the PAM module. This PAM module usually is   
   located in /usr/lib/arm-linux-gnueabihf and its parameters are listed 
   in /etc/pam.conf.                                               

7.  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.

8.  Raw Character Devices

    Some Linux distributions support binding a raw character device to a 
    block device. Any block device can be used. The Informix database server 
    supports using raw character devices.

9.  Secure Sockets Layer

    IBM Informix Database 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 Database 
          Server requires GSKit. Uninstall by identifying and removing GSKit
          packages using the command-line interface: 

          Run rpm command with the -qa option to obtain a list of installed 
          GSKit RPM packages with their exact names.
          For example:
          rpm -qa | grep gsk

          As root user run the rpm command to remove each package as needed. 
          For example:
          rpm -ev gskssl64-8.0.50.52 gskcrypt64-8.0.50.52

          Run dpkg command with the -l option to obtain a list of installed 
          GSKit Debian packages with their exact names.
          For example:
          dpkg -l | grep gsk

          As root user run the dpkg command to remove each package as needed. 
          For example:
          dpkg -r gskssl64 gskcrypt64

       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.

10. Simple Password Communications Support Module

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


Features not supported
======================

1.  Informix Interface for Tivoli Storage Manager (TSM)

2.  OnSNMP

3.  Deployment assistant and utility

4.  J/Foundation (Java in the Server)

5.  MQ Messaging Database Extension

6.  Informix web feature service for Geospatial Data

7.  Onperf utility

8.  Label-based access control (LBAC)

9.  Shared-disk secondary server (SDS)

10. XML Publishing


Known Defects in this release
=============================

For information about known defects in this release, see: 
http://www.ibm.com/support/docview.wss?uid=swg27046899


Defects Fixed in this release
=============================

For information about defects fixed in this release, see: 
http://www.ibm.com/support/docview.wss?uid=swg27046898


(C) Copyright IBM Corp. 2002, 2015