DB2 Version 7.1 for Linux HOWTO

Dan Scott

   Revision History
   Revision 0.7 May 26, 2000 Revised by: dbs
   Based on DB2 V7.1 beta release, wrote install instructions for Caldera
   2.4, Red Hat 6.2, SuSE 6.2, SuSE 6.3, and TurboLinux 6.0.
   Revision 1.0 July 6, 2000 Revised by: dbs
   Added basic Debian instructions. Corrected some factual, stylistic,
   and grammatical mistakes. Licensed document under GNU GPL. Submitted
   document to LDP.
   
   This HOWTO gives you explicit instructions on installing DB2 Universal
   Database Version 7.1 for Linux on the following Intel x86-based
   distributions: Caldera OpenLinux 2.4, Debian, Red Hat Linux 6.2, SuSE
   Linux 6.2 and 6.3, and TurboLinux 6.0. After installing DB2, you can
   work with a sample database, connect to your DB2 server from a remote
   machine, and administer DB2 using the DB2 Control Center.
     _________________________________________________________________
   
   Table of Contents
   1. [1]Introduction
          
        1.1. [2]Why a DB2 installation HOWTO?
        1.2. [3]Who should read this HOWTO?
        1.3. [4]New versions of this document
        1.4. [5]Copyright and License
        1.5. [6]Credits
        1.6. [7]About the author
                
   2. [8]Prerequisites
          
        2.1. [9]What are prerequisites?
                
   3. [10]Preparing your distribution for DB2
          
        3.1. [11]Caldera OpenLinux 2.4
        3.2. [12]Red Hat Linux 6.2
        3.3. [13]SuSE Linux 6.2 or 6.3
        3.4. [14]TurboLinux 6.0
                
   4. [15]Installing DB2 using db2setup
          
        4.1. [16]Using the db2setup utility
        4.2. [17]Installing DB2 components
                
   5. [18]Installing DB2 on other Linux distributions
   6. [19]Creating DB2 instances
          
        6.1. [20]Overview of DB2 Administration Server
        6.2. [21]Overview of DB2 instance
                
   7. [22]Removing DB2
   8. [23]Using DB2
          
        8.1. [24]DB2 Control Center
        8.2. [25]DB2 Information Center
        8.3. [26]The DB2 command line
                
   9. [27]Troubleshooting
          
        9.1. [28]Problems with DB2 installation
        9.2. [29]Problems creating a DB2 instance
        9.3. [30]Problems using DB2
                
   10. [31]Installing the IBM Developer Kit for Java
   Appendix A. [32]Resources
   Appendix B. [33]GNU General Public License
          
        Appendix B.1. [34]Preamble
                
1. Introduction

1.1. Why a DB2 installation HOWTO?

   Ever since DB2 Version 5.2 was ported to Linux in 1998 and made
   available as a beta download, there has been a lot of interest in DB2
   on Linux. The beta represented one of IBM's first dips into the waters
   of Linux, and it generated a lot of feedback. In fact, if you read
   through the newsgroups, you still see occasional questions from people
   who are trying out the Version 5.2 beta. (I don't know where they're
   getting it, but they're out there.) And, not surprisingly, they run
   into problems. It was a beta product, after all.
   
   Anyway, I've been trying out DB2 on Linux since Version 5.2, so I've
   had a chance to witness the improvements over the past couple of
   years. I've also made a lot of use of the Linux Documentation Project
   in that time, and wanted to contribute something to the LDP. So I
   decided to write about the one thing that I really know something
   about on Linux, and hope that it helps someone else out there.
   
   DB2 on Linux has come a long way since Version 5.2. The first
   supported release of DB2 on Linux was Version 6.1 in 1999, which
   removed many of the installation hurdles faced by the Version 5.2 beta
   testers.
   
   DB2 Version 7.1 is the second major release that supports Linux, and
   since it's a new release I'm expecting that a new wave of people
   curious about DB2, as well as people migrating from Version 6.1, are
   going to try installing this new release on Linux. To that end, I'm
   writing this HOWTO to share my experiences and help smooth your
   installation. One of the big boosts comes from the standardization on
   the IBM Developer Kit for Java, which improves the stability of the
   DB2 Control Center and enables application developers to write stored
   procedures and UDFs in Java. DB2 Version 7.1 also introduces the
   ability to write stored procedures in SQL.
   
   As time permits, I hope to provide hints and tips for improving the
   performance of DB2 on Linux, and for configuring the environment on
   various Linux distributions to be able to build DB2 applications in C,
   C++, and Java.
     _________________________________________________________________
   
1.2. Who should read this HOWTO?

   If you plan to install DB2 Version 7.1 on one of the Linux
   distributions supported by IBM, this document is for you. The
   distributions that IBM supports are:
   
     * Caldera OpenLinux 2.4
     * Red Hat Linux 6.2
     * SuSE Linux 6.2 and 6.3
     * TurboLinux 6.0
       
   For Debian, I have included very basic installation instructions in
   [35]Section 5. If you have any other installation success stories,
   please forward me the details and I'll try to expand the section. As
   time permits, I plan to try to duplicate and confirm these
   installation instructions.
   
   If you plan to install DB2 Version 6.1 on Linux, I'll try to track
   down some references for you, but I don't include any DB2 Version 6.1
   information here. If you plan to install DB2 Version 5.2 on Linux,
   don't! (Have I emphasized that point enough? All right, I'll stop
   now.) The Personal Developer's Edition of DB2 Version 7.1 is available
   as a free (beer) download from IBM, at the [36]DB2 Universal Database
   download site. Registration is required, and, of course, your copy of
   DB2 is only free as long as you don't use it in a production
   environment.
   
   This document is really meant to help you install DB2 Version 7.1 on
   the previously listed Linux distributions. I've installed DB2 on all
   of the distributions supported by IBM and noted the prerequisites and
   quirks for each of them. I don't go into detail about the various
   features of DB2, or what each installation option means, but I do
   cover the basics that you need to know to get it installed.
     _________________________________________________________________
   
1.3. New versions of this document

   I like my friends at the Linux Documentation Project, so you'll always
   be able to find the most up-to-date version of this document at the
   [37]LDP web site.
     _________________________________________________________________
   
1.4. Copyright and License

   Copyright (c) 2000 International Business Machines Incorporated.
   
   This document is free documentation; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version. This document is
   distributed in the hope that it will be useful, but WITHOUT ANY
   WARRANTY; without even the implied warranty of MERCHANTABILITY or
   FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
   for more details. You should have received a copy of the GNU General
   Public License along with this document; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
     _________________________________________________________________
   
1.5. Credits

   Dan Scott is the originator and current maintainer of this HOWTO.
   Please send all suggestions for improvement, criticisms, or
   more-or-less related questions to me at <[38]daniels@REMca.ibm.com>
   (remove REM in my email address before sending). Please send all spam
   or hate mail to /dev/null.
   
   Feedback and suggestions for improvement have been provided by Susan
   Williams, Serge Boivin, Darin McBride, and Xiaoyan Zhao. Ronnie
   Seagren did an awesome job of editing the original version for style
   and consistency.
     _________________________________________________________________
   
1.6. About the author

   Dan Scott has been employed by IBM Canada as an Information Developer
   since 1998--approximately when DB2 was first ported to Linux. It's
   probably just coincidence. He has documented and tested DB2
   application development for the bulk of that time. In his spare time
   he can occasionally be found mourning for his dearly departed
   motorcycle, abusing his body on his mountain bike, or contemplating
   how to upgrade his Linux distribution at home (which started life as
   Mandrake 5.3 and has mutated wildly ever since) without suffering the
   wrath of his girlfriend.
     _________________________________________________________________
   
2. Prerequisites

