Informix Machine Notes
Here you find actual Machine Notes to Informix Products that we prepared for you.
=================================
MACHINE SPECIFIC NOTES
FOR
IBM Informix Database Server 12.10.FC12 PRODUCT RELEASE
On Linux x86_64
DATE: 24 Jun 2018
=================================
OS Information : Built on Red Hat Enterprise Linux ES release 5.3 (Tikanga)
Certified on RHEL 6 and 7, SUSE SLES 11 and 12,
Ubuntu Server Edition 8.04, 10.04, 12.04 LTS
and 14.04 LTS, Asianux 3 SP3, Debian 5.0,
CentOS 6 and 7.
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 x86_64 compatible processors.
The following compilers were used:
gcc and c++ compiler 4.1.2 20080704 (Red Hat 4.1.2-44)
The following package have to be installed on your Linux system:
libaio-0.3.106
libgcc-4.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)
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
- Red Hat Enterprise Linux ES release 7.0 (Kernel: 3.10.0, Glibc: 2.17)
The following packages have to be installed:
libaio-0.3.109
libgcc-4.8.2-16
libstdc++-4.8.2-16
ncurses-5.9
pam-1.1.8
- SUSE SLES 11 (Kernel: 2.6.27, Glibc: 2.9). 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
- SUSE SLES 12 (Kernel: 3.12.28, Glibc: 2.19). The following packages
have to be installed:
libaio-0.3.109
libgcc_s1-4.8.3
libstdc++6-4.8.3
ncurses-utils-5.9
pam-1.1.8
- Asianux 3 SP3 (Kernel: 2.6.18, Glibc: 2.5.49). 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).
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
- Ubuntu Server Edition 14.04.3 LTS (Kernel: 3.13.0-63, Glibc: 2.19).
The following packages have to be installed:
libgcc 4.8.4
libstdc++6 4.8.4
libncurses5 5.9
libpam 1.1.8
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.
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 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 GSKit is not installed,
the script $INFORMIXDIR/gskit/installgskit will install GSKit in
/usr/local/ibm/gsk8_64 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.
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: 4398046511104
SHMMNI: 4096
SHMALL: 4194304
SEMMNI: 4096
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
3. Environment Variables
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 IBM Informix Database Server to perform recursive
database tasks (for example, cascading deletes).
4. JRE Shared Libraries
Ensure that the JRE shared libraries are loaded properly within the Java(TM)
Virtual Machine by adding the following two directories to the Informix
library path:
a. $INFORMIXDIR/extend/krakatoa/jre/bin
b. $INFORMIXDIR/extend/krakatoa/jre/bin/j9vm
Add the directories to the path by using either of the following two methods:
I. Modify the ld.so library cache.
Add the two 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/j9vm" $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
64-bit 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".
The following two environment variables are required to be set as:
PLOAD_SHMBASE=0x000004000000000
IFX_XFER_SHMBASE=0x000005000000000
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.
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. J/Foundation (Java in the Server):
The IBM Runtime Environment, Java Technology Edition, Version 7.0
release is installed in $INFORMIXDIR/extend/krakatoa/jre and should be
used with the J/Foundation component.
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 onconfig configuration
file. The default onconfig.std file is in the $INFORMIXDIR/etc directory.
To develop Java UDRs for the server on this platform, use the 64-bit
IBM SDK, Java Technology Edition, Version 7 or an earlier version
according to Java compatibility guidelines. Java SDK 7 contains the
latest virtual machine technology from IBM and can be downloaded from
http://www.ibm.com/java/jdk/.
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
starting 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. Large Memory Addressability (LMA)
IBM Informix LMA provides the ability to support system configurations
with greater than 4GB of RAM. Most UNIX systems are limited to 4GB of
RAM based on the memory addressing limitations of 32-bit architectures.
The values for the following ONCONFIG parameters are increased from
32-bit to 64-bit platform by LMA support:
- The maximum number of buffers in BUFFERPOOL is 2147483647.
- The maximum of LRU queues for lrus field in BUFFERPOOL is 512.
- The DS_TOTAL_MEMORY, which is the total memory available for
decision support memory, is only limited by the amount of virtual
memory available. The sort memory comes out of the DS_TOTAL_MEMORY
memory and hence there is no explicit limit on the amount of sort
memory.
- The read ahead parameter RA_PAGES is only limited by the number of
buffers and therefore can be any value less than 2147483647. The
"chunk" write algorithm is not dependent on the amount of buffers
or shared memory and can write as many pages in a single I/O as
possible.
- The maximum size of any shared memory segment is 4398046511104 bytes.
- The value for SHMADD is 4294967296 kilobytes.
Refer to IBM Informix Administrator's Reference manual for the
information about the related configuration parameters setting.
6. Locking large pages in memory
The Informix database server can use large pages in memory when queries
require more memory. (On Linux operating systems, large pages are called
huge pages.) However, after you initialize Informix on Linux operating
systems, the database server is unable to lock large pages in memory when
queries require more memory. If you want to take advantage of the large-page
support, you must use the onmode utility to add memory segments, and then
run the queries.
7. MQ Messaging Database Extension
The MQ extension provides mechanism for data exchange between
Informix server and queues managed by Websphere MQ.
Note : MQ extension expects Websphere MQ libraries installed in the
default location /opt/mqm. Otherwise create symbolic links
from /opt/mqm/lib64 to the 64-bit Websphere MQ libraries.
8. 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).
Remote 32-bit or 64-bit applications and tools (example: ESQL/C, 4GL, ISQL)
can only connect to the IBM Informix Database 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.
The protocol for supporting IBM Informix MaxConnect on this platform
is "onsocimc".
9. 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.
This shared library must be compiled in 64-bit mode.
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.
10. OnSNMP
The SNMP agent for OnSNMP is based on SNMP Research (SNMPR).
11. 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.
12. 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/security and its parameters are listed in
/etc/pam.conf.
13. 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.
14. 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.
15. Secure Sockets Layer
IBM Informix Database Server uses the libraries and utilities provided by
the 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 gskssl64-8.0.50.88 gskcrypt64-8.0.50.88
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.
16. 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. Rolling upgrades to this IDS version are supported from version 12.10.xC8
or higher.
Rolling upgrades are not supported in this IDS version from versions
older than 12.10.xC8. Such a migration requires changes to disk structures
and the conversion process is incompatible with a rolling upgrade. In such
cases, when upgrading HDR and RSS secondary servers, you must follow the
steps listed in the on-line documentation under "Migrating an offline
cluster to a new major version."
2. 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.
Migrating to this 64-bit Version
================================
1. To migrate to this 64-bit version server from previous versions of the
server (for Linux x86-64 as well as Linux x86 32bit), refer to the
migration process described in the IBM Informix Migration Guide, Version
12.10.
To revert from this 64-bit version to all previous 64-bit versions
refer to the IBM Informix Migration Guide, Version 12.10.
To revert from 64-bit 12.10 (this server) to 32-bit 12.10:
----------------------------------------------------------
a. Disconnect all users from this server. The 64-bit engine should
be in online mode.
b. Run the following command as user informix or DBA:
$INFORMIXDIR/etc/conv/update.sh -32 -d
c. Shutdown the 64-bit server.
d. Bring up the 32-bit 12.10 server by setting your INFORMIXDIR
environment variable to point to the 32-bit distribution.
To revert from 64-bit 12.10 (this server) to 32-bit 11.70, 11.50, 11.10,
10.00:
------------------------------------------------------------------------
a. Disconnect all users from this server. The 64-bit server should be
in online mode.
b. Run the following command as user informix or DBA:
$INFORMIXDIR/etc/conv/update.sh -32
c. Revert to 11.70, 11.50, 11.10 or 10.00 32-bit by following the steps
described in the IBM Informix Migration Guide, Version 12.10,
in the section "Reverting from Informix Version 12.10".
d. When reverting back to 11.50.UC4 32-bit server, you may see an
extra message "Conversion Completed Successfully" in the online.log
file after the server comes up, and the sysmaster database is built.
e. A known problem in reverting from 64-bit server to 32-bit 11.50UC6,
it gives "Assertion Failure".
This problem happens only in upgrading the 32-bit 11.50.UC6 server to
the 64-bit 12.10 server, and then reverting it back to 11.50UC6.
This problem is fixed in 11.50.xC7 release. Server conversion or
reversion between 32-bit 11.50.UC7 and 64-bit 12.10 works as expected.
2. All UDRs and Database Extensions that are built in 32-bit mode must be
re-compiled in 64-bit mode to work with the 64-bit server. If you have
any UDRs that were developed on 32-bit, make sure that the proper size
and alignment of the data structures are used for the UDRs to work
correctly on 64-bit after re-compilation in 64-bit mode.
Defects Fixed in this release
=============================
For information about defects fixed in this release, see:
Click here for a list
(C) Copyright IBM Corp. 2002, 2017
(C) Copyright HCL Technologies Ltd. 2017, 2018. All Rights Reserved.