=================================
MACHINE SPECIFIC NOTES
FOR
IBM Informix Database Server 12.10.UC2 PRODUCT RELEASE
On Linux Intel
DATE: 22 Aug 2013
=================================
OS Information : Built on Red Hat Enterprise Linux ES release 5.3 (Tikanga).
Certified on RHEL 6, SUSE SLES 11, Ubuntu Server Edition
8.04, 10.04 and 12.04.1 LTS, Asianux 3 SP3, Debian 5.0,
and CentOS 6 on i686 and x86_64 (EM64T/AMD64)
System Requirements
===================
1. This product was built on Red Hat Enterprise Linux ES release 5.3
(Kernel: 2.6.18, Glibc: 2.5.34) for i686 compatible processors.
The i686 version of glibc is required. The following compilers
were used:
gcc and c++ compiler 4.1.2 20080704 (Red Hat 4.1.2-44)
The following packages have to be installed on your Linux system:
libaio-0.3.106
libgcc4.1.2
libstdc++-4.1.2
ncurses-5.5
pam-0.99
This product has been certified on:
- Red Hat Enterprise Linux ES release 6.0 (Kernel: 2.6.32, Glibc: 2.12)
for i686 and x86_64 (EM64T/AMD64). The following packages have to be
installed:
libaio-0.3.107
libgcc-4.4.4-13
libstdc++-4.4.4-13
compat-libstdc++-33-3.2.3
ncurses-5.7
pam-1.1.1
- SUSE SLES 11 (Kernel: 2.6.27, Glibc: 2.9) for i686 and x86_64
(EM64T/AMD64). The following packages have to be installed:
libaio-0.3.104
libgcc43-4.3.3
libstdc++43-4.3.3
ncurses-utils-5.6
pam-1.0.2
- Asianux 3 SP3 (Kernel: 2.6.18, Glibc: 2.5.49). for i686 and x86_64
(EM64T/AMD64). The following packages have to be installed:
libaio-0.3.106
libgcc-4.1.2
libstdc++-4.1.2
ncurses-5.5
pam-0.99
- Ubuntu Server Edition 8.04.1 LTS (Kernel: 2.6.24, Glibc: 2.7.10) for
i686 and x86_64 (EM64T/AMD64). The following packages have to be
installed:
libgcc 4.2.4
libstdc++6 4.2.4
libncurses5 5.6
libpam 0.99
- Ubuntu Server Edition 10.04 LTS (Kernel: 2.6.32, Glibc: 2.11.1).
The following packages have to be installed:
libgcc 4.4.3
libstdc++6 4.4.3
libncurses5 5.7
libpam 1.1.1
- Ubuntu Server Edition 12.04.1 LTS (Kernel: 3.2.0-30, Glibc: 2.15).
The following packages have to be installed:
libgcc 4.6.3
libstdc++6 4.6.3
libncurses5 5.9
libpam 1.1.3
Installing the product on Ubuntu or Debian requires RPM to be installed
and initialized. After RPM installed, use the following commands to
initialize RPM:
mkdir -p /var/lib/rpm
rpm --initdb
The bc utility is required by the product installer, and needs to be
installed on Ubuntu.
2. The UNIX graphical tools ipload, onperf and xtree only require
OpenMotif runtime libraries version 2.3.x. The minimum version is
2.3.1, i.e. openmotif-2.3.1 or openmotif-libs-2.3.1.
3. The Korn shell is required for the Informix server alarmprogram
scripts. Install it as /bin/ksh. On Ubuntu Server Edition, pdksh needs
to be installed.
4. If a suitable library libaio.so.1 is found, IBM Informix Database Server
enables Kernel Asynchronous I/O (KAIO) automatically. Otherwise KAIO is
disabled.
If the product runs on Ubuntu Server Edition x86_64, the following
32-bit packages are required:
libc6-i386
libncurses
The 32-bit libncurses is missing and not packaged, you need to copy
it from a i386 (32bit) installation: /lib/libncurses.so.5 to x86_64
32-bit compat libs: /lib32/libncurses.so.5.
5. 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.
6. 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 will
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,
Informix server 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. One of the following packages must be installed on your system:
RHEL 5 - compat-libstdc++-33-3.2.3-61 or later
d. The RPM Package Manager is required to be installed on the system.
Check the following web site for the latest Linux system requirements for IBM
Informix Database Server:
http://www-01.ibm.com/support/docview.wss?rs=630&uid=swg27013343
System Configuration
====================
1. Kernel Parameters
The values of the kernel parameters that were used for testing this
product are given below. These values might need to be tuned depending
on the application and availability of system resources. They can
either be dynamically changed in the /proc file system or are defined
in the kernel sources and can be changed by rebuilding the kernel.
SHMMAX: 33554432
SHMMNI: 128
SHMALL: 4194304
SEMMNI: 128
SEMMSL: 250
SEMMNS: 32000
SEMOPM: 32
- The value of the kernel parameter "SEMMSL" should be set to at least
100. This is the maximum number of semaphores per set.
2. Location of Shared Memory
The ONCONFIG variable SHMBASE is set to the following:
SHMBASE 0x44000000L
- SHMBASE can also be set to start above the shared library addresses.
When doing so, ensure that dynamically loaded shared libraries
do not collide with the shared memory segments.
The address space layout can be checked by the following command:
$ cat /proc/<pid of oninit process>/maps
3. JRE Shared Libraries
Ensure that the JRE shared libraries are loaded properly within the Java
Virtual Machine by adding the following three directories to the Informix library path:
a. $INFORMIXDIR/extend/krakatoa/jre/bin
b. $INFORMIXDIR/extend/krakatoa/jre/bin/classic
c. $INFORMIXDIR/extend/krakatoa/jre/lib
Add the directories to the path by using either of the following two methods:
I. Modify the ld.so library cache.
Add the three library paths to the /etc/ld.so.conf file, and update the
ld.so cache by running /sbin/ldconfig as user root.
This method makes system wide changes that can affect other applications
that use Java.
II. Modify the value of the oninit ELF DT_RPATH tag.
Use the $INFORMIXDIR/etc/brand tool to modify the ELF DT_RPATH tag in the
Informix oninit binary. Run the tool as user root while the server is offline.
To modify the value of the ELF DT_RPATH tag, run the following command:
brand -r "$INFORMIXDIR/extend/krakatoa/jre/bin:$INFORMIXDIR/extend/krakatoa/jre/bin/classic:$INFORMIXDIR/extend/krakatoa/jre/lib" $INFORMIXDIR/bin/oninit
To print and verify the existing ELF DT_RPATH tag, run the following command:
brand -t $INFORMIXDIR/bin/oninit
Substitute $INFORMIXDIR with the value of your INFORMIXDIR environment variable.
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".
Onpload will use shared memory during its execution. It will allocate
memory beyond the address for the server, leaving room for server shared
memory expansion.
Depending on the location of the shared libraries, OS stack etc., a
suitable location of pload shared memory spaces needs to be determined.
Linux system administrator is the best person to find the correct values
for PLOAD_SHMBASE for his particular system. The suggestive values for
PLOAD_SHMBASE could be 0x10000000L, or 0x44000000L.
2. IPv6 Support
IBM Informix Server supports Internet Protocol Version 6 (128 Bit Internet
Addresses) as well as IPv4 (32 Bit Addresses).
In order for the machine name specified in the SQLHOSTS file to resolve
to the correct IP address, the name services files on the operating system
should be correctly configured. If the machine has IPv6 address configured
and the listener thread is bound to an IPv6 address, then the name
resolution files /etc/nsswitch.conf should be configured to fetch IPv6
address. Also use the appropriate /etc/hosts setting if local machine
settings are used.
For compatibility with older IBM Informix client and server products,
assign the same hostname 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 IPv4 address,
then an explicit IPv4 address needs to be put in nodename field of SQLHOSTS
file. Client applications should also use the same setting.
3. J/Foundation (Java in the Server):
J/Foundation supports the JRE 6.0 release from IBM Corporation, which uses
the Linux native threads based Java Virtual Machine.
JRE 6.0 is available under $INFORMIXDIR/extend/krakatoa/jre and should
be used with J/Foundation.
To use this JRE, set the value of the ONCONFIG variable JVPJAVAHOME as
follows:
JVPJAVAHOME <jvphome>/jre
where <jvphome> is $INFORMIXDIR/extend/krakatoa
For developing Java UDRs used with J/Foundation, use the JDK 5.0, which
can be downloaded from:
http://www.ibm.com/developerworks/java/jdk/linux/download.html
For IBM Informix Database Server ONCONFIG settings for J/Foundation,
refer to "onconfig.std" in $INFORMIXDIR/etc.
Java Attach API
------------------
There is a known defect (IZ73533) in the IBM Java SE Runtime Environment SR7
where if the Attach API is enabled, it causes high CPU utilization. In order
to avoid this behavior, the Attach API has been disabled by setting the
following server ONCONFIG parameter:
JVPARGS -Dcom.ibm.tools.attach.enable=no
4. 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
starting the server.
When using KAIO, it is recommended to run poll threads on separate VPs by
specifying NET as VP class in the NETTYPE onconfig parameter, e.g.
NETTYPE ipcshm,...,...,NET or
NETTYPE soctcp,...,...,NET
On Linux, there is a system wide limit of the maximum number of parallel
KAIO requests. The file /proc/sys/fs/aio-max-nr is containing this value.
It can be increased by the Linux system administrator, e.g. by
# echo new_value > /proc/sys/fs/aio-max-nr
The current number of allocated requests of all OS processes is visible
in /proc/sys/fs/aio-nr.
By default, IBM Informix Database server is allocating half of the maximum
number of requests, and assigns them equally to the number of configured
CPU VPs. The number of requests allocated per CPU VP can be controlled by
the environment variable KAIOON, by setting it to the required value before
bringing up the server. The minimum value for KAIOON is 100. If Linux is
about to run out of KAIO resources, e.g. when dynamically adding many CPU
VPs, warnings will be printed to the online.log file. In this case, the
Linux system administrator should add KAIO resources as described above.
5. MQ Messaging Database Extension
The MQ extension provides mechanism for data exchange between
Informix server and queues managed by Websphere MQ.
6. 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. NETTYPE 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 Informix
Database Server, NETTYPE in the ONCONFIG file and the value data
of protocol in the sqlhosts file entry must contain "drsoctcp"
If a CLI or JCC client wants to connect to Informix server via DRDA
while supporting SQLI connections you could add a DBSERVERALIASES
entry to ONCONFIG which corresponds to the sqlhosts file.
To use IPC (interprocess communication) with stream pipe:
a. NETTYPE 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. FASTPOLL
in the ONCONFIG file can be set to 0 to disable the fast poll. By default
the fast poll is enabled (value is 1).
The protocol used for supporting MaxConnect on this platform is "onsocimc".
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 the functions, set the BAR_BSALIB_PATH parameter in
$INFORMIXDIR/etc/$ONCONFIG to the full pathname of the library.
Using $INFORMIXDIR/lib/ibsad001.so as a symbolic link to the library is
deprecated and shall be discontinued.
Informix Interface for Tivoli Storage Manager (TSM) is supported on this
platform. The interface is built with TSM API version 5.3.2.
8. OnSNMP
The SNMP agent for OnSNMP is based on SNMP Research (SNMPR).
9. Optical
The Optical feature has not been tested with the Optical Simulator.
The name of IBM Informix shared library for Optical on Linux is
"iosm11a.so". This library must be located in $INFORMIXDIR/lib (or
must have a link provided in $INFORMIXDIR/lib).
Refer to the "Optical Subsystem Guide" for more information about
enabling optical functionality.
10. Pluggable Authentication Module (PAM)
PAM functionality is supported on Linux operating system. The PAM is
dependent on the libpam.so library supplied by the Operating System vendor.
Use of PAM can be enabled or disabled by the system administrator. By
default, IBM Informix server will use the traditional authentication
mechanism in order to avoid widespread changes required by the users.
The PAM service identifies the PAM module. This PAM module typically
resides in /usr/lib/security and its parameters are listed in
/etc/pam.conf.
11. Processor Affinity
The processor affinity feature, that allows the pinning of a CPU VP
processor to a physical processor in a multi-cpu configuration, is
supported on this platform.
12. Raw Character Devices
Some Linux distributions support binding a raw character device to a
block device. Any block device may be used. IBM Informix Database Server
supports using raw character devices.
13. 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 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 gskssl32-8.0.50.10 gskcrypt32-8.0.50.10
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 Linux is libixspw.so.
Features not supported
======================
1. Database Extension registration using the blademgr utility with a Secure
Sockets Layer (SSL) connection. Use the built-in SQL SYSBldPrepare( )
function to register the Database Extension instead.
Known Defects in this release
=============================
For information about known defects in this release, see:
http://www.ibm.com/support/docview.wss?uid=swg27038365
Defects Fixed in this release
=============================
For information about defects fixed in this release, see:
http://www.ibm.com/support/docview.wss?uid=swg27038362
(C) Copyright IBM Corp. 2002, 2013