2.1. What are prerequisites?

   Prerequisites are what you, your machine, and your distribution
   require before you will be able to successfully install or use DB2.
   The required prerequisites come straight from [39]IBM DB2 Universal
   Database for UNIX Quick Beginnings. The suggested prerequisites come
   from experience. For your convenience, I've divided them into hardware
   and software requirements.
   
   Hardware prerequisites
   
   Processor
          x86 compatible (for example, Intel, AMD, or Cyrix). I've
          successfully installed DB2 Version 7.1 on a Pentium Pro 200 and
          a Pentium II 350. Your experiences with other x86 processors
          would be appreciated.
          
   Memory
          For application development, I've found 96 MB of RAM is enough
          to run a small database and test out your applications. Even
          the Control Center responds acceptably if your processor speed
          is fast enough. In my case, I was working with a Thinkpad 600
          equipped with a Pentium 233 MMX processor and 96 MB of RAM.
          However, more memory is recommended if you're putting your
          database into production or running multiple services.
          
   Free disk space
          Of course, this depends on the components you install, but for
          a typical installation of the DB2 Version 7.1 server, the
          Administration Client, the Application Development Client, the
          documentation, and the creation of a sample database, you will
          need about 350 MB of free disk space.
          
   Software prerequisites
   
   glibc
          2.1.2 or greater. This can be a tough part of Linux to upgrade
          on its own, so if your current distribution doesn't meet this
          requirement, I would strongly suggest upgrading your entire
          distribution. For example, I tried upgrading only the glibc
          portion of TurboLinux 4.0 from 2.1.1 to 2.1.3 and ran into a
          whole world of trouble.
          
          DB2 Version 7.1 should work with glibc 2.1.1. IBM sets
          prerequisites based on the systems with which they tested.
          
   kernel
          2.2.12 or greater. I've upgraded to 2.2.15 and recompiled the
          kernel for my own purposes, and DB2 seems to work as well as
          before.
          
          DB2 Version 7.1 should work with a minimum of kernel 2.2.10.
          IBM sets prerequisites based on the systems with which they
          tested.
          
   libstdc++
          2.9.0. This exact version is mandatory.
          
   pdksh
          5.2 or greater. This is a public domain version of the Korn
          shell that both the DB2 installer and the DB2 commands require.
          You cannot do anything with DB2 without installing pdksh.
          
   rpm
          3.0 or greater. DB2 for Linux is distributed as a number of RPM
          packages, so you won't get far without this piece of software.
          For information on installing DB2 on distributions without
          using RPM, see [40]Section 5.
          
   Java
          The IBM Developer Kit for Java 1.1.8 is an optional component,
          but is required to:
          
          + use the DB2 Control Center to administer your databases using
            a graphical user interface
          + create or run Java applications, including stored procedures
            and user-defined functions
            
          As of this writing, the minimum required level of the IBM
          Developer Kit for Java is the March 22, 2000 release. You can
          get the IBM Developer Kit and Runtime Environment for Linux,
          Java Technology Edition, Version 1.1.8, at the [41]IBM Java
          Developer Kit downloads web site.
          
          Please note: Other versions of Java, such as the Blackdown or
          Sun JDKs, have not been tested with DB2 and are not supported
          by IBM. And no, none of the distributions I have seen so far
          package the IBM JDK. But do yourself a favour, and get the IBM
          Developer Kit for Java.
          
   Web browser
          DB2 calls the netscape command when you:
          
          + display the online help for the DB2 Control Center
          + display information using the DB2 Information Center
            
          The easiest approach is to install Netscape Navigator or
          Communicator on your system. Netscape version 4.72 or above is
          required to display the Business Intelligence Quick Tour,
          because of its extreme use of JavaScript.
          
          To use a browser other than Netscape to display online help or
          information, create a link called netscape to your preferred
          browser executable. The link must appear in your PATH. For
          example, to display online help with mozilla, you could create
          a link in /usr/local/bin with the following command:
          
bash# ln -s /usr/bin/mozilla-bin /usr/local/bin/netscape

   Table 1. Prequisite levels, by distribution
   Package Caldera OpenLinux 2.4 Red Hat 6.2 SuSE 6.2 SuSE 6.3 TurboLinux
   6.0
   glibc 2.1.2 2.1.2 2.1.1 2.1.2 2.1.2
   Linux kernel 2.2.14 2.2.14 2.2.10 2.2.13 2.2.13
   libstdc++ 2.9.0 2.9.0 2.9.0 2.9.0 2.9.0
   pdksh 5.2.14 5.2.14 5.2.14 5.2.14 5.2.14
     _________________________________________________________________
   
3. Preparing your distribution for DB2

3.1. Caldera OpenLinux 2.4

3.1.1. Before installing DB2 on Caldera OpenLinux

   This section contains instructions that you must follow before
   installing DB2.
   
   Preparing for the installation of DB2
    1. Install the pdksh-5.2.14-1.i386.rpm package from the Caldera
       OpenLinux CD-ROM in the /Packages/RPMS/ directory. For example,
       log in as root, mount the CD-ROM, and enter the following command
       to install the pdksh package:
       
bash# rpm -ivh /mnt/cdrom/Packages/RPMS/pdksh-5.2.14-1.i386.rpm

    2. Remove the jdk package, (JDK 1.2.2 from Sun), since it will
       conflict with the IBM Developer Kit for Java that you will install
       in the next step. To remove Sun's JDK, issue the following command
       as root:
       
bash# rpm -e jdk

    3. Install the IBM Developer Kit for Java. A brief set of
       installation directions is included in [42]Section 10.
    4. Edit the JAVA_HOME and PATH entries in /etc/config.d/shells/bashrc
       to remove the references to the JDK from Sun and update them to
       reflect the IBM Developer Kit for Java. The section that I changed
       started as:
       
    [ -z "$JAVA_HOME" ]&& [ -d /usr/java ] && (
            export JAVA_HOME=/usr/java
            [ -r $JAVA_HOME/lib/classes.zip ] &&
              export CLASSPATH=$JAVA_HOME/lib/classes.zip
)

       Replace it with the following section to reflect the default
       locations for the IBM Developer Kit for Java:
       
    [ -z "$JAVA_HOME" ]&& [ -d /usr/jdk118 ] && (
            export JAVA_HOME=/usr/jdk118
            export PATH=$PATH:$JAVA_HOME/bin
            [ -r $JAVA_HOME/lib/classes.zip ] &&
              export CLASSPATH=$JAVA_HOME/lib/classes.zip
)
     _________________________________________________________________
   
3.1.2. Installing DB2 and creating instances on Caldera

   Follow the instructions in [43]Section 4 the generic section on
   installing DB2, and go ahead and create the instances. It's probably a
   good idea at this point to read through [44]Section 3.1.3 to keep in
   mind the steps that you need to take after installing DB2.
   
   3.1.2.1. [45]What does /etc/login.defs not accessible, using defaults
          mean?
          
   3.1.2.2. [46]Okay, DB2 is installed and I created the instances. Now
          what do I do?
          
   3.1.2.1. What does /etc/login.defs not accessible, using defaults
   mean?
   
   It means something went slightly wrong, but it's okay. You may get
   this message splashed across your installation screen one or more
   times during the DB2 installation process, but other than not looking
   pretty, DB2 still installs correctly. Caldera apparently doesn't
   include a /etc/login.defs configuration file. The file controls the
   default options for the useradd command for adding new users,
   including policies like how many days before the new user's password
   expires and whether a home directory should be created for a new user.
   For more information on the /etc/login.defs file, refer to the man
   page for useradd.
   
   3.1.2.2. Okay, DB2 is installed and I created the instances. Now what
   do I do?
   
   Now that you've installed DB2, you have to perform some steps to
   configure your instances correctly. Keep reading.
     _________________________________________________________________
   
3.1.3. After installing DB2 on Caldera

   This section contains instructions that you must follow after
   installing DB2.
     _________________________________________________________________
   
3.1.3.1. Adding instance user IDs to their groups

   The most important step is to manually add the instance user ID to the
   corresponding instance group you defined during the instance creation
   step. DB2 and Caldera OpenLinux don't get this part of the DB2
   instance creation process right, so you have to do it yourself. You
   can add an instance user ID to an instance group in two ways:
   
     * Edit /etc/group to add the appropriate instance user ID to the
       last field for each group.
     * Use the COAS utility to manage your groups by selecting KDE menu,
       Settings, COAS, System, Accounts, then selecting the Groups
       submenu and the Manage Groups menu item.
     _________________________________________________________________
   
3.1.3.2. Changing the default home page in Netscape

   The DB2 Control Center and the DB2 Information Center use the Netscape
   browser to display help and documentation. This works for the first
   document you display in the browser, but if you try to switch to a
   different DB2 document (for example, from one book to another), you
   may instead be redirected to the default home page set by the Caldera
   OpenLinux installation process. I found that this problem went away as
   soon as I changed the default home page in the Edit menu, Preferences
   menu item.
     _________________________________________________________________
   
