2. Prerequisites

Prerequisites are the elements required on your system before you can install and use DB2 UDB Version 8.2. These elements include hardware, software, and communication pieces required for DB2 UDB Version 8.2 to run successfully. This section covers:

2.1. Hardware requirements

2.1.1. Supported processors

  • x86 (IntelŪ PentiumŪ, Intel Xeon, and AMD Athlon)

  • x86–64 (Intel EM64T and AMD64)

  • IA64 (Intel Itanium 2 or later)

  • POWER™ (any iSeries™ or pSeriesŪ that supports Linux)

  • zSeries

2.1.2. Disk space requirements

Take into account the disk space requirements before you install and configure DB2 UDB on your distribution:

Table 1. Disk space requirements

Install type

Description

Required disk space

Typical

DB2 UDB is installed with most features and functionality, including graphical tools such as the Control Center and the Development Center.

450 to 500 MB

Compact

DB2 UDB is installed with basic features and functionality, without the graphical tools.

350 to 400 MB

Custom

This option allows you to select the features and functionality that you want to install.

350 to 700 MB

It's important to allocate enough disk space for the required software prerequisites, along with the product documentation (if desired) and the databases you create. For example, in Version 8.2, DB2 UDB product documentation is accessed through the DB2 UDB Information Center. This is a separately installable product that requires at least 100 MB when installing the core English language files. Additional space is required for additional languages. However, if disk space is an issue, you can configure DB2 UDB to access the Information Center from the Web. More detail about this great feature is provided in the Section 6 section.

2.1.3. Memory requirements

You should allocate a minimum of 256 MB of RAM for a product like the DB2 UDB Enterprise Server Edition, but additional memory should be allocated for other software and communication processes. When determining memory requirements, consider the following points:

  • Your SWAP space should be at least twice as much as your RAM.

  • Additional memory should be allocated for any non-DB2 UDB software that may be running on your system.

  • Additional memory is required to support database clients and database activity.

  • These memory requirements will be affected by the size and complexity of your database system, as well as specific performance requirements.

2.2. Software requirements

2.2.1. Distribution levels that are supported by DB2 UDB Version 8.2

In DB2 UDB Version 6, only 32-bit Intel architectures were supported. With the release of DB2 UDB Version 8.2, IBM has demonstrated its support for the Linux platform by validating on a much broader range of architectures. For the sake of convenience, this table lists the recommended and validated distributions that DB2 UDB officially supports in Version 8.2.

Table 2. Recommended and validated distributions

Distributions

Platforms

x86

x86_64

IA64

POWER

zSeriesŪ

AMD64

EM64T

32–bit

64–bit

64–bit

64–bit

32–bit

64–bit

31–bit

64–bit

Red Hat Enterprise Linux (RHEL) 3

x

x

x

x

x

x

x

x

SuSE Linux Enterprise Server (SLES) 8

x

x

x

x

x

x

SuSE Linux Enterprise Server (SLES) 9

x

x

x

x

x

x

x

x

For a list of all of the distributions that are officially supported, as well as the latest information about kernels, libraries, integrated cluster environments, and papers, visit the DB2 UDB for Linux validation Web site listed in the Section 10 section.

2.2.2. Required kernel levels and libraries

2.2.2.1. Kernel parameter values

To successfully run DB2 UDB on your Linux distribution, you may be required to update some of the default kernel parameter settings. For example, the 2.4.x series kernel message queue parameter msgmni has a default value that allows only a limited number of simultaneous connections to DB2 UDB.

These are the recommended values for DB2 UDB to run optimally:

  • kernel.shmmax=268435456 for 32-bit

  • kernel.shmmax=1073741824 for 64-bit

  • kernel.msgmni=1024

  • fs.file-max=8192

  • kernel.sem="250 32000 32 1024"

Fortunately, DB2 UDB Version 8.2 has a new feature that checks the values of the kernel.semmni, kernel.msgmni, and kernel.shmmax parameters when you enter the db2start command, and changes them for you if the current values are not optimal. This new feature makes these changes:

  • The semmni kernel parameter is changed to 1024

  • The msgmni kernel parameter is changed to 1024

  • The shmmax kernel parameter is changed to 268435456 (32-bit) or 1073741824 (64-bit)

For example, after you issue the db2start command for the first time, you should receive output like the following messages in your db2diag.log file:

ADM0506I DB2 has automatically updated the "semmni" kernel
parameter from "128" to the recommended value "1024".

2004-07-31-16.38.59.074791 Instance:db2inst1
Node:000
PID:15996(db2sysc) TID:8192 Appid:none
base sys utilities sqlesysc_main Probe:9

ADM0506I DB2 has automatically updated the "msgmni" kernel
parameter from "16" to the recommended value "1024".

2004-07-31-16.38.59.076916 Instance:db2inst1
Node:000
PID:15996(db2sysc) TID:8192 Appid:none
base sys utilities sqlesysc_main Probe:9

