Informix Machine Notes
Here you find actual Machine Notes to Informix Products that we prepared for you.
================================= MACHINE SPECIFIC NOTES FOR IBM Informix Dynamic Server 11.50.UC9 PRODUCT RELEASE On Linux Intel DATE: 25 Jul 2011 ================================= OS Information : Built on Red Hat Enterprise Linux ES release 4 (Nahant Update 3). Certified on RHEL 5 and 6, SUSE SLES 10 and 11, Asianux 2.0 and 3.0, Ubuntu Server Edition 6.06.1 and 8.04 LTS, Debian 4.0 and 5.0, on i686 and x86_64 (EM64T/AMD64) System Requirements =================== 1. This product was built on Red Hat Enterprise Linux ES release 4 (Nahant Update 3, Kernel: 2.6.9, Glibc: 2.3.4) for i686 compatible processors. The i686 version of glibc is required. The following compilers were used: gcc and c++ compiler 3.4.5 20051201 (Red Hat 3.4.5-2) The following packages have to be installed on your Linux system: libaio-0.3.105 libgcc-3.4.5 libstdc++-3.4.5 ncurses-5.4 pam-0.77 This product has been certified on: - Red Hat Enterprise Linux ES release 5 (Kernel: 2.6.18, Glibc: 2.5) for i686 and x86_64 (EM64T/AMD64). The following packages have to be installed: libaio-0.3.106 libgcc-4.1.1 libstdc++-4.1.1 ncurses-5.5 pam-0.99.6.2 - 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 10 (Kernel: 2.6.16, Glibc: 2.4) for i686 and x86_64 (EM64T/AMD64). The following packages have to be installed: libaio-0.3.104 libgcc-4.1.0 libstdc++-4.1.0 ncurses-5.5 pam-0.99.3.0 - 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 2.0 (Kernel: 2.6.9, Glibc: 2.3.4) for i686 and x86_64 (EM64T/AMD64). The following packages have to be installed: libaio-0.3.103 libgcc-3.4.3 libstdc++-3.4.3 ncurses-5.4 pam-0.77 - Ubuntu Server Edition 6.06.1 LTS (Kernel: 2.6.15, Glibc: 2.3.6) for i686 and x86_64 (EM64T/AMD64). The following packages have to be installed: bc 1.06 libaio1 0.3.104 libgcc 4.0.3 libncurses 5.5 libpam 0.79 - Debian 4.0 (Kernel: 2.6.18, Glibc: 2.3.6) for i686 and x86_64 (EM64T/AMD64). The following packages have to be installed: libaio1 0.3.106 libgcc 4.1.1 libncurses 5.5 libpam 0.79 2. System Specific Update level on x86_64 (EM64T/AMD64) for KAIO problem A problem is found when IDS running on RHEL 4 for x86_64 with update level below 4. This is tracked as Red Hat bugzilla bug number 86891 (RIT86891- "32bit program using AIO io_queue_init returns -22 in 64bit system"). When IDS is suffering from this OS defect (i.e. a 32-bit IDS version in RHEL 4 below UL4 and using KAIO), the server will give an assertion failure, and the instance will not start, and print the following message in the server log: 09:49:54 Assert Failed: initializing KAIO failed 09:49:54 Who: Session(1, xyz@abc, 0, (nil)) Thread(14, kaio, 0, 1) File: kaioapi.c Line: 246 09:49:54 Results: io_queue_init(32768) failed returning -22, errno = 0 09:49:54 Stack for thread: 14 kaio A circumvention in this case can be to disable KAIO. The fix is to upgrade RHEL 4 for x86_64 to at least update 4. 3. The UNIX graphical tools ipload, onperf and xtree only require OpenMotif runtime libraries version 2.2.x. The minimum version is 2.2.3, i.e. openmotif-2.2.3 or openmotif-libs-2.2.3. 4. The Korn shell is required for the ISM and IDS alarmprogram scripts. Install it as /bin/ksh. On Ubuntu Server Edition, pdksh needs to be installed. 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. If the product runs on Debian 4.0 x86_64, the following 32-bit packages are required: libc6-i386 lib32ncurses5 5. If a suitable library libaio.so.1 is found, IBM Informix Dynamic Server enables Kernel Asynchronous I/O (KAIO) automatically. Otherwise KAIO is disabled. The minimum version of libaio is 0.3.103. 6. 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. 7. IBM Informix Dynamic 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 the GSKit was previously installed, but is older than version 7.0.4.27, IDS will upgrade the GSKit on your machine to version 7.0.4.27. If GSKit is not installed, IDS will install GSKit in /usr/local/ibm/gsk7 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 4 - compat-libstdc++-33-3.2.3-47.3 or later 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 Dynamic Server: http://www.ibm.com/software/data/informix/linux/ids.html 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 SHMMIN: 1 SHMMNI: 128 SHMSEG: 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 - Some Linux distributions (e.g. SUSE SLES 10) provide a way to dynamically change the default start address for shared libraries on a per-process basis. This feature is available if the file /proc/$$/mapped_base exists. To change the start address for shared libraries of the oninit processes, the new start address needs to be specified by the user root in the shell from where oninit is started. For example, the following sets the start address of shared libraries to 0xB0000000L: $ echo $$ 29712 $ su root Password: # echo 0xB0000000 > /proc/29712/mapped_base # exit $ oninit 3. JRE Shared Libraries In order to ensure the JRE shared libraries are loaded properly, the following steps are necessary: a. Add the following lines at the end of /etc/ld.so.conf <$INFORMIXDIR>/extend/krakatoa/jre/bin <$INFORMIXDIR>/extend/krakatoa/jre/bin/classic <$INFORMIXDIR>/extend/krakatoa/jre/lib This assumes the bundled JRE in $INFORMIXDIR/extend/krakatoa/jre is used. Substitute <$INFORMIXDIR> by the value of your INFORMIXDIR environment variable. c. Run ldconfig as root # ldconfig 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 and 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. ISMP - InstallShield Multi-Platform A JRE is embedded in the installation program. If you have problems with the embedded JRE, you can use your own. The minimum recommended JRE version is 1.4.2. 4. J/Foundation (Java in the Server): J/Foundation supports the JRE 5.0 release from IBM Corporation, which uses the Linux native threads based Java Virtual Machine. JRE 5.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/eclipse/ For IBM Informix Dynamic Server ONCONFIG settings for J/Foundation, refer to "onconfig.std" in $INFORMIXDIR/etc. If you have multiple versions of IBM Informix server running on the same system, and they are also running java-based UDRs, the recommendation is to use a server specific ldconfig file instead of /etc/ld.so.conf for loading the JRE shared libraries. For example, the 11.50.UC9 server is installed at /usr/informix/11.50.UC9, file /usr/informix/11.50.UC9/etc/ld.so.conf is created to contain: /usr/informix/11.50.UC9/extend/krakatoa/jre/bin /usr/informix/11.50.UC9/extend/krakatoa/jre/bin/classic /usr/informix/11.50.UC9/extend/krakatoa/jre/lib Run the following command as root user: # ldconfig -f /usr/informix/11.50.UC9/etc/ld.so.conf 5. 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 Dynamic 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. 6. MQ DataBlade Module The MQ DataBlade module provides mechanism for data exchange between IDS and queues managed by Websphere MQ. MQ DataBlade requires minimum version 6.0 of Websphere MQ to be installed. 7. 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 Dynamic 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 IDS 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". 8. 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, the library must be installed in one of the three ways noted below: a. Rename the library to $INFORMIXDIR/lib/ibsad001.so b. Create $INFORMIXDIR/lib/ibsad001.so as a symbolic link to the library. c. Set the BAR_BSALIB_PATH parameter in $INFORMIXDIR/etc/$ONCONFIG to the full pathname of the library. Informix Interface for Tivoli Storage Manager (TSM) is supported on this platform. The interface is built with TSM API version 5.3.2. 9. OnSNMP The SNMP agent for OnSNMP is based on SNMP Research (SNMPR). 10. 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. 11. 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 IDS 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. 12. 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. 13. Raw Character Devices Some Linux distributions support binding a raw character device to a block device. Any block device may be used. IBM Informix Dynamic Server supports using raw character devices. 14. Secure Sockets Layer IBM Informix Dynamic Server uses the libraries and utilities provided by the IBM Global Security Kit (GSKit) for Secure Sockets Layer (SSL) communication. The GSKit provides iKeyman utility (gsk7cmd, gsk7ikm) and a non-java utility (gsk7capicmd) for managing digital certificates necessary for SSL communication. a. Product prerequisite for iKeyman utility: The iKeyman utility requires the IBM Java Runtime Environment (JRE) or IBM Java Development Kit (JDK) version 1.3.1, 1.4.1 or higher with the Java Cryptography Extension (JCE) security package. b. Environment for iKeyman utility: - JAVA_HOME must be set to the JRE/JDK installation directory - PATH must include <JRE/JDK installation>/jre/bin - CLASSPATH must include <GSKit installation>/classes/cfwk.zip, <GSKit installation>/classes/gsk7cls.jar and <JRE/JDK installation>/jre/lib/ext/ibmpkcs11.jar c. Before uninstalling GSKit, verify that it is not needed on your system. It is possible that software other than Informix Dynamic 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 gsk7bas-7.0.4.27 d. 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. 15. 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. DataBlade module registration using the blademgr utility with a Secure Sockets Layer (SSL) connection. Use the built-in SQL SYSBldPrepare( ) function to register the DataBlade module instead. Known Defects ============= Refer to section I in doc/ids_defects_11.50.txt for the information regarding known issues. Defects Fixed in current Release ================================ Refer to section II in doc/ids_defects_11.50.txt for the information regarding defects fixed in this release. Defects Fixed in Previous Releases ================================== Refer to sections III to VIII in doc/ids_defects_11.50.txt for the information regarding defects fixed in previous release. (C) Copyright IBM Corp. 2002, 2011