3.1.3.3. Removing the Caldera login greeting

   Add a file called .hushlogin to the home directory of each of your
   instance user IDs. This should prevent the Welcome to your OpenLinux
   system! messages while running DB2 commands.
   
   DB2 generates these messages on Caldera because the DB2 commands run
   under the root user ID, which in turn becomes the instance owner to
   invoke commands. Part of this su process calls one or both of
   /etc/config.d/shells/csh.login and /etc/config.d/shells/profile, which
   in turn call the /etc/config.d/shells/OL-greeting script that contains
   the offensive string.
   
   Instead of adding .hushlogin to every user's home directory, you could
   probably edit /etc/config.d/shells/OL-greeting to remove the message
   (or change it to something else, if you want). I haven't tried it
   myself, so let me know what works best.
     _________________________________________________________________
   
3.2. Red Hat Linux 6.2

3.2.1. Before installing DB2 on Red Hat

   Preparing for the installation of DB2
    1. Install the pdksh-5.2.14-2.i386.rpm package from the Red Hat
       CD-ROM in the /RedHat/RPMS/ directory. For example, log in as
       root, mount the CD-ROM, and enter the following command to install
       the pdksh package:
       
bash# rpm -ivh /mnt/cdrom/RedHat/RPMS/pdksh-5.2.14-2.i386.rpm
     _________________________________________________________________
   
3.2.2. Installing DB2 and creating instances on Red Hat

   Follow the instructions in [47]Section 4, the generic section on
   installing DB2 and creating instances.
     _________________________________________________________________
   
3.2.3. After installing DB2 on Red Hat

   With Red Hat 6.2, you don't need to take any special steps after
   installing DB2 Version 7.1. It works.
     _________________________________________________________________
   
3.3. SuSE Linux 6.2 or 6.3

3.3.1. Before installing DB2 on SuSE

   SuSE 6.3 includes all of the required packages at or above the minimum
   required levels for DB2 Version 7.1. If you have a choice between
   installing SuSE 6.3 or 6.2, I would strongly recommend installing 6.3.
   
   SuSE 6.2, ships with a glibc level of 2.1.1 and a kernel level of
   2.2.10; however, in my tests this did not cause any problems with
   installation, running the DB2 Control Center, or creating and running
   Java and C applications for DB2.
     _________________________________________________________________
   
3.3.2. Installing DB2 and creating instances on SuSE

   Follow the instructions in [48]Section 4, the generic section on
   installing DB2. When you create the instances, keep in mind the
   following information about creating instances on SuSE.
     _________________________________________________________________
   
3.3.2.1. Creating instances on SuSE

   The default installation packages in the SuSE distribution include an
   old beta version of DB2. This means that the default DB2 user IDs and
   groups used by the Create Instance menu are already created when you
   try to create an instance for DB2 Version 7.1, causing the following
   problems:
   
     * Default user name already exists
       Because the default user name already exists, the DB2 Create
       Instance panel places the corresponding user ID in the "User ID"
       field. This can cause a problem when you change the value of the
       User Name field to reflect the name of the new instance, because
       the value of the "User ID" still reflects the original user name.
       Ensure that you select the "Use default UID" check box to
       automatically associate the new user name with its corresponding
       user ID.
     * Default group name already exists
       Because the default group name already exists, the DB2 Create
       Instance panel places the corresponding group ID in the Group ID
       field. This can cause a problem when you change the value of the
       Group Name field to reflect the name of the new instance, because
       the value of the Group ID still reflects the original group name.
       Ensure that you select the "Use default GID" check box to
       automatically associate the new group name with its corresponding
       group ID.
     * Default home directory points to /usr/lib/db2/
       Because the default user name already exists and was created in
       the /usr/lib/db2/ directory, you have to manually specify the
       location of the new instance. The default home directory is
       /home/.
     _________________________________________________________________
   
3.3.3. After installing DB2 on SuSE

   With SuSE 6.2 or above, I have not needed to take any special steps
   after installing DB2 Version 7.1. It just works--and that's nice.
     _________________________________________________________________
   
3.4. TurboLinux 6.0

3.4.1. Before installing DB2 on TurboLinux

   TurboLinux 6.0 includes all of the required packages at or above the
   minimum required levels for DB2 Version 7.1.
     _________________________________________________________________
   
3.4.2. Installing DB2 on TurboLinux

   Follow the instructions in [49]Section 4, the generic section on
   installing DB2.
     _________________________________________________________________
   
3.4.3. After installing DB2 on TurboLinux

   When you run the DB2 Control Center with TurboLinux 6.0, the console
   window may display a number of map failed messages. These messages do
   not indicate a serious problem, so do not worry about them.
     _________________________________________________________________
   
4. Installing DB2 using db2setup

   The purpose of this section is to walk you through a typical install
   of DB2 Version 7.1 on Linux. The following section, [50]Section 6,
   tells you how to create both a DB2 Administration Server and a DB2
   instance. For in-depth information on the components offered by DB2
   Version 7.1, consult the following documents:
   
     * [51]DB2 for UNIX Quick Beginnings
     * [52]DB2 Personal Edition for Linux Quick Beginnings
     * [53]DB2 Connect Personal Edition for Linux Quick Beginnings
       
   For the purposes of this document, I'll assume that you have a copy of
   DB2 Version 7.1 on CD-ROM. If you download a copy from IBM, just
   adjust the path /mnt/cdrom in the following instructions to reflect
   the directory created by the tar command.
     _________________________________________________________________
   
4.1. Using the db2setup utility

   You'll find the following executables on the root directory of the DB2
   Version 7.1 installation CD-ROM:
   
     * db2setup: Use the db2setup command to install DB2 Version 7.1, to
       create or modify DB2 instances, and to create a DB2 Administration
       Server. Once you install DB2, db2setup is copied to the
       /usr/IBMdb2/V7.1/install directory to enable you to create or
       modify instances without the CD-ROM.
     * db2_install: The db2_install command provides an alternate means
       of installing DB2 RPMs. Unlike db2setup, it does not enable you to
       create a DB2 instance or Administration Server, or install a
       license key. I highly recommend db2setup.
     * db2_deinstall: Use the db2_deinstall command to uninstall the DB2
       Version 7.1 packages on your system. For more information, see
       [54]Section 7.
       
     Note: The db2setup command provides a terminal-based text menu for
     your installation and instance creation options. Unfortunately,
     db2setup on Linux sometimes encounters a few formatting bugs in
     terminal emulators. Running db2setup from the TTY console works
     well. Within an X session, the rxvt or xterm terminals work quite
     well, but gnome-terminal is rather frustrating to use. If the text
     menu formats incorrectly, press CTRL-L to refresh the menu.
     _________________________________________________________________
   