ADM0506I DB2 has automatically updated the "shmmax" kernel
parameter from "33554432" to the recommended value "268435456".

2004-07-31-16.39.01.262594 Instance:db2inst1
Node:000
PID:15994(db2star2) TID:8192 Appid:none
base sys utilities startdbm Probe:911

ADM7513W Database manager has started.

Notice that db2start did not update the fs.file-max parameter. Any kernel at 2.4.18 and later automatically updates this parameter. Because of this new feature, it is no longer necessary for you to manually update the kernel.shmmax, kernel.msgmni, and kernel.sem parameters prior to installing DB2 UDB.

2.2.2.2. Manually updating kernel parameters

If, for some reason, you need to change these default settings, you can update them manually. To check your current shared memory segment, semaphore array, and message queue limits, enter the ipcs -l command. Your output should look something like this:
        ------ Shared Memory Limits --------
        max number of segments = 4096
        max seg size (kbytes) = 32768
        max total shared memory (kbytes) = 8388608
        min seg size (bytes) = 1
        ------ Semaphore Limits --------
        max number of arrays = 1024
        max semaphores per array = 250
        max semaphores system wide = 32000
        max ops per semop call = 32
        semaphore max value = 32767
        ------ Messages: Limits --------
        max queues system wide = 1024
        max size of message (bytes) = 8192
	default max size of queue (bytes) = 16384

For example, here are instructions on how to modify the kernel.shmmax, kernel.sem, and the kernel.msgmni parameters on Red Hat Linux 8, and how to keep them set after a reboot.

  1. Log on as a user with root authority

  2. Open up /etc/sysctl.conf in a text editor and add entries:
    kernel.shmmax=268435456
    kernel.msgmni=1024
    kernel.sem="250 32000 32 1024"

  3. Enter the sysctl -p command to load in sysctl settings from /etc/sysctl.conf.

  4. Enter the ipcs -l to view the updated kernel parameters in sysctl.

To view all sysctl settings, enter: sysctl -a. You can also temporarily update the kernel parameters (during run time) by using the sysctl -w command. For example, to change the kernel.msgmni parameter to 1024, enter the command:
sysctl -w kernel.msgmni=1024
These settings will not remain after the next reboot unless they are saved in the /etc/sysctl.conf file.

Again, consider the same procedure on SuSE Linux. Modifying kernel parameters on SuSE Linux is a little different from the method on Red Hat Linux. These instructions will explain how to update the kernel.shmmax, kernel.sem, and the kernel.msgmni parameters, and how to set them for reboot.

  1. Log in as a user with root authority.

  2. Some SuSE Linux distributions do not have a /etc/sysctl.conf file. If so, you need to create one manually using a text editor.

  3. In the /etc/sysctl.conf file, add entries:
            kernel.shmmax=268435456
            kernel.msgmni=1024
            fs.file-max=8129
            kernel.sem="250 32000 32 1024"

  4. Enter the sysctl -p command to load in sysctl settings from /etc/sysctl.conf.

  5. Add sysctl -p to a system initialization file to set kernel parameters after each reboot. To do this, write a script and configure it to run automatically at runlevel 5. Specifically, you need to create an executable file in /etc/init.d/, and then add pointers to this script in /etc/init.d/rc5.d. For example, in /etc/init.d create an executable file named kerneldb2 that contains the script:
    #! /bin/sh
    #
    #
    # /etc/init.d/kerneldb2
    #
    ### END INIT INFO
    touch /var/lock/subsys/kerneldb2
    /sbin/sysctl -p >> /var/lock/subsys/kerneldb2
    

    Then in /etc/init.d/rc5.d, we added pointers to the kerneldb2 script by entering the commands:
    cd /etc/init.d/rc5.d
    ln -s ../kerneldb2 S99kerneldb2
    ln -s ../kerneldb2 K99kerneldb2
    Like Red Hat Linux, you can temporarily update the kernel parameters (during run time) by using the sysctl -w command. For example, to change the kernel.sem parameter, enter the command:
    sysctl -w kernel.sem="250 32000 32 1024"
    Again, these settings will not remain after the next reboot unless they are saved in the /etc/sysctl.conf file.

2.2.3. The IBM Developer Kit for Java (SDK), Version 1.3.1 and 1.4.1

If the IBM SDK for Java is required by a component being installed, and it's not already installed on your computer, the SDK for Java will be installed if you use either the DB2 UDB Setup wizard or a response file to install the product. If you use the db2_install utility to install DB2 UDB, the SDK won't get installed. In that case, you must install the rpm file manually.

You require the appropriate level of IBM Software Development Kit for Java (SDK) to use Java-based tools like the Control Center and the Development Center, and to create and run Java applications, including stored procedures and user-defined functions.

Table 3. SDK levels by operating system

Operating system

