Getting Started with Informix on Linux: Installation and Compatibility Guide
This guide provides essential information for installing Informix products on Linux systems. It covers where to obtain Informix products, compatibility statements regarding OS versions, and installation procedures. Additionally, it outlines the limitations of RPM packages and highlights key features supported by Informix, such as backup utilities and online management protocols. By following this guide, users can ensure proper installation and setup of Informix Dynamic Server 2000 and related components on their Linux distributions.
Getting Started with Informix on Linux: Installation and Compatibility Guide
E N D
Presentation Transcript
Getting Started on Linux Marion TrompeterSenior Software Engineer, Informix Software
Where to Obtain Informix Products • Download through Intraware http://www.intraware.com • Request a CD from Jones Business Systems,Inc http://www.jbsi.com • In the UK, purchase directly from Linux IT http://www.linuxit.com • Call Informix at 1-800-331-1763, or your local Informix office http://www.informix.com/informix/contact
Compatibility Statement • Definition of the OS version • Kernel version (I.e. kernel 2.2.12) • glibc version (I.e. glibc 2.1.2) • Informix is not supporting any specific distributor, but certain combinations of kernel and glibc versions • With each major version change of the kernel or glibc, Informix products will be re-certified for these versions
Product Availability - Others • Linux AXP (Alpha processors) • IDS.2000 9.21 • kernel 2.2.13 • glibc 2.1.2 • CSDK 2.50 • kernel 2.2.13 • glibc 2.1.2 • ISA 1.20 • kernel 2.2.13 • glibc 2.1.2 • Linux for S390 • C-ISAM 7.24 • kernel 2.2.16 • glibc 2.1.3
Unsupported Features 7.30 • High-End Enterprise Features: • Optical • Enterprise Replication (ER) • Back up and restore utility (ON-Bar) • Informix Storage Manager (ISM) • Parallel load utility (pload, ipload) • Communication Support Modules (CSM) • Online Simple Network Management Protocol (onsnmp) • High-Availability Data Replication (HDR) • Performance metrics monitor (Onperf) • Back up and restore at server granularity level (Onarchive) • Other Features: • Very Large Memory (VLM; for 64-bit support) • Secure auditing (OS C2 auditing) • Pinning of a CPU VP process (Affinity) • Raw Device Support • KAIO • Disabling priority aging of CPU VP’s (no aging)
Unsupported Features 9.21 • High-End Enterprise Features: • Online Simple Network Management Protocol (onsnmp) • Back up and restore at server granularity level (Onarchive) • Other Features: • Secure auditing (OS C2 auditing) • Pinning of a CPU VP process (Affinity) • KAIO Support of Processor Affinity and KAIO Are Planned for Kernel 2.4!
Determining the OS Version • Kernel version • uname -r 2.2.14 • glibc version • ls -l /lib/libc.so* • lrwxrwxrwx 1 root root … /lib/libc.so.6 -> libc-2.1.2.so • rpm -qa | grep libc • glibc-2.1.2-11
Distribution Examples • Caldera 2.4 • kernel 2.2.14 • glibc 2.1.2 • RedHat 7 • kernel 2.2.16 • glibc 2.2 (2.1.92) • Suse 7 • kernel 2.2.16 • glibc 2.1.3 • TurboLinux 6.0 • kernel 2.2.14 • glibc 2.1.2
Installing Foundation.2000 • Setting the environment • INFORMIXDIR • default: /opt/informix • Installation command • rpm -I <filename> • Installation to different $INFORMIXDIR • rpm -I --relocate /opt/informix=$INFORMIXDIR \ <filename>
Limitations of RPM • Each product should be installed only once per machine • Parallel test and production systems • Different products installed in the same directory can only have each file name once • CSDK on top of database server • To use graphical tools, user interaction and environment variables should be avoided • $INFORMIXDIR • Licensing
Installation FAQ’s • rpm -i csdk240uc1.rpm returns /opt/informix/bin/chkenv conflicts with file from IIF-9.20.UC1-1... • The error is due to the RPM attempting to replace the existing files with different checksum. • Use --replacefiles or -- force option • rpm -i csdk230uc1.rpm returns error: failed dependencies: libifgls.so is needed by iconn-2.30.UC1-1 libifglx.so is needed by iconn-2.30.UC1-1 • Use --nodeps option
Installation FAQ’s • Message during installation "To complete the installation of Informix Dynamic Server 2000, run RUN_AS_ROOT.server as root.” • Disregard the message. Installation continues automatically. Later message is indicating this: "Performing root portion of installation of Informix Dynamic Server 2000..."
Setting Up Raw Devices • Create a partition • fdisk • Disk Druid (RedHat) • YaST/YaST2 • Partition type 83 (Linux native) • Not referenced in fstab, no filesystem • Bind a raw device to a block device using the command “raw” • raw /dev/raw/raw1 /dev/sda10 • Binding will be lost with next re-boot • add command to startup scripts (/etc/rc.d) • Change owner to informix.informix • Change permissions to 660
Krakatoa Setup - 9.21 • Bundled JRE 1.2.2 package is available under $INFORMIXDIR/extend/krakatoa/jre to be used with J/Foundation • setenv JVPJAVAHOME $INFORMIXDIR/extend/krakatoa/jre • To get the JRE shared libraries loaded properly: • 1. add the following lines at the end of /etc/ld.so.conf <$INFORMIXDIR>/extend/krakatoa/jre/lib/i386 <$INFORMIXDIR>/extend/krakatoa/jre/lib/i386/native_threads <$INFORMIXDIR>/extend/krakatoa/jre/lib/i386/classic • 2. run ldconfig as root • # ldconfig
Krakatoa Setup - 9.21 • Server onconfig Settings for J/Foundation • VPCLASS jvp,num=number where 'number' is the number of Java Virtual Processors • JVPHOME <jvphome> where <jvphome> is $INFORMIXDIR/extend/krakatoa • JVPLOGFILE <jvphome>/jvp.log • JVPPROPFILE <jvphome>/.jvpprops • JVPJAVAVM hpi:jvm:java:net:zip:jpeg • JDKVERSION 1.2 • JVMTHREAD native • JVPJAVAHOME <jvphome>/jre • JVPJAVALIB /lib/i386 • JVPCLASSPATH <jvphome>/krakatoa.jar:<jvphome>/jdbc.jar
Kernel Parameters • Files • NR_OPEN number of open files per process • NR_FILE number of open files system wide • Semaphores • SEMMNI number of semaphore identifiers in the kernel • SEMMSL maximum number of semaphores per identifier list
Kernel Parameters • Shared Memory • SHMALL maximum total shared memory system wide • SHMMNI maximum number of shared memory segments system wide • SHMSEG number of attached shared memory segments per process • SHMMAX maximum shared memory segment size
/proc • Pseudo file system • internal data structures • change kernel parameters at run time • /proc/sys - tunable kernel parameters • For permanent changes, parameter changes must be added to the system startup scripts /etc/rc.d
/proc/sys • Files • /proc/sys/fs/file-max maximum number of file handles • /proc/sys/fs/file-nr number of allocated file handles, number of used file handles, and maximum number of file handles • Memory • /proc/sys/kernel/shmall maximum shared memory system wide (pages) • /proc/sys/kernel/shmmax maximum shared memory segment size (bytes)
Kernel Parameters • Files • /usr/src/linux/include/linux/limits.h • OPEN_MAX • NR_OPEN • /usr/src/linux/include/linux/fs.h • NR_OPEN • NR_FILE • /usr/src/linux/include/linux/posix_types.h • __FD_SETSIZE • /usr/include/linux Review your kernel source before implementing changes - kernel source differs between versions!
Kernel Parameters • Semaphores • /usr/src/linux/include/linux/sem.h • SEMMNI • SEMMSL (<=512) • Shared Memory • /usr/src/linux/include/asm-i386/shmparam.h • SHMALL • SHMMNI • SHMSEG • SHMMAX
Building a Kernel • Configuration • make config command-line • make menuconfig menu-driven,hierarchical structure • make xconfig X Windows, hierarchical structure
Building a Kernel • Compilation • make dep prepares dependencies • make clean removes old objects • make bzImage builds compressed image of the kernel • make modules builds device driver modules
Building a Kernel • Testing • boot floppy • fdformat /dev/fd0H1440 • make bzdisk • /etc/lilo.conf - /sbin/lilo • image = /boot/vmlinuz.new • label = linux.new • root = /dev/hda1
Building a Kernel • Installing • Modules • mv /lib/modules /lib/modules.sv • make modules_install • Kernel • mv /vmlinuz /vmlinuz.sv • make install • Lilo • add entry for saved kernel • /sbin/lilo
FAQ’s • Which protocol are supported on Linux? • Due to technical restrictions in Linux, the protocols currently supported are • Shared Memory - onipcshm • Berkley Sockets - onsoctcp