4.2. Installing DB2 components

   The following instructions assume that you are using db2setup to
   install DB2.
   
   To select or deselect a component, highlight the component using the
   cursor keys and press ENTER.
   
   To change the options for a component, highlight [ Customize... ] and
   press ENTER.
   
   To install your selected components, highlight [ OK ] on the Install
   DB2 V7 menu and press ENTER.
   
   The common DB2 files are installed in the /usr/IBMdb2/V7.1/ directory.
   When you create an instance, a directory called sqllib is created in
   the corresponding user's home directory. The sqllib directory contains
   symbolic links to the executables and other files in
   /usr/IBMdb2/V7.1/.
   
   The following list describes some of the common DB2 components that
   you can install, including estimates of the size required for each
   component.
   
   Description of DB2 components
   
   Administration Client
          The Administration Client enables database administrators to
          administer local or remote DB2 servers from the command line.
          This component, without Java support or the Control Center,
          requires about 20 MB of disk space.
          
   Control Center
          The Control Center (db2cc) is an optional part of many DB2
          components. It gives database administrators a graphical
          interface for administering local or remote DB2 servers. The
          Control Center includes the DB2 Information Center (db2ic),
          which gives you a graphical interface that provides a tree view
          of the DB2 documentation installed on your workstation
          organized by task or by title.
          
          Note that both the Control Center and Information Center are
          Java applications, so their performance depends on your
          system's processor speed and available memory. This component
          requires about 90 MB of disk space.
          
   DB2 UDB Enterprise Edition, DB2 UDB Workgroup Edition, DB2 Personal
          Edition
          These components determine the state of your DB2 installation
          as a database server. The core capabilities of the components
          are the same. The difference between Enterprise Edition and
          Workgroup Edition primarily has to do with how they are
          licensed--Enterprise Edition is licensed on a per-processor
          basis with unlimited users, while Workgroup Edition is licensed
          on a per-user basis. Enterprise Edition also gives you the
          capability to enable DB2 clients to connect to mainframe
          databases, like DB2 for OS/390 or DB2 for OS/400. In contrast,
          Personal Edition is a single user database server that is
          useful only for developing DB2 applications. You cannot use
          Personal Edition as a server because Personal Edition does not
          accept incoming remote connections.
          
          Adding one of these components requires about 40 MB of disk
          space.
          
   Options for DB2 servers
   
        Replication
                This option enables your DB2 server to replicate data to
                other DB2 servers, and, with additional software, across
                non-DB2 servers as well. This option requires about 5 MB
                of disk space.
                
        Distributed Join for DB2 Data Sources
                This option enables your DB2 server to participate in a
                join with data from other database servers. This option
                requires about 2 MB of disk space.
                
   Application Development Client
          The Application Development Client component installs the
          headers and libraries that you need to create applications
          using embedded SQL for C and C++, Call Level Interface (CLI),
          Java Database Connectivity (JDBC), or embedded SQL for Java
          (SQLJ). You also have the option of installing the source code
          for sample applications that demonstrate much of the
          functionality of DB2.
          
     Tip: If you plan on developing applications for DB2, install the
     sample applications. The sample directories in
     /usr/IBMdb2/V7.1/samples/ contain build scripts (bld***) that
     include the compile and link options suitable for your own
     applications.
     
     Tip: If you are trying to develop applications and you get an error
     like "That command is not supported in this environment" while
     trying to precompile a file, it's because you either did not
     install the Application Development Client, or you installed it
     after you created an instance and you have not used the db2iupdt
     command to update the instance. See [55]Section 9.1 for more
     information on db2iupdt.
     
          Including the sample applications, this component requires
          about 10 MB of disk space.
          
   DB2 Product Library (HTML documentation)
          Documentation is installed into the /usr/IBMdb2/V7.1/doc/
          directory. For each language that you install, the DB2
          installer creates a subdirectory with a five-character name
          corresponding to the language locale. Issue the db2help command
          to fire up your Web browser with a page that links to the
          [56]documentation installed with DB2.
          
          The English HTML (En_US) documentation requires about 90 MB of
          disk space.
     _________________________________________________________________
   
5. Installing DB2 on other Linux distributions

   DB2 Version 7.1 is distributed as a set of RPM packages. If you want
   to install DB2 on a distribution that is not officially supported by
   IBM, and that distribution satisfies all of the prerequisites
   specified in [57]Section 2, all that you theoretically need to do is
   find a way to install those packages on your distribution. The alien
   utility available from [58]Kite converts RPM packages into formats
   supported by Debian (dpkg), Stampede (slp), and Slackware (slp).
   
   Susan Williams reported success in installing DB2 Version 7.1 on
   Debian using the following script as root:
   
   Example 1. Installation script for DB2 Version 7.1 on Debian