SDK for Java level

Linux x86

SDK 1.4.1 Service Release 2

Linux IA64

SDK 1.4.1 Service Release 2

Linux x86-64 (hybrid)

32-bit SDK 1.4.1 Service Release 2

Linux 390

SDK 1.4.1 Service Release 2

SDK 1.4.1 Service Release 2

Linux PPC (hybrid)

SDK 1.4.1 Service Release 2

To manually install the SDK rpm file:

  1. Run one of these rpm commands appropriate for your Linux operating system from the /cdrom/db2/linux/Java-1.4 directory:

    Table 4. RPM commands

    Operating system

    Command

    Destination Directory

    Linux IA32

    rpm -ivh IBMJava2-SDK-1.4.1-2.0.i386.rpm

    /opt/IBMJava2-141

    Linux IA64

    rpm -ivh IBMJava2-SDK-1.4.1-2.0.ia64.rpm

    /opt/IBMJava2-141

    Linux 390

    rpm -ivh IBMJava2-SDK-1.4.1-2.0.s390.rpm

    /opt/IBMJava2-s390-141

    Linux 390 64-bit

    rpm -ivh IBMJava2-SDK-1.4.1-2.0.s390x.rpm

    /opt/IBMJava2-s390-141

    Linux PPC 32-bit

    rpm -ivh IBMJava2-SDK-1.4.1-2.0.ppc.rpm

    /opt/IBMJava2-ppc-141

    Linux PPC 64-bit

    rpm -ivh IBMJava2-SDK-1.4.1-2.0.ppc64.rpm

    /opt/IBMJava2-ppc64-141

  2. Set up the Java environment for all users by adding these lines to your /etc/profile file:
    export PATH=$PATH:/opt/dest-dir/jre/bin
    where dest-dir corresponds to the destination directory listed in the table above.

When you install DB2 UDB on Linux, the RPM-based installation attempts to install IBM's version of Java (IBM SDK 1.4.1 SR2). If a later installed level of the RPM, such as IBM SDK 1.5.1 SR1, is detected, the back-level RPM is not installed.

However, in this case, the installation leaves the JDK_PATH database configuration parameter pointing to the back-level path. As a result, none of the Java-dependent functionality, including the installation of the DB2 UDB Tools Catalog, will work.

To solve this problem, run the following commands as the instance owner (for example, db2inst1):
db2 UPDATE DBM CFG USING JDK_PATH existing SDK path
db2 UPDATE ADMIN CFG USING JDK_PATH existing SDK path
where existing SDK path points to the previous Java path. These changes will point DB2 UDB to the correct IBM Developer Kit for the Java-based tools.

2.2.4. Additional software requirements

Depending on your DB2 UDB requirements, you may be required to install additional software packages for DB2 UDB to function properly. Make sure that these software packages are installed prior to using DB2 UDB.

  • X Window System software, capable of rendering a graphical user interface. You need this if you want to use the DB2 UDB Setup wizard graphical installer, or any of the DB2 UDB graphical tools.

  • A Web browser, to view topics in the DB2 UDB Information Center.

  • If you are using NIS or NIS+ for security authentication on your system, you must create DB2 UDB user accounts before installing DB2 UDB.

  • Additional packages, as outlined in the following table:

    Table 5. Package requirements

    Package name

    RPM name

    Description

    pdksh

    pdksh (version 5.2 or later)

    Korn Shell. Required for multiple-partition database environments.

    rsh-server

    rsh (version 0.17 or later)

    Contains a set of programs that allow users to run commands on a remote computer. Required for multiple-partition environments.

    nfs-utils

    nfs-utils (version 1.0 or later)

    Network File System support package. It allows access for local files to remote machines. Required for systems utilizing NFS mounted drives.

    To check whether you have these packages installed, use the rpm -q commands:
    rpm -qa | grep pdksh
    rpm -qa | grep rsh
    rpm -qa | grep nfs
    For each command, if you have these packages installed, your system should return the following output:
    pdksh-5.2.14-19
    rsh-0.17-10
    rsh-server-0.17-10
    redhat-config-nfs-1.0.1-3
    nfs-utils-1.0.1-2
    To install these packages on Red Hat Linux, use the Red Hat Linux installation CDs, or the up2date utility, and the rpm command. For example, to install pdksh on from the Red Hat Linux CD, mount the Red Hat Linux CD #3, and enter this command as root:
    rpm -ivh /mnt/cdrom/RedHat/RPMS/pdksh-5.2.14-19.i386.rpm
    To install using the up2date package, run this command as root:
    up2date pdksh
    To install these packages on SuSE Linux, you can also use rpm or use the handy YaST (Yet another Setup Tool) utility. For example, to install pdksh on SuSE Linux Pro 8 using YaST:

    1. Log on as root

    2. From the YaST Control Center, select Software -> Install or Remove Software, then choose the appropriate packages.