#!/bin/bash
cd /
for f in /mnt/cdrom1/db2/*rpm
do
alien -d -i -c $f
done

   This script installs every DB2 package on the CD-ROM. In a future
   iteration of this document I plan to provide a description of all of
   the DB2 packages to help you develop a more selective approach for
   your installation.
   
   Using this approach apparently prevents you from using the db2setup
   command to create instances. To create a DB2 Administration Server
   from the command line, issue the /usr/ibmdb2/v7.1/instance/dasicrt
   command as root. To create a DB2 instance, issue the
   /usr/ibmdb2/v7.1/instance/db2icrt command as root. To get the correct
   syntax for either command, use the -h flag.
     _________________________________________________________________
   
6. Creating DB2 instances

   This section gives you a brief overview of DB2 instances and the DB2
   Administration Server, and tells you how to create them.
   
   Some IBM documentation uses the term "instance" to refer to both DB2
   instances and a DB2 Administration Server. The basic similarity
   between a DB2 Administration Server and a DB2 instance, or "database
   manager", is that each is associated with a unique user ID. When you
   create either a DB2 instance or a DB2 Administration Server, DB2:
   
     * creates one or more new user IDs and corresponding home
       directories
     * creates a subdirectory in the instance home directory called
       sqllib
     * alters the .bashrc file to call the ~/sqllib/db2profile shell
       script to set up the environment for the instance
     _________________________________________________________________
   
6.1. Overview of DB2 Administration Server

   Like a queen bee in a hive, only one DB2 Administration Server can
   exist on any given DB2 server. By locally or remotely logging as the
   user ID that corresponds to the DB2 Administration Server, a database
   administrator uses the DB2 Administration Server to create, drop, or
   change the properties of DB2 instances.
     _________________________________________________________________
   
6.2. Overview of DB2 instance

   To quote the IBM DB2 Universal Database Version 7.1 Administration
   Guide definition of an instance:
   
     An instance (sometimes called a database manager) is DB2 code that
     manages data. It controls what can be done to the data, and manages
     system resources assigned to it. Each instance is a complete
     environment. ... An instance has its own databases (which other
     instances cannot access), and all its database partitions share the
     same system directories. It also has separate security from other
     instances on the same machine (system).
     
   What this boils down to is that for every DB2 instance, DB2 requires a
   unique user ID on your Linux workstation. Security for an instance is
   provided by the normal password authentication process for any Linux
   user ID. Each instance can contain one or more databases, each of
   which inherits settings from their instance.
   
   Creating the Administration Server using db2setup
   
   The DB2 Administration Server requires about 3 MB of disk space. The
   following steps guide you through the process of creating a DB2
   Administration Server.
    1. Issue the db2setup command as described in [59]Section 4.2.
    2. Select [ Create... ].
    3. Select the check box for Create the Administration Server. The
       Administration Server window is displayed.
    4. Enter a unique user name in the User Name field. You can use an
       existing user name that is not already in use by a DB2 instance,
       but it is probably simpler to create a new user for each instance.
    5. Select the Use default UID check box. As far as I can tell, this
       setting is always right.
    6. Enter a unique group name in the Group Name field. You can use an
       existing group name if you wish, but creating a new group ensures
       that you do not inadvertently give permissions to other users on
       your system.
    7. Select the Use default GID check box. Again, as far as I can tell,
       this setting is always right.
    8. Ensure that the value of the Home Directory field reflects the
       home directory of the user ID.
       
   Warning
   SuSE users: The prefix for the home directory may default to
   /usr/lib/db2/. This is almost certainly wrong; the value for a
   standard SuSE system should be /home/.
    9. Enter a unique password in the Password and Verify Password
       fields.
       
   Warning
   Enter a new password! If you do not enter a new password in these
   fields, DB2 assigns the default password ibmdb2, giving crackers a
   wide-open front door to your system.
       
   Creating a DB2 instance using db2setup
   
   A DB2 instance requires about 2 MB of disk space. A sample database
   for a DB2 instance requires about 16 MB of disk space. The following
   steps guide you through the process of creating a DB2 instance.
    1. Issue the db2setup command as described in [60]Section 4.2.
    2. Select [ Create... ].
    3. Select the Create a DB2 Instance check box. The DB2 Instance
       window is displayed.
    4. Enter a unique user name in the User Name field. You can use an
       existing user name that is not already in use by a DB2 instance,
       but it is probably simpler to create a new user for each instance.
    5. Select the Use default UID check box. As far as I can tell, this
       setting is always right.
    6. Enter a unique group name in the Group Name field. You can use an
       existing group name if you wish, but creating a new group ensures
       that you do not inadvertently give permissions to other users on
       your system.
    7. Select the Use default GID check box. Again, as far as I can tell,
       this setting is always right.
    8. Ensure that the value of the Home Directory field reflects the
       home directory of the user ID.
       
   Warning
   SuSE users: The prefix for the home directory may default to
   /usr/lib/db2/. This is almost certainly wrong; the value for a
   standard SuSE system should be /home/.
    9. Enter a unique password in the Password and Verify Password
       fields.
       
   Warning
   Enter a new password! If you do not enter a new password in these
   fields, DB2 assigns the default password ibmdb2, giving crackers a
   wide-open front door to your system.
   10. Select [ Properties... ] to change the properties for the
       instance.
         a. Under the Authentication Type heading, select the Server
            Encrypt check box. This greatly improves the security of your
            system, by telling DB2 to accept encrypted passwords, rather
            than plain text passwords.
         b. Select the Auto start DB2 Instance at system boot check box
            if you want to start this DB2 instance every time you reboot
            your system.
         c. Select the Create a sample database for DB2 Instance check
            box if you plan to work with the sample applications
            available with the Application Development Client. To run
            correctly, most of the sample applications require the
            specific tables and data of the sample database. If you do
            not create the sample database now, you can create it later
            using the db2sampl command.
   11. Select [ OK ] to create the DB2 instance. The Fenced User text
       window is displayed. Repeat the previous steps for creating a new
       user and group. Server-side DB2 executables, such as stored
       procedures and user-defined functions, execute under the
       permissions of the fenced user ID. By controlling the permissions
       of the fenced user ID, you control the permissions of the
       server-side DB2 executables.
   12. Select [ OK ] to create the fenced user.
     _________________________________________________________________
   
7. Removing DB2

   To remove DB2 from your workstation cleanly, perform the following
   steps:
    1. Log in as root.
    2. List all DB2 instances:
       
bash# /usr/IBMdb2/V7.1/instance/db2ilist

    3. Drop each instance listed in the previous step with the following
       command:
       
bash# /usr/ibmdb2/v7.1/instance/db2idrop instance-name

    4. Drop the DB2 administration server:
       
bash# /usr/IBMdb2/V7.1/instance/dasidrop `/usr/IBMdb2/V7.1/instance/dasilist`

    5. Uninstall all of the DB2 packages on your system using the
       db2deinstall command on your DB2 CD-ROM:
       
bash# /mnt/cdrom/db2/db2_deinstall -n
     _________________________________________________________________
   
8. Using DB2

   This section gives you the basic information you need to start working
   with DB2 on Linux. It includes instructions on issuing DB2 commands
   and SQL statements from the command line, as well as the commands you
   need to start the DB2 Control Center and the DB2 Information Center.
   
     Note: This section assumes that you have followed the instructions
     in [61]Section 10.
     _________________________________________________________________
   
8.1. DB2 Control Center

   The left side of the DB2 Control Center provides an object-oriented
   view of the database objects that you have catalogued, including DB2
   instances and databases on other DB2 servers. One way to add, edit, or
   drop database objects is to right-click on an object to bring up a
   menu.
   
   To start the DB2 Control Center
    1. Ensure you are logged on to your Linux workstation using either
       the DB2 Administration Server user ID or the DB2 instance user ID.
       If you use the su command to become the user, ensure you include
       the -l parameter to initialize the environment for the user.
    2. Start the X server, if it is not already started.
    3. Issue the db2cc command to start the DB2 Control Center. Depending
       on the speed of your system, it may take a few seconds for the
       splash screen to appear, and longer before the full DB2 Control
       Center appears.
     _________________________________________________________________
   
8.2. DB2 Information Center

   The DB2 Information Center provides tree views of the information
   about DB2 that is installed on your system, as well as a number of
   links to web sites with further information. If you did not install
   the DB2 documentation, the tree views contain fewer links.
   
   To start the DB2 Information Center
    1. Ensure you are logged on to your Linux workstation using either
       the DB2 Administration Server user ID or the DB2 instance user ID.
       If you use the su command to become the user, ensure you include
       the -l parameter to initialize the environment for the user.
    2. Ensure that the X server is started.
    3. Issue the db2ic command to start the DB2 Information Center.
       Depending on the speed of your system, it may take a few seconds
       for the splash screen to appear, and longer before the full DB2
       Information Center appears.
     _________________________________________________________________
   
8.3. The DB2 command line

   If you are logged on to your Linux workstation using either the DB2
   Administration Server user ID or the DB2 instance user ID, you can
   issue DB2 commands and SQL statements from the command line.
   
   If this is your first time using DB2, I would suggest creating the
   sample database that ships with DB2. The sample database is used
   throughout the DB2 documentation and is required by most of the sample
   applications. To create the sample database, you can either select the
   Create the sample database option when you create a DB2 instance, or
   issue the db2sampl command from the DB2 command line.
   
   Before you can issue an SQL statement, you have to connect to a
   database. To connect to a database:
   
     * db2 CONNECT TO database USER userID USING password
       
   To connect to a database, and have DB2 prompt you for the password:
   
     * db2 CONNECT TO database USER userID
       
   To connect to a database using the default user ID:
   
     * db2 CONNECT TO database
       
   Once you have connected to a database, you can then issue SQL
   statements or DB2 commands against that database. For example, to
   select all of the columns from the EMPLOYEE table in the SAMPLE
   database, issue the following command:
bash$ db2 "SELECT * FROM employee"

     Note: You can avoid typing db2 as the prefix for every SQL
     statement and DB2 command by issuing commands using the Command
     Line Processor (CLP). To start the CLP, issue the db2 command by
     itself. DB2 provides the following prompt:
     
You can issue database manager commands and SQL statements from the command
prompt. For example:
    db2 => connect to sample
    db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
 ? CATALOG DATABASE for help on the CATALOG DATABASE command
 ? CATALOG          for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

db2 =>

     I don't use the CLP because it prevents me from using the command
     line history feature of my shell. I find myself using the command
     line history a lot when I'm issuing SQL statements.
     
     Some users claim that running the CLP within an Emacs shell gives
     them the best of both worlds: they get command line history, and
     they don't have to escape commands that contain lots of quotation
     marks and brackets.
     _________________________________________________________________
   
9. Troubleshooting

   The following section covers some of the common problems you may
   encounter while installing DB2, creating an instance, or using a DB2
   database.
     _________________________________________________________________
   
9.1. Problems with DB2 installation

   The following section covers some of the common problems you may
   encounter when you install DB2.
   
   9.1.1. [62]When I try to run db2setup, I get the following error:
          DBI1503E An error was encountered when opening or writing to
          file, "/tmp/.dbinst.swp".
          
   9.1.2. [63]After creating a DB2 instance, I installed the Application
          Development Client, but I can't use that instance to create DB2
          applications.
          
   9.1.1. When I try to run db2setup, I get the following error: DBI1503E
   An error was encountered when opening or writing to file,
   "/tmp/.dbinst.swp".
   
   DB2 issues this error when it can't find the pdksh or ksh shells. This
   has probably occurred because you did not install the pdksh package
   for your distribution. See [64]Section 3 for more details on
   installing the pdksh package for your Linux distribution.
   
   9.1.2. After creating a DB2 instance, I installed the Application
   Development Client, but I can't use that instance to create DB2
   applications.
   
   When you add the Application Development Client after you initially
   install DB2 and create a DB2 instance, your existing DB2 instance
   won't recognize the db2 prep command. Instead, DB2 returns the
   following error: DB21051E The command is not supported for this
   environment.
   
   The problem is that when you install a new DB2 component, DB2 does not
   automatically update existing DB2 instances to include links to the
   new libraries and executables. To update an existing DB2 instance, use
   the db2iupdt command as root:
bash# /usr/IBMdb2/V7.1/instance/db2iupdt instance-name

   To update all existing DB2 instances, issue the following command as
   root:
bash# /usr/IBMdb2/V7.1/instance/db2iupdt -e
     _________________________________________________________________
   
9.2. Problems creating a DB2 instance

   The following section covers some of the common problems you may
   encounter when you create a DB2 instance.
   
   9.2.1. [65]Creating a DB2 instance or a DB2 Administration Server
          fails.
          
   9.2.2. [66]db2setup indicated that it successfully created an
          instance, but I checked /tmp/db2install.log and it contains the
          message DBI1766W Cannot change the secondary group list of ""
          (Caldera OpenLinux 2.4). 
          
   9.2.1. Creating a DB2 instance or a DB2 Administration Server fails.
   
   DB2 often fails to create an instance because you became root by
   issuing the command bash$ su root rather than bash$ su -l root, which
   uses the environment settings for the root account. Check the contents
   of the DB2 install log in /tmp/db2setup.log. If the installer has
   issued the following error message:
  DBI1517E An attempt to execute a command in a subprocess failed.

  Explanation: An error was detected when attempting to execute a command in a
subprocess. One of the
  following problems occurred:

      o The command does not exist.
      o Incomplete command search path.
      o Incorrect access permissions on the command.
      o System resource problem.

   then most likely your root account did not have the /usr/sbin
   directory in the PATH environment variable for root.
   
   PATH is normally set correctly for you if you log in as root, or issue
   the command bash$ su -l root to become root. You can add /usr/sbin to
   the PATH environment variable by issuing the following command at the
   terminal prompt, or including it in /root/.bashrc:
  export PATH=$PATH:/usr/sbin

   9.2.2. db2setup indicated that it successfully created an instance,
   but I checked /tmp/db2install.log and it contains the message DBI1766W
   Cannot change the secondary group list of "" (Caldera OpenLinux 2.4). 
   
   This is one area where DB2 and Caldera OpenLinux don't work well
   together. Fix this by manually adding each instance user ID to the
   group you defined during instance creation. Here's the full help from
   the IBM DB2 Message Reference:
      DBI1766W Cannot change the secondary group list of
                "".

      Explanation:  A code, "", is returned when attempting to
      change the secondary group list of the given user ID. One of the
      following situations has occurred:

      o  NIS is running.

      o  One or more processes are currently being executed under the
          given user ID.

      User Response:  You must add the group ID, "", to the
      secondary group list of the user ID, "", so that the
      Adminstration Server can function properly.

      o  If there happens to be any process run under the given user
          ID, terminate all of these processes and follow the
          instructions above to setup the secondary group list of this
          user ID.

      o  If you are running this command on an NIS client, try the
          above instructions to setup the secondary group list of this
          user ID on your NIS server.

   For instructions on how to add user IDs to groups, see [67]Section
   3.1.3.1.
     _________________________________________________________________
   
9.3. Problems using DB2

   The following section covers some of the common problems you may
   encounter when you use a DB2 database.
   
   9.3.1. [68]I'm running out of connections for my DB2 server.
   9.3.2. [69]When I start the DB2 Control Center, I get a message box
          with the error SQL1042C An unexpected system error occurred.
          
   9.3.3. [70]The DB2 Control Center starts normally, but the "Systems"
          folder is empty.
          
   9.3.4. [71]When I try to start the DB2 Control Center with the db2cc
          command, the splash screen comes up, then disappears.
          
   9.3.5. [72]When I run any db2 commands, part of the output is Welcome
          to your OpenLinux system!. How do I change this? (Caldera
          OpenLinux 2.4)
          
   9.3.1. I'm running out of connections for my DB2 server.
   
   The number of connections that DB2 can support depends on two #define
   variables included in the kernel source header files.
   
   NR_TASKS
          This variable, defined in /usr/src/linux/include/linux/tasks.h,
          determines the number of simultaneous processes that Linux
          supports. A second variable, MAX_TASKS_PER_USER, is defined as
          NR_TASKS/2. Since DB2 instances are treated as users by Linux,
          and each connection uses a single process, the maximum number
          of connections per instance is capped at the value of
          NR_TASKS/2.
          
          The default value for NR_TASKS in the kernel source is 512,
          allowing a maximum of 256 simultaneous connections to a single
          DB2 instance. DB2 itself requires a few connections for
          overhead processes. If you recompile the kernel yourself, you
          should increase this value to something like 2048. Thankfully,
          the stock kernels shipped with the Red Hat 6.1, Red Hat 6.2,
          SuSE 6.2, SuSE 6.3, and TurboLinux 6.0 distributions set the
          value of NR_TASKS to 2560, thus allowing 1280 connections for a
          single DB2 instance. However, Caldera OpenLinux 2.4 ships with
          a kernel in which NR_TASKS is set to the default value of 512.
          Caldera users may want to consider recompiling the kernel.
          
   SEMMNI
          This variable, defined in /usr/src/linux/include/linux/sem.h,
          determines the number of semaphore identifiers that Linux
          supports. This variable is particularly important on symmetric
          multi-processing (SMP) machines. A unique semaphor identifier
          is required for each processor per agent (or connection);
          therefore, on a quad-processor machine, four semaphore
          identifiers are required per connection.
          
          The default value for SEMMNI in the kernel source is 128,
          which, on a quad-processor machine, will only allow 32
          simultaneous connections to a DB2 instance. If you recompile
          the kernel yourself, increase this value to something like
          1024.
          
     Note: To be added: the value of this variable in the stock kernels
     shipped with the Caldera OpenLinux 2.4, Red Hat 6.2, SuSE 6.2, SuSE
     6.3, and TurboLinux 6.0 distributions.
     
   9.3.2. When I start the DB2 Control Center, I get a message box with
   the error SQL1042C An unexpected system error occurred.
   
   This error occurs only the first time you start the Control Center.
   Note that the message box may be mostly covered up by the pretty DB2
   splash screen; if this is the case, you have to move the error message
   window down and press the "Close" button. The Control Center then
   starts correctly, and you should not get the error message again.
   
   9.3.3. The DB2 Control Center starts normally, but the "Systems"
   folder is empty.
   
   If the Control Center displays an empty "Systems" folder, you might
   need to catalog the DB2 Administration Server manually for the local
   instance from which you are trying to run the Control Center. This
   assumes that you have created the DB2 Administration Server instance
   before starting the Control Center.
   
   To catalog the DB2 Administration Server, issue the following command:
bash$ db2 catalog admin local node machine-name instance Administration-Server-
name system machine-name ostype linux

   Now restart the Control Center. Your local system is now displayed
   under the "Systems" folder. Do not try this from a client-only install
   of DB2, because no local DB2 Administration Server can be available.
   
   9.3.4. When I try to start the DB2 Control Center with the db2cc
   command, the splash screen comes up, then disappears.
   
   On Caldera, the Control Center didn't work for me until I added the
   instance user IDs to the appropriate groups. For more information, see
   [73]Section 3.1.3.1.
   
   Ensure that you have installed the IBM Developer Kit for Java 1.1.8,
   and that the /usr/jdk118/bin directory is in your path. If you issue
   the command
bash$ java -fullversion

   , you should get a response like this: java full version "JDK 1.1.8
   IBM build l118-20000325 (JIT enabled: jitc)" Java virtual machines
   from other sources may not work. For a quick guide to installing the
   IBM Developer Kit for Java, see [74]Section 10.
   
   9.3.5. When I run any db2 commands, part of the output is Welcome to
   your OpenLinux system!. How do I change this? (Caldera OpenLinux 2.4)
   
   Caldera OpenLinux includes this annoying message as part of their
   default login. For instructions on how to remove or modify this
   output, see [75]Section 3.1.3.3.
     _________________________________________________________________
   
10. Installing the IBM Developer Kit for Java

   This section gives you quick and dirty instructions on how to install
   the IBM Developer Kit for Java, version 1.1.8. You need this version
   to run the DB2 Control Center or Java applications or applets that
   connect to DB2. Note that these instructions are not meant to replace
   the documentation supplied with the IBM Developer Kit for Java.
   
   Warning
   
   For DB2 Version 7.1, you cannot use other versions of Java. Versions
   of the Java Virtual Machine (JVM) supplied by other software
   organizations are not supported, and even later versions of the IBM
   Developer Kit for Java, such as JDK 1.3.x, are not supported.
   
   Installing the IBM Developer Kit for Java
    1. Download the IBM Developer Kit for Java, version 1.1.8, from the
       [76]IBM Java Developer's Kit downloads web site. I'll assume that
       you download the RPM package of the IBM Developer Kit for Java.
    2. Install the IBM Developer Kit for Java by issuing the following
       command as root:
       
bash# rpm -ivh IBMJava118-SDK-1.1.8-2.0-i386.rpm

    3. Add the following lines to your /etc/profile file to set up the
       Java environment for all users:
       
   export JAVA_HOME=/usr/jdk118
   export PATH=$PATH:$JAVA_HOME/bin
   export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/classes.zip

     Note: Caldera users should see [77]Section 3.1.1 for instructions
     on configuring the IBM Developer Kit for Java on Caldera OpenLinux.
     _________________________________________________________________
   
Appendix A. Resources

   Following is a list of references to further information on using DB2
   V7.1 for Linux:
   
   Newsgroups
          
        [78]comp.databases.ibm-db2
                Covers the use of DB2 Universal Database on all
                platforms, including Linux and other Unices, OS/2,
                OS/390, OS/400, and Windows. This forum is quite active.
                
        [79]ibm.software.db2.udb.v7beta on the news.software.ibm.com NNTP
                server
                Although this newsgroup was meant to serve users trying
                out the DB2 V7.1 beta code, there are a lot of general
                questions about DB2 on Linux that might help answer your
                questions. Now that the final release is available,
                activity on this forum has slowed down significantly.
                
   Web sites
          
        [80]DB2 Library
                IBM publishes many books on installing, administering,
                and developing applications with DB2. If you decide not
                to install the documentation when you install DB2, you
                can always access the documentation online in HTML format
                or download PDF versions of the books.
                
        [81]DB2 Application Development
                This web site contains the latest information about
                restrictions, workarounds, or additional documentation
                for developing applications with DB2.
                
        [82]DB2 for Linux
                This web site contains general information about using
                DB2 for Linux, including a link to the free [83]download
                of DB2 Personal Developers Edition.
                
        [84]DB2 Magazine
                This web site is the online version of DB2 Magazine,
                which publishes articles about using DB2 on Linux and
                other platforms. You can also sign up a free subscription
                to the print version of the magazine.
                
        [85]DB2 White Papers
                This web site contains white papers published by IBM
                about DB2. White papers typically provide overviews or
                introductions to new technology or new releases of a
                product.
                
        [86]International DB2 Users Group (IDUG)
                IDUG holds a number of international conferences on DB2
                and has regional user groups. While IDUG has
                traditionally focused on DB2 for OS/390 and OS/400, they
                have increasingly included information on DB2 for Linux,
                other Unices, OS/2, and Windows. The IDUG web site
                includes online discussion forums and links to other DB2
                resources.
     _________________________________________________________________
   
Appendix B. GNU General Public License

     Version 2, June 1991
     
     Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple
     Place, Suite 330, Boston, MA 02111-1307 USA
     
     Everyone is permitted to copy and distribute verbatim copies of
     this license document, but changing it is not allowed.
     _________________________________________________________________
   
Appendix B.1. Preamble

   The licenses for most software are designed to take away your freedom
   to share and change it. By contrast, the GNU General Public License is
   intended to guarantee your freedom to share and change free
   software--to make sure the software is free for all its users. This
   General Public License applies to most of the Free Software
   Foundation's software and to any other program whose authors commit to
   using it. (Some other Free Software Foundation software is covered by
   the GNU Library General Public License instead.) You can apply it to
   your programs, too.
   
   When we speak of free software, we are referring to freedom, not
   price. Our General Public Licenses are designed to make sure that you
   have the freedom to distribute copies of free software (and charge for
   this service if you wish), that you receive source code or can get it
   if you want it, that you can change the software or use pieces of it
   in new free programs; and that you know you can do these things.
   
   To protect your rights, we need to make restrictions that forbid
   anyone to deny you these rights or to ask you to surrender the rights.
   These restrictions translate to certain responsibilities for you if
   you distribute copies of the software, or if you modify it.
   
   For example, if you distribute copies of such a program, whether
   gratis or for a fee, you must give the recipients all the rights that
   you have. You must make sure that they, too, receive or can get the
   source code. And you must show them these terms so they know their
   rights.
   
   We protect your rights with two steps: (1) copyright the software, and
   (2) offer you this license which gives you legal permission to copy,
   distribute and/or modify the software.
   
   Also, for each author's protection and ours, we want to make certain
   that everyone understands that there is no warranty for this free
   software. If the software is modified by someone else and passed on,
   we want its recipients to know that what they have is not the
   original, so that any problems introduced by others will not reflect
   on the original authors' reputations.
   
   Finally, any free program is threatened constantly by software
   patents. We wish to avoid the danger that redistributors of a free
   program will individually obtain patent licenses, in effect making the
   program proprietary. To prevent this, we have made it clear that any
   patent must be licensed for everyone's free use or not licensed at
   all.
   
   The precise terms and conditions for copying, distribution and
   modification follow.
     _________________________________________________________________
   
Appendix B.1.1. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING,
DISTRIBUTION AND MODIFICATION

   0. This License applies to any program or other work which contains a
   notice placed by the copyright holder saying it may be distributed
   under the terms of this General Public License. The "Program", below,
   refers to any such program or work, and a "work based on the Program"
   means either the Program or any derivative work under copyright law:
   that is to say, a work containing the Program or a portion of it,
   either verbatim or with modifications and/or translated into another
   language. (Hereinafter, translation is included without limitation in
   the term "modification".) Each licensee is addressed as "you".
   
   Activities other than copying, distribution and modification are not
   covered by this License; they are outside its scope. The act of
   running the Program is not restricted, and the output from the Program
   is covered only if its contents constitute a work based on the Program
   (independent of having been made by running the Program). Whether that
   is true depends on what the Program does.
   
   1. You may copy and distribute verbatim copies of the Program's source
   code as you receive it, in any medium, provided that you conspicuously
   and appropriately publish on each copy an appropriate copyright notice
   and disclaimer of warranty; keep intact all the notices that refer to
   this License and to the absence of any warranty; and give any other
   recipients of the Program a copy of this License along with the
   Program.
   
   You may charge a fee for the physical act of transferring a copy, and
   you may at your option offer warranty protection in exchange for a
   fee.
   
   2. You may modify your copy or copies of the Program or any portion of
   it, thus forming a work based on the Program, and copy and distribute
   such modifications or work under the terms of Section 1 above,
   provided that you also meet all of these conditions:
   
   a) You must cause the modified files to carry prominent notices
   stating that you changed the files and the date of any change.
   
   b) You must cause any work that you distribute or publish, that in
   whole or in part contains or is derived from the Program or any part
   thereof, to be licensed as a whole at no charge to all third parties
   under the terms of this License.
   
   c) If the modified program normally reads commands interactively when
   run, you must cause it, when started running for such interactive use
   in the most ordinary way, to print or display an announcement
   including an appropriate copyright notice and a notice that there is
   no warranty (or else, saying that you provide a warranty) and that
   users may redistribute the program under these conditions, and telling
   the user how to view a copy of this License. (Exception: if the
   Program itself is interactive but does not normally print such an
   announcement, your work based on the Program is not required to print
   an announcement.)
   
   These requirements apply to the modified work as a whole. If
   identifiable sections of that work are not derived from the Program,
   and can be reasonably considered independent and separate works in
   themselves, then this License, and its terms, do not apply to those
   sections when you distribute them as separate works. But when you
   distribute the same sections as part of a whole which is a work based
   on the Program, the distribution of the whole must be on the terms of
   this License, whose permissions for other licensees extend to the
   entire whole, and thus to each and every part regardless of who wrote
   it.
   
   Thus, it is not the intent of this section to claim rights or contest
   your rights to work written entirely by you; rather, the intent is to
   exercise the right to control the distribution of derivative or
   collective works based on the Program.
   
   In addition, mere aggregation of another work not based on the Program
   with the Program (or with a work based on the Program) on a volume of
   a storage or distribution medium does not bring the other work under
   the scope of this License.
   
   3. You may copy and distribute the Program (or a work based on it,
   under Section 2) in object code or executable form under the terms of
   Sections 1 and 2 above provided that you also do one of the following:
   
   a) Accompany it with the complete corresponding machine-readable
   source code, which must be distributed under the terms of Sections 1
   and 2 above on a medium customarily used for software interchange; or,
   
   b) Accompany it with a written offer, valid for at least three years,
   to give any third party, for a charge no more than your cost of
   physically performing source distribution, a complete machine-readable
   copy of the corresponding source code, to be distributed under the
   terms of Sections 1 and 2 above on a medium customarily used for
   software interchange; or,
   
   c) Accompany it with the information you received as to the offer to
   distribute corresponding source code. (This alternative is allowed
   only for noncommercial distribution and only if you received the
   program in object code or executable form with such an offer, in
   accord with Subsection b above.)
   
   The source code for a work means the preferred form of the work for
   making modifications to it. For an executable work, complete source
   code means all the source code for all modules it contains, plus any
   associated interface definition files, plus the scripts used to
   control compilation and installation of the executable. However, as a
   special exception, the source code distributed need not include
   anything that is normally distributed (in either source or binary
   form) with the major components (compiler, kernel, and so on) of the
   operating system on which the executable runs, unless that component
   itself accompanies the executable.
   
   If distribution of executable or object code is made by offering
   access to copy from a designated place, then offering equivalent
   access to copy the source code from the same place counts as
   distribution of the source code, even though third parties are not
   compelled to copy the source along with the object code.
   
   4. You may not copy, modify, sublicense, or distribute the Program
   except as expressly provided under this License. Any attempt otherwise
   to copy, modify, sublicense or distribute the Program is void, and
   will automatically terminate your rights under this License. However,
   parties who have received copies, or rights, from you under this
   License will not have their licenses terminated so long as such
   parties remain in full compliance.
   
   5. You are not required to accept this License, since you have not
   signed it. However, nothing else grants you permission to modify or
   distribute the Program or its derivative works. These actions are
   prohibited by law if you do not accept this License. Therefore, by
   modifying or distributing the Program (or any work based on the
   Program), you indicate your acceptance of this License to do so, and
   all its terms and conditions for copying, distributing or modifying
   the Program or works based on it.
   
   6. Each time you redistribute the Program (or any work based on the
   Program), the recipient automatically receives a license from the
   original licensor to copy, distribute or modify the Program subject to
   these terms and conditions. You may not impose any further
   restrictions on the recipients' exercise of the rights granted herein.
   You are not responsible for enforcing compliance by third parties to
   this License.
   
   7. If, as a consequence of a court judgment or allegation of patent
   infringement or for any other reason (not limited to patent issues),
   conditions are imposed on you (whether by court order, agreement or
   otherwise) that contradict the conditions of this License, they do not
   excuse you from the conditions of this License. If you cannot
   distribute so as to satisfy simultaneously your obligations under this
   License and any other pertinent obligations, then as a consequence you
   may not distribute the Program at all. For example, if a patent
   license would not permit royalty-free redistribution of the Program by
   all those who receive copies directly or indirectly through you, then
   the only way you could satisfy both it and this License would be to
   refrain entirely from distribution of the Program.
   
   If any portion of this section is held invalid or unenforceable under
   any particular circumstance, the balance of the section is intended to
   apply and the section as a whole is intended to apply in other
   circumstances.
   
   It is not the purpose of this section to induce you to infringe any
   patents or other property right claims or to contest validity of any
   such claims; this section has the sole purpose of protecting the
   integrity of the free software distribution system, which is
   implemented by public license practices. Many people have made
   generous contributions to the wide range of software distributed
   through that system in reliance on consistent application of that
   system; it is up to the author/donor to decide if he or she is willing
   to distribute software through any other system and a licensee cannot
   impose that choice.
   
   This section is intended to make thoroughly clear what is believed to
   be a consequence of the rest of this License.
   
   8. If the distribution and/or use of the Program is restricted in
   certain countries either by patents or by copyrighted interfaces, the
   original copyright holder who places the Program under this License
   may add an explicit geographical distribution limitation excluding
   those countries, so that distribution is permitted only in or among
   countries not thus excluded. In such case, this License incorporates
   the limitation as if written in the body of this License.
   
   9. The Free Software Foundation may publish revised and/or new
   versions of the General Public License from time to time. Such new
   versions will be similar in spirit to the present version, but may
   differ in detail to address new problems or concerns.
   
   Each version is given a distinguishing version number. If the Program
   specifies a version number of this License which applies to it and
   "any later version", you have the option of following the terms and
   conditions either of that version or of any later version published by
   the Free Software Foundation. If the Program does not specify a
   version number of this License, you may choose any version ever
   published by the Free Software Foundation.
   
   10. If you wish to incorporate parts of the Program into other free
   programs whose distribution conditions are different, write to the
   author to ask for permission. For software which is copyrighted by the
   Free Software Foundation, write to the Free Software Foundation; we
   sometimes make exceptions for this. Our decision will be guided by the
   two goals of preserving the free status of all derivatives of our free
   software and of promoting the sharing and reuse of software generally.
   
   NO WARRANTY
   
   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
   WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
   EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
   OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY
   KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
   PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
   THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
   
   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
   WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
   AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
   FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
   CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
   PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
   RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
   FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
   SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
   DAMAGES.
   
   END OF TERMS AND CONDITIONS
     _________________________________________________________________
   
Appendix B.1.2. How to Apply These Terms to Your New Programs

   If you develop a new program, and you want it to be of the greatest
   possible use to the public, the best way to achieve this is to make it
   free software which everyone can redistribute and change under these
   terms.
   
   To do so, attach the following notices to the program. It is safest to
   attach them to the start of each source file to most effectively
   convey the exclusion of warranty; and each file should have at least
   the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and a brief idea of what it does.
Copyright (C) yyyy name of author

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

   Also add information on how to contact you by electronic and paper
   mail.
   
   If the program is interactive, make it output a short notice like this
   when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

   The hypothetical commands `show w' and `show c' should show the
   appropriate parts of the General Public License. Of course, the
   commands you use may be called something other than `show w' and `show
   c'; they could even be mouse-clicks or menu items--whatever suits your
   program.
   
   You should also get your employer (if you work as a programmer) or
   your school, if any, to sign a "copyright disclaimer" for the program,
   if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.

signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice

   This General Public License does not permit incorporating your program
   into proprietary programs. If your program is a subroutine library,
   you may consider it more useful to permit linking proprietary
   applications with the library. If this is what you want to do, use the
   GNU Library General Public License instead of this License.

References

   1. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#INTRO
   2. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN23
   3. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN31
   4. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN50
   5. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN55
   6. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN59
   7. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN66
   8. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#PREREQS
   9. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN71
  10. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#PREPLINUX
  11. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN228
  12. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN323
  13. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN347
  14. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN397
  15. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2INSTALL
  16. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN438
  17. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2COMPONENTS
  18. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#XFACTOR
  19. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2INSTANCE
  20. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN579
  21. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN582
  22. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#UNINSTALL
  23. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#USINGDB2
  24. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN696
  25. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN710
  26. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN724
  27. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2TROUBLE
  28. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#TSINSTALL
  29. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN795
  30. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN826
  31. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#JDKINSTALL
  32. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#REFERENCES
  33. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#GPL
  34. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN989
  35. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#XFACTOR
  36. http://www.ibm.com/software/data/db2/udb/downloads.html
  37. http://www.linuxdoc.org/
  38. mailto:daniels@REMca.ibm.com
  39. http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/v7pubs.d2w/main
  40. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#XFACTOR
  41. http://www.ibm.com/java/jdk/118/linux/
  42. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#JDKINSTALL
  43. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2INSTALL
  44. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#CALDERAPOSTINSTALL
  45. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN267
  46. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN279
  47. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2INSTALL
  48. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2INSTALL
  49. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2INSTALL
  50. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2INSTANCE
  51. http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/v7pubs.d2w/main
  52. http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/v7pubs.d2w/main
  53. http://www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/v7pubs.d2w/main
  54. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#UNINSTALL
  55. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#TSINSTALL
  56. file://localhost/usr/IBMdb2/V7.1/doc/html/index.htm
  57. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#PREREQS
  58. http://kitenet.net/programs/alien/
  59. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2COMPONENTS
  60. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#DB2COMPONENTS
  61. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#JDKINSTALL
  62. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN770
  63. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN783
  64. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#PREPLINUX
  65. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN800
  66. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN816
  67. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#CALDERAUID
  68. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN831
  69. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN865
  70. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN872
  71. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN883
  72. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#AEN897
  73. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#CALDERAUID
  74. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#JDKINSTALL
  75. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#CALDERAGREETING
  76. http://www.ibm.com/java/jdk/118/linux/
  77. file://localhost/export/sunsite/users/gferg/howto/00_DB2-HOWTO.html#CALDERAPREINSTALL
  78. news:comp.databases.ibm-db2
  79. news:ibm.software.db2.udb.v7beta
  80. http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/v7pubs.d2w/main
  81. http://www.ibm.com/software/data/db2/udb/ad
  82. http://www.ibm.com/software/data/db2/linux
  83. http://www.ibm.com/software/data/db2/udb/downloads.html
  84. http://www.db2mag.com/
  85. http://www.ibm.com/software/data/pubs/papers
  86. http://www.idug.org/