Penguin
Diff: HowToDB2HOWTO
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of HowToDB2HOWTO.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 3 Last edited on Monday, October 25, 2004 2:24:08 am by StuartYeates
Older page: version 2 Last edited on Friday, June 7, 2002 1:06:26 am by perry Revert
@@ -1,3971 +1 @@
-DB2 Version 7.1 for Linux HOWTO  
-!!!DB2 Version 7.1 for Linux HOWTO  
-!Dan Scott  
-__Revision History__Revision 1.2.42001-06-02Revised by: dbsRunning JDK 1.1.8 on Red Hat 7.1Revision 1.2.32001-04-25Revised by: dbsRed Hat 7.1 install instructions, more DB2 on Debian info,  
-connecting to AS/400 databases, buffer pool memory limits, converted  
-to !DocBook XML.Revision 1.2.12000-10-25Revised by: dbsBasic Red Hat 7.0 info, additional Debian instructions.Revision 1.22000-09-25Revised by: dbsIBM JDK 1.3 works! More troubleshooting.Revision 1.12000-07-28Revised by: dbsDocumented _SHM_ID_BITS kernel parameter tuning for increasing  
-number of available connections. Added basic indexing.Revision 1.02000-07-06Revised by: dbsAdded basic Debian instructions. Corrected some factual, stylistic, and  
-grammatical mistakes. Licensed document under GNU GPL. Submitted document to LDP.Revision .72000-04-26Revised by: dbsBased 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..  
-  
-  
-  
-  
-  
-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, Linux-Mandrake 7.2, Red Hat Linux 6.2, Red Hat Linux 7.1,  
-SuSE Linux 6.2, 6.3, and 7., and !TurboLinux 6..  
-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. Introduction: ; 1.1. Why a DB2 installation HOWTO?; 1.2. Who should read this HOWTO?; 1.3. New versions of this document; 1.4. Copyright and License; 1.5. Credits; 1.6. About the author; 2. Prerequisites: ; 2.1. What are prerequisites?; 3. Preparing your distribution for DB2: ; 3.1. Caldera !OpenLinux 2.4: ; 3.1.1. Before installing DB2 on Caldera !OpenLinux; 3.1.2. Installing DB2 and creating instances on Caldera; 3.1.3. After installing DB2 on Caldera: ; 3.1.3.1. Adding instance user IDs to their groups; 3.1.3.2. Changing the default home page in Netscape; 3.1.3.3. Removing the Caldera login greeting; 3.2. Linux-Mandrake 7.2: ; 3.2.1. Before installing DB2 on Linux-Mandrake; 3.2.2. Installing DB2 and creating instances on Linux-Mandrake; 3.2.3. After installing DB2 on Linux-Mandrake; 3.3. Red Hat Linux 6.2: ; 3.3.1. Before installing DB2 on Red Hat; 3.3.2. Installing DB2 and creating instances on Red Hat; 3.3.3. After installing DB2 on Red Hat; 3.4. Red Hat Linux 7.1: ; 3.4.1. Before installing DB2 on Red Hat; 3.4.2. Installing DB2 and creating instances on Red Hat; 3.4.3. After installing DB2 on Red Hat; 3.5. SuSE Linux: ; 3.5.1. Before installing DB2 on SuSE; 3.5.2. Installing DB2 and creating instances on SuSE; 3.5.3. After installing DB2 on SuSE; 3.6. !TurboLinux 6.: ; 3.6.1. Before installing DB2 on !TurboLinux; 3.6.2. Installing DB2 on !TurboLinux; 3.6.3. After installing DB2 on !TurboLinux; 4. Installing DB2 using __db2setup__: ; 4.1. Using the __db2setup__ utility; 4.2. Installing DB2 components; 5. Installing DB2 on other Linux distributions; 6. Creating DB2 instances: ; 6.1. Overview of DB2 Administration Server; 6.2. Overview of DB2 instance; 7. Removing DB2; 8. Using DB2: ; 8.1. DB2 Control Center; 8.2. DB2 Information Center; 8.3. The DB2 command line; 9. Troubleshooting: ; 9.1. Problems with DB2 installation; 9.2. Problems creating a DB2 instance; 9.3. Problems using DB2; 9.4. Problems starting the DB2 Control Center; 10. Improving DB2 Version 7.1 performance on Linux: ; 10.1. Increasing maximum connections; 10.2. Creating and configuring buffer pools; 11. Installing the IBM Developer Kit for Java; 12. Using the 2.4 kernel with DB2 Version 7.1; A. Resources; B. GNU General Public License: ; B.1. Preamble: ; B.1.1. GNU GENERAL PUBLIC LICENSE  
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION; B.1.2. How to Apply These Terms to Your New Programs----  
-!!!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 officially supports are:  
-  
-  
-  
-  
-  
-*  
-  
-Caldera !OpenLinux 2.4  
-  
-  
-  
-*  
-*  
-  
-Red Hat Linux 6.2  
-  
-  
-  
-*  
-*  
-  
-SuSE Linux 6.2 and 6.3  
-  
-  
-  
-*  
-*  
-  
-!TurboLinux 6.  
-  
-  
-  
-*  
-  
-  
-  
-  
-For Debian and Slackware, I have included ''very'' basic installation  
-instructions or links to other resources in 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 install DB2 Version 6.1 for Linux and DB2 hangs on the  
-__db2start__ command, see  
-db2start hangs on Linux distributions built with glibc 2.1. I don't include any other DB2 Version 6.1  
-information in this document. 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  
-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 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 `daniels@REMca.ibm.comb (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.  
-  
-  
-  
-  
-Additional thanks to:  
-  
-  
-  
-  
-  
-*  
-  
-Andika Triwidada for contributing instructions to install  
-DB2 V7.1 on Debian using the __rpm__ utility.  
-  
-  
-  
-*  
-*  
-  
-Michael Naughton for braving Red Hat 7 and figuring out the  
-libncurses.so.4 prerequisite.  
-  
-  
-  
-*  
-*  
-  
-Christoph Shmitz for resolving license problems with DB2  
-installed via __alien__.  
-  
-  
-  
-*  
-*  
-  
-Claus Fischer for solving a DB2 on Debian problem with updating  
-instances and contributing cataloging instructions for DB2 on AS/400.  
-  
-  
-  
-*  
-  
-  
-----  
-!!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  
-''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 both  
-2.2.19 and 2.4.3 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.  
-  
-  
-; libncurses:  
-  
-4.x. For __db2setup__ to work correctly,  
-this version of the library must be available on your system with the following  
-pathname: /usr/lib/libncurses.so.4.  
-  
-  
-; libstdc++-libc6.1-1.so.2:  
-  
-A file or symbolic link by this exact name is mandatory.  
-On most distributions, this is a symbolic link to libstdc++-2.9..so,  
-but on several recent distributions this is a symbolic link to  
-libstdc++-2.10..so.  
-  
-  
-__Note: __  
-In previous versions of this HOWTO, I stated that the exact version  
-of libstdc++-2.9..so was mandatory. I was wrong.  
-  
-  
-  
-  
-  
-; 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 Section 5.  
-  
-  
-; Java:  
-  
-The IBM Developer Kit for Java, 1.1.8 or  
-1.3, 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 1.1.8 is the March 22, 2000 release.  
-You can get the IBM Developer Kit and Runtime Environment  
-for Linux, Java Technology Edition, from the IBM Java Developer Kit  
-downloads web site as follows:  
-  
-  
-  
-  
-  
-*  
-  
-Version 1.1.8  
-  
-  
-  
-*  
-*  
-  
-Version 1.3  
-  
-  
-  
-*  
-  
-  
-  
-  
-''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  
-  
-  
-  
-  
-In the following table:  
-  
-  
-  
-  
-  
-*  
-  
-unknown indicates that I don't  
-know what the default level is, and I haven't installed DB2 on this distribution  
-(your feedback is welcome!)  
-  
-  
-  
-*  
-*  
-  
-okay indicates that I don't  
-know what the default level is, but it worked when I installed DB2  
-  
-  
-  
-*  
-*  
-  
-** as a prefix indicates that the default level is not acceptable  
-and must be replaced or supplemented with a compatible library  
-  
-  
-  
-*  
-  
-  
-  
-  
-__Table 1. Prerequisite levels, by distribution__  
-  
-  
-!DistributionglibcLinux kernellibncurseslibstdc++-libc6.1-1.sopdkshrpmCaldera !OpenLinux 2.42.1.22.2.14okay2.9.05.2.14okayDebian 2.22.1.32.2.17okay2.10.05.2.143..3Linux-Mandrake 7.22.1.32.2.17okay (4, 4.2, 5, 8 5.1)2.95.2.143..5Red Hat 6.22.1.22.2.14okay2.9.05.2.14okayRed Hat 72.1.922.2.16**5.1**2.9.65.2.144.0Red Hat 7.12.2.22.4.2**5.2**2.9.65.2.144..2SuSE 6.22.1.12.2.10unknown2.9.05.2.14okaySuSE 6.32.1.22.2.13okay2.9.05.2.14okaySuSE 7.0unknown2.2.17okayunknown5.2.14okayTurboLinux 6.02.1.22.2.13okay2.9.05.2.14okay----  
-!!!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__  
-  
-  
-#  
-  
-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  
-  
-  
-  
-#  
-#  
-  
-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  
-  
-  
-  
-#  
-#  
-  
-Install the IBM Developer Kit for Java. A brief set of installation  
-directions is included in Section 11.  
-  
-  
-  
-#  
-#  
-  
-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" ]88 [[ -d /usr/java ] 88 (  
-export JAVA_HOME=/usr/java  
-[[ -r $JAVA_HOME/lib/classes.zip ] 88  
-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" ]88 [[ -d /usr/jdk118 ] 88 (  
-export JAVA_HOME=/usr/jdk118  
-export PATH=$PATH:$JAVA_HOME/bin  
-[[ -r $JAVA_HOME/lib/classes.zip ] 88  
-export CLASSPATH=$JAVA_HOME/lib/classes.zip  
-)  
-  
-  
-  
-  
-#----  
-!3.1.2. Installing DB2 and creating instances on Caldera  
-  
-Follow the instructions in 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 Section 3.1.3 to keep in mind the steps  
-that you need to take after installing DB2.  
-  
-  
-; 3.1.2.1. What does /etc/login.defs not accessible, using defaults mean?  
-; 3.1.2.2. 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. Linux-Mandrake 7.2  
-  
-The DB2 server and command line DB2 client works on Linux-Mandrake 7.2, and I  
-was able to successfully start and use the DB2 Control Center with  
-IBM JDK 1.1.8 (build 20000713).  
-  
-  
-----  
-!3.2.1. Before installing DB2 on Linux-Mandrake  
-  
-__Preparing for the installation of DB2__  
-  
-  
-#  
-  
-Install the pdksh-5.2.14-8mdk.i586.rpm  
-package from the Linux-Mandrake CD-ROM in the  
-/Mandrake/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/Mandrake/RPMS/pdksh-5.2.14-8mdk.i586.rpm  
-  
-  
-  
-#----  
-!3.2.2. Installing DB2 and creating instances on Linux-Mandrake  
-  
-When you run __db2setup__, you may receive the following error:  
-ksh: /etc/profile.d/tmdir.sh[[9]: source: not found  
-  
-This is only a warning message and you can continue installing DB2. If the  
-message interferes with the __db2setup__ menu, press CTRL-L  
-to clear the screen.  
-  
-  
-  
-  
-Otherwise, follow the instructions in Section 4,  
-the generic section on installing DB2 and creating instances.  
-  
-  
-----  
-!3.2.3. After installing DB2 on Linux-Mandrake  
-  
-With Linux-Mandrake 7.2,  
-there are no special steps to take after installing DB2 Version 7.1. The DB2  
-server and command line client work out of the box, and the DB2 Control Center  
-worked with IBM JDK 1.1.8 (build 20000713).  
-  
-  
-----  
-!!3.3. Red Hat Linux 6.2  
-!3.3.1. Before installing DB2 on Red Hat  
-  
-__Preparing for the installation of DB2__  
-  
-  
-#  
-  
-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.3.2. Installing DB2 and creating instances on Red Hat  
-  
-Follow the instructions in Section 4,  
-the generic section on installing DB2 and creating instances.  
-  
-  
-----  
-!3.3.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.4. Red Hat Linux 7.1  
-!3.4.1. Before installing DB2 on Red Hat  
-  
-__Preparing for the installation of DB2__  
-  
-  
-#  
-  
-Install the pdksh-5.2.14-12.i386.rpm  
-package from Red Hat CD-ROM (2) 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-12.i386.rpm  
-  
-  
-  
-#  
-#  
-  
-For a compatible version of the libstdc++ library, install the  
-compat-egcs-c++-6.2-1.1.2.14.i386.rpm package  
-from Red Hat CD-ROM (2) in the  
-/!RedHat/RPMS/ directory. For  
-example, log in as root, mount the CD-ROM, and enter the following command to  
-install the compat-egcs-c++ package:  
-  
-bash# rpm -ivh /mnt/cdrom/!RedHat/RPMS/compat-egcs-c++-6.2-1.1.2.14.i386.rpm  
-  
-  
-  
-#  
-#  
-  
-Install the compat-libs-6.2-3.i386.rpm  
-package from Red Hat CD-ROM (2) in the  
-/!RedHat/RPMS/ directory. For  
-example, log in as root, mount the CD-ROM, and enter the following command to  
-install the compat-libs package:  
-  
-bash# rpm -ivh /mnt/cdrom/!RedHat/RPMS/compat-libs-6.2-3.i386.rpm  
-  
-  
-  
-#  
-#  
-  
-The __db2setup__ command looks for a file called  
-/usr/lib/libncurses.so.4 and will not proceed  
-unless it exists, so create a symbolic link from the ncurses4.0 library  
-in /usr/i386-glibc21-linux/lib/ to  
-your /usr/lib/ directory.  
-  
-bash# ln -sf /usr/i386-glibc21-linux/lib/libncurses.so.4.0 /usr/lib/libncurses.so.4  
-  
-  
-  
-  
-#  
-#  
-  
-The default setting for the msgmni kernel parameter  
-only allows a couple of simultaneous connections to DB2. To set this value  
-at at boot time, append the following lines to /etc/sysctl.conf:  
-  
-# Sets maximum number of message queues to 128  
-# Set this to 1024 or higher on production systems  
-kernel.msgmni = 128  
-  
-  
-  
-  
-#----  
-!3.4.2. Installing DB2 and creating instances on Red Hat  
-  
-Follow the instructions in Section 4,  
-the generic section on installing DB2 and creating instances.  
-  
-  
-----  
-!3.4.3. After installing DB2 on Red Hat  
-  
-Red Hat 7.1 enabled  
-the floating point stack feature of the glibc library. Unfortunately, this  
-causes Java programs using IBM JDK 1.1.8, including the DB2 Control Center,  
-to fail miserably. Fortunately, you can disable the floating point stack by  
-setting the LD_ASSUME_KERNEL environment variable to  
-2.2.5 before running the DB2 Control Center as follows:  
-  
-bash$ export LD_ASSUME_KERNEL=2.2.5  
-bash$ db2jstrt 6790  
-bash$ db2cc 6790  
-  
-  
-  
-  
-  
-With IBM JDK 1.3 (IBMJava2-SDK-1.3-7.-i386.rpm),  
-the DB2 Control Center started successfully without any  
-workarounds. For instructions on installing the IBM JDK,  
-see Section 11.  
-  
-  
-----  
-!!3.5. SuSE Linux  
-!3.5.1. Before installing DB2 on SuSE  
-  
-At some point in its past, SuSE included an old beta version of DB2  
-in their distribution. When you install SuSE Linux,  
-up to and including version 7., the SuSE installer  
-still creates the default DB2 user IDs and sets their home directories  
-in /usr/lib. This can cause some  
-difficulties when you set up the DB2 instances. Before installing DB2,  
-remove the default DB2 user IDs by issuing the following commands as root:  
-  
-bash# userdel -r db2as  
-bash# userdel -r db2fenc1  
-bash# userdel -r db2inst1  
-  
-  
-  
-----  
-!3.5.2. Installing DB2 and creating instances on SuSE  
-  
-Follow the instructions in Section 4,  
-the generic section on installing DB2.  
-  
-  
-----  
-!3.5.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.6. !TurboLinux 6.  
-!3.6.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.6.2. Installing DB2 on !TurboLinux  
-  
-Follow the instructions in Section 4,  
-the generic section on installing DB2.  
-  
-  
-----  
-!3.6.3. After installing DB2 on !TurboLinux  
-  
-When you run the DB2 Control Center with !TurboLinux 6.,  
-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, 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:  
-  
-  
-  
-  
-  
-*  
-  
-''DB2 for UNIX Quick Beginnings''  
-  
-  
-  
-*  
-*  
-  
-''DB2 Personal Edition for Linux Quick Beginnings''  
-  
-  
-  
-*  
-*  
-  
-''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.  
-  
-  
-  
-  
-__Tip: __  
-Some distributions disable execute privileges on CD-ROM devices by default.  
-To mount a CD-ROM with execute permissions at mount point  
-/mnt/cdrom, issue the following command  
-as root:  
-  
-bash# mount -o exec /mnt/cdrom  
-  
-  
-  
-----  
-!!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  
-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.  
-  
-  
-  
-  
-__Tip: __  
-You probably want to install the Control Center.  
-  
-  
-; 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 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 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 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  
-Kite converts RPM packages  
-into formats supported by Debian (dpkg), Stampede  
-(slp), and Slackware (slp).  
-  
-  
-  
-  
-  
-  
-; Debian:  
-  
-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.  
-  
-  
-  
-  
-Christoph Shmitz reports that, while he was able to install  
-DB2 Version 7.1 Personal Developer's Edition on Debian 2.2  
-using __alien__ as described above, DB2 starts in a  
-time-limited trial mode (90 days). While the use of  
-DB2 Version 7.1 Personal Developer's Edition should be unlimited,  
-__alien__ does not automatically install the DB2 license file.  
-  
-  
-  
-  
-To remove the time limit on DB2 Version 7.1 Personal Developer's Edition,  
-you need to manually install the license file  
-(s000510.personal/db2/license/db2udbpe.lic in the tar archive)  
-using the following command as root:  
-  
-bash# db2licm -a db2udbpe.lic  
-  
-  
-  
-  
-  
-Using __alien__ 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.  
-  
-  
-  
-  
-For further information on installing DB2 on Linux distributions which use the __dpkg__  
-package manager, see Tiago Antao's page,  
-Agnostic DB2 V7.1 for GNU/Linux.  
-  
-  
-  
-  
-In the following section, Andika Triwidada describes how to install  
-DB2 on Debian 2.2 using the __rpm__ command.  
-You can check the prerequisite package levels (described in Section 2)  
-installed on your system with the following command:  
-  
-bash$ dpkg -l|egrep -e '(libc6|libstdc++|pdksh|rpm|zip)'|awk '{print $1,$2,$3}'  
-  
-The resulting list should contain:  
-  
- ii libc6 2.1.3-13  
-ii libstdc++2.9-glibc2.1 2.91.66-4  
-ii pdksh 5.2.14-1  
-ii rpm 3..3-1  
-ii unzip 5.40-1  
-  
-  
-  
-  
-  
-If you are missing any of these packages, you can install the package using __apt-get__:  
-  
-bash# apt-get install ''package-name''  
-  
-  
-  
-  
-  
-__Installation Steps__  
-  
-  
-#  
-  
-Initialize the RPM database.  
-  
-bash# rpm --initdb  
-  
-  
-  
-  
-#  
-#  
-  
-Modifiy several files in /bin  
-  
-bash# mv /bin/sh /bin/sh.bash  
-bash# ln -s /usr/bin/ksh /bin/sh  
-bash# for f in awk basename ksh passwd sort touch; do ln -s /usr/bin/$f /bin/$f; done  
-  
-  
-  
-  
-#  
-#  
-  
-Copy the contents of the following script to create an RPM wrapper  
-called /bin/rpm.  
-  
-#!/bin/sh  
-# RPM wrapper, force RPM installation without checking any dependencies  
-if [[ "$1" = "-ivh" ]  
-then  
-shift  
-/usr/bin/rpm -ivh --nodeps $*  
-else  
-/usr/bin/rpm $*  
-fi  
-  
-  
-  
-  
-#  
-#  
-  
-Make the RPM wrapper executable:  
-  
-bash# chmod +x /bin/rpm  
-  
-  
-  
-  
-#  
-#  
-  
-Install DB2 using the __db2setup__ command by following  
-the instructions in Section 4.  
-  
-  
-  
-#  
-#  
-  
-Create the DB2 administration server and at least one DB2 instance  
-as described in Section 6. To simplify testing,  
-ensure that you create the sample database when you create the DB2 instance.  
-  
-  
-  
-#  
-  
-__Testing your DB2 installation__  
-  
-  
-#  
-  
-Log on to your Linux server with the DB2 instance user ID. Remember,  
-the default user ID is db2inst1.  
-  
-  
-  
-#  
-#  
-  
-Prepare your DB2 environment by running the __db2profile__  
-script:  
-  
-bash$ cd ~/sqllib  
-bash$ . ./db2profile  
-  
-  
-  
-  
-#  
-#  
-  
-Run a query against the sample database to test your installation.  
-  
-bash$ db2  
-bash$ db2 =b connect to sample  
-bash$ db2 =b select * from employee  
-  
-There should be a printout of records from sample database here  
-  
-bash$ db2 =b quit  
-  
-  
-  
-  
-#  
-  
-__After you install DB2__  
-  
-  
-#  
-  
-Remove the RPM wrapper script by removing, renaming, or linking it directly to /usr/bin/rpm.  
-  
-bash# rm /bin/rpm  
-  
-  
-  
-  
-#  
-#  
-  
-Change /bin/sh back into a symlink to /usr/bin/bash.  
-  
-bash# ln -sf /usr/bin/bash /bin/sh  
-  
-  
-  
-  
-#  
-  
-After installing DB2 with __alien__, Claus Reiner reported that:  
-  
-  
- While all components of DB/2 were installed, the instance  
-apparently didn't know them and thus couldn't use them.  
-After a lot of sweat going through the configurations,  
-IBM support told me that I should make an instance update  
-which solved it. (The instance could locally and between  
-Unixen do everything, only when trying to connect to AS/400  
-using DCS it told us 'authentication not supported').  
-  
-  
-  
-Claus recommends running the following commands as root after  
-installing DB2 with either __alien__ or __RPM__,  
-  
-bash# . $INSTANCEHOME/sqllib/db2profile  
-bash# /usr/IBMdb2/V7.1/instance/db2iupdt -e  
-  
-  
-  
-; Slackware:  
-  
-Thorough information on installing DB2 on Slackware 7.1 using __RPM__ is available  
-from James Phillips' page, Installing DB2 on Slackware Linux.  
-  
-  
-----  
-!!!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.  
-  
-  
-  
-#  
-  
-Issue the __db2setup__ command as described in Section 4.2.  
-  
-  
-  
-#  
-#  
-  
-Select [[ Create... ].  
-  
-  
-  
-#  
-#  
-  
-Select the check box for Create the Administration Server. The Administration Server  
-window is displayed.  
-  
-  
-  
-#  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-Select the Use default UID check box. As far as I can tell, this setting is always right.  
-  
-  
-  
-#  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-Select the Use default GID check box. Again, as far as I can tell,  
-this setting is always right.  
-  
-  
-  
-#  
-#  
-  
-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/.  
-  
-  
-  
-  
-  
-  
-#  
-#  
-  
-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.  
-  
-  
-  
-#  
-  
-Issue the __db2setup__ command as described in Section 4.2.  
-  
-  
-  
-#  
-#  
-  
-Select [[ Create... ].  
-  
-  
-  
-#  
-#  
-  
-Select the Create a DB2 Instance check box. The DB2 Instance window is displayed.  
-  
-  
-  
-#  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-Select the Use default UID check box. As far as I can tell, this setting is always right.  
-  
-  
-  
-#  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-Select the Use default GID check box. Again, as far as I can tell,  
-this setting is always right.  
-  
-  
-  
-#  
-#  
-  
-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/.  
-  
-  
-  
-  
-  
-  
-#  
-#  
-  
-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.  
-  
-  
-  
-  
-  
-  
-#  
-#  
-  
-Select [[ Properties... ] to change the properties for the instance.  
-  
-  
-  
-##  
-  
-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.  
-  
-  
-  
-##  
-##  
-  
-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.  
-  
-  
-  
-##  
-##  
-  
-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.  
-  
-  
-  
-##  
-#  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-Select [[ OK ] to create the fenced user.  
-  
-  
-  
-#----  
-!!!7. Removing DB2  
-  
-To remove DB2 from your workstation cleanly, perform  
-the following steps:  
-  
-  
-  
-#  
-  
-Log in as root.  
-  
-  
-  
-#  
-#  
-  
-List all DB2 instances:  
-bash# /usr/IBMdb2/V7.1/instance/db2ilist  
-  
-  
-  
-#  
-#  
-  
-Drop each instance listed in the previous step with the following command:  
-  
-bash# /usr/ibmdb2/v7.1/instance/db2idrop ''instance-name''  
-  
-  
-  
-#  
-#  
-  
-Drop the DB2 administration server:  
-  
-bash# /usr/IBMdb2/V7.1/instance/dasidrop `/usr/IBMdb2/V7.1/instance/dasilist`  
-  
-  
-  
-#  
-#  
-  
-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  
-Section 11.  
-  
-  
-----  
-!!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__  
-  
-  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-Start the X server, if it is not already started.  
-  
-  
-  
-#  
-#  
-  
-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__  
-  
-  
-#  
-  
-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.  
-  
-  
-  
-#  
-#  
-  
-Ensure that the X server is started.  
-  
-  
-  
-#  
-#  
-  
-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 =b connect to sample  
-db2 =b 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 =b  
-  
-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. 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. When I try to run __db2setup__, I get the following error:  
-./db2inst: error while loading shared libraries: libncurses.so.4: cannot  
-open shared object file: No such file or directory  
-; 9.1.3. Creating a DB2 instance on SuSE Linux: Default user name already exists  
-; 9.1.4. Creating a DB2 instance on SuSE Linux: Default group name already exists  
-; 9.1.5. Creating a DB2 instance on SuSE Linux: Default home directory points to /usr/lib/db2/  
-; 9.1.6. After creating a DB2 instance, I installed the Application Development Client,  
-but I can't use that instance to create DB2 applications.  
-; 9.1.7. I installed DB2, but none of the permissions in  
-/usr/IBMdb2/V7.1/bin  
-are executable!  
-  
-  
-__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 Section 3 for more details on installing  
-the __pdksh__ package for your Linux distribution.  
-  
-  
-  
-  
-__9.1.2. __  
-When I try to run __db2setup__, I get the following error:  
-./db2inst: error while loading shared libraries: libncurses.so.4: cannot  
-open shared object file: No such file or directory  
-  
-  
-  
-  
-__ __  
-DB2 issues this error when it can't find the libncurses.so.4 library. Red Hat 7  
-does not include this level of the library in their standard ncurses-5.1-2 package,  
-requiring that you install the ncurses4-5.-2 library for backwards compatibility.  
-  
-  
-  
-  
-__9.1.3. __  
-Creating a DB2 instance on SuSE Linux: Default user name already exists  
-  
-  
-  
-  
-__ __  
-If you did not remove the default DB2 user IDs created by SuSE Linux before  
-installing DB2 (see Section 3.5), 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.  
-  
-  
-  
-  
-__9.1.4. __  
-Creating a DB2 instance on SuSE Linux: Default group name already exists  
-  
-  
-  
-  
-__ __  
-If you did not remove the default DB2 user IDs created by SuSE Linux before  
-installing DB2 (see Section 3.5), 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.  
-  
-  
-  
-  
-__9.1.5. __  
-Creating a DB2 instance on SuSE Linux: Default home directory points to /usr/lib/db2/  
-  
-  
-  
-  
-__ __  
-If you did not remove the default DB2 user IDs created by SuSE Linux before  
-installing DB2 (see Section 3.5), the default user name already exists and was created in the  
-/usr/lib/db2/ directory. To change the  
-home directory of your new DB2 instance, you must manually specify  
-the location of the new instance. The default home  
-directory is /home/.  
-  
-  
-  
-  
-__9.1.6. __  
-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.1.7. __  
-I installed DB2, but none of the permissions in  
-/usr/IBMdb2/V7.1/bin  
-are executable!  
-  
-  
-  
-  
-__ __  
-When you create an instance, as described in  
-Section 6, DB2 copies selected files from  
-/usr/IBMdb2/V7.1/bin into the  
-$HOME/sqllib/bin directory of  
-the instance. DB2 sets the appropriate permissions on the copies of  
-the files in the instance directory.  
-  
-  
-----  
-!!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. Creating a DB2 instance or a DB2 Administration Server fails.  
-; 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).  
-  
-  
-__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 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. DB2 is running out of available connections.; 9.3.2. I installed DB2 Version 6.1 and __db2start__ just hangs.; 9.3.3. I'm using DB2 PE 7.1 on linux (RH 6.), and I'm having problems when  
-trying to connect with my username and password. I can connect successfully  
-to the database with the default user ID:  
-  
-bash$ db2 connect to sample  
-Database Connection Information  
-Database server = DB2/LINUX 7.1.  
-SQL authorization ID = ''userID''  
-Local database alias = SAMPLE  
-  
-But when I try to connect to the database using the explicit user ID, it fails:  
-  
-bash$ db2 CONNECT TO sample USER ''userID''  
-Enter current password for ''userID'':  
-SQL1403N The username and/or password supplied is incorrect.  
-SQLSTATE=08004  
-  
-Why can't I connect with an explicit user ID?  
-; 9.3.4. 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.5. How do I connect from a DB2 Connect for Linux client to a DB2 for AS/400 server?  
-  
-  
-__9.3.1. __DB2 is running out of available connections.  
-  
-  
-  
-__ __  
-You probably need to adjust some kernel parameters. For more information, see  
-Section 10.  
-  
-  
-  
-  
-__9.3.2. __I installed DB2 Version 6.1 and __db2start__ just hangs.  
-  
-  
-  
-__ __  
-Hey! I said I wasn't going to include any DB2 Version 6.1 information! Oh well, this is  
-one of the most frequently asked questions about 6.1, so here's a short answer: you need to install  
-a recent DB2 !FixPack. The initial release of DB2 Version 6.1 ran into incompatibilities  
-with distributions built on glibc 2.1. For a full description of the  
-problem, and the correct install procedure, refer to IBM Support document 1000814:  
-db2start hangs on Linux distributions built with glibc 2.1.  
-  
-  
-  
-  
-__9.3.3. __  
-I'm using DB2 PE 7.1 on linux (RH 6.), and I'm having problems when  
-trying to connect with my username and password. I can connect successfully  
-to the database with the default user ID:  
-  
-bash$ db2 connect to sample  
-Database Connection Information  
-Database server = DB2/LINUX 7.1.  
-SQL authorization ID = ''userID''  
-Local database alias = SAMPLE  
-  
-But when I try to connect to the database using the explicit user ID, it fails:  
-  
-bash$ db2 CONNECT TO sample USER ''userID''  
-Enter current password for ''userID'':  
-SQL1403N The username and/or password supplied is incorrect.  
-SQLSTATE=08004  
-  
-Why can't I connect with an explicit user ID?  
-  
-  
-  
-  
-__ __  
-Check the ownership and permissions on the db2ckpw program.  
-They should look like this:  
-  
-bash$ ls -al ~/sqllib/security/db2ckpw  
--rwsr-s--x 1 root build 15989 Oct 17 07:22 sqllib/security/db2ckpw*  
-  
-If this program is not owned by root, then do the following as root:  
-  
-bash# chown root db2ckpw  
-bash# chmod ug+s db2ckpw  
-  
-  
-  
-  
-  
-__9.3.4. __  
-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  
-Section 3.1.3.3.  
-  
-  
-  
-  
-__9.3.5. __  
-How do I connect from a DB2 Connect for Linux client to a DB2 for AS/400 server?  
-  
-  
-  
-  
-__ __  
-Claus Reiner contributed the following procedure:  
-  
-  
-  
-  
-__Preparing DB2 for AS/400 to accept connections__  
-  
-  
-  
- AS/400 has a special service that must be run and other things  
-that need to be prepared:  
-  
-  
-  
-#  
-  
- Name the database and make a *LOCAL entry Command WRKRDBDIRE.  
-There should be an entry with a remote location name of *LOCAL.  
-The relational database name specified with that entry is the  
-external name of the AS/400 database. Typically this is the same name as the  
-system name.  
-  
-  
-  
-#  
-#  
-  
- Set the code page to 37. For the user that connects, change the CCSID parameter  
-from *SYSVAL to 37, or change it system-wide:  
-  
- CHGUSRPRF USRPRF(''user'') CCSID(37)  
-  
-or  
-  
- CHGSYSVAL SYSVAL(QCCSID) VALUE(37)  
-  
-  
-  
-  
-#  
-#  
-  
- Start a service to listen on port 446. To start the service once:  
-  
- STRTCPSVR SERVER(*DDM)  
-  
-To automatically start the service:  
-  
- CHGDDMTCPA AUTOSTART(*YES)  
-  
-  
-  
-  
-#  
-#  
-  
- Create a NULLID collection by issuing the following SQL statement:  
-  
- CREATE COLLECTION NULLID  
-  
-  
-  
-  
-#  
-#  
-  
- Possibly create a collection for the user ID to connect with:  
-  
- CREATE COLLECTION ''userid''  
-  
-  
-  
-  
-#  
-  
-__Preparing DB2 Connect for Linux to connect to an AS/400 database__  
-  
-  
-  
- On the Linux side, you need to perform the following steps:  
-  
-  
-  
-#  
-  
- Catalog the remote node (the AS/400) with OSTYPE OS400:  
-  
-bash$ db2 CATALOG TCPIP NODE ''as400'' REMOTE ''as400'' \  
-SERVER ''446'' REMOTE_DATABASE ''as400_dbname'' \  
-OSTYPE os400  
-  
-  
-  
-  
-#  
-#  
-  
- Catalog the remote database in DCS:  
-  
-bash$ db2 CATALOG DCS DATABASE ''as400_dbname'' AS ''as400_dbname''  
-  
-  
-  
-  
-#  
-#  
-  
- Catalog the remote database:  
-  
-bash$ db2 CATALOG DATABASE ''as400_dbname'' AS ''as400_dbname'' \  
-AT NODE ''as400'' AUTHENTICATION DCS  
-  
-  
-  
-  
-#----  
-!!9.4. Problems starting the DB2 Control Center  
-  
-The following section covers some of the common problems you may encounter  
-trying to start the DB2 Control Center.  
-  
-  
-; 9.4.1. When I start the DB2 Control Center with __db2cc__,  
-nothing happens.  
-; 9.4.2. When I start the DB2 Control Center, I get a message box with the  
-error SQL1042C An unexpected system error occurred.  
-; 9.4.3. I followed the instructions for installing IBM JDK 1.1.8 but Java  
-applications, including the DB2 Control Center, don't work.  
-; 9.4.4. The DB2 Control Center starts normally, but the "Systems" folder is empty.; 9.4.5. When I try to start the DB2 Control Center, I get the following message  
-at the console: Xlib: connection to "localhost:." refused by server  
-; 9.4.6. When I start the DB2 Control Center, I get a message box with the  
-error SQL1042C An unexpected system error occurred.  
-; 9.4.7. When I try to start the DB2 Control Center with  
-the __db2cc__ command, the splash screen comes up, then  
-disappears.  
-  
-  
-__9.4.1. __When I start the DB2 Control Center with __db2cc__,  
-nothing happens.  
-  
-  
-  
-  
-__ __  
-On some systems, for unknown reasons, issuing the __db2cc__  
-command will not start the Control Center. You can often get the  
-DB2 Control Center to start by explicitly starting a DB2 JDBC server  
-on a specified port, then issuing the __db2cc__ command with  
-the port number. The following example starts the DB2 JDBC server and  
-DB2 Control Center on port 6799:  
-  
-bash$ db2jstrt 6799  
-bash$ db2cc 6799  
-  
-  
-  
-  
-  
-__9.4.2. __When I start the DB2 Control Center, I get a message box with the  
-error SQL1042C An unexpected system error occurred.  
-  
-  
-  
-  
-__ __  
-On most systems, 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.4.3. __  
-I followed the instructions for installing IBM JDK 1.1.8 but Java  
-applications, including the DB2 Control Center, don't work.  
-  
-  
-  
-  
-__ __  
-Red Hat 7.1 enabled a floating point stack feature in the glibc library  
-that breaks the IBM JDK 1.1.8. Other distributions might follow their lead.  
-  
-  
-  
-  
-Set the LD_ASSUME_KERNEL environment variable to  
-2.2.5 before running the DB2 Control Center or your  
-Java application:  
-  
-bash$ export LD_ASSUME_KERNEL=2.2.5  
-  
-  
-  
-  
-  
-__9.4.4. __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.4.5. __When I try to start the DB2 Control Center, I get the following message  
-at the console: Xlib: connection to "localhost:." refused by server  
-  
-  
-  
-  
-__ __  
-This normally indicates an X permissions problem that occurs when you log on as one user, then  
-__su__ to the DB2 instance owner so that you can start the DB2 Control Center.  
-By default, most X servers do not recognize 'localhost' as a client that is allowed to initiate  
-an X app on your display; it will only recognize your real hostname. If __xauth__  
-is set up, then it will complain if a user ID other than the one that started X tries to invoke  
-an X application.There are a few things you can try:  
-  
-  
-  
-  
-  
-*  
-  
-Before su'ing to the DB2 instance owner, issue the command __bash$ xhost +localhost__:  
-this tells your X server that 'localhost' is allowed to start X apps on your display. Then __su__  
-to the DB2 instance owner and start the Control Center.  
-  
-  
-  
-*  
-*  
-  
-Log out completely, then log on directly as the DB2 instance owner and start the Control Center.  
-You may still have to issue the command __bash$ xhost +localhost__ before the  
-Control Center will start--recent distributions have added this extra level of security.  
-  
-  
-  
-*  
-*  
-  
-Look into the __xauth__ command and add your primary user ID's  
-~/.Xauthority file to your DB2 instance owner's xauth  
-authority database. I believe it's the __xauth merge__ command that you want.  
-  
-  
-  
-*  
-  
-  
-  
-  
-__9.4.6. __When I start the DB2 Control Center, I get a message box with the  
-error SQL1042C An unexpected system error occurred.  
-  
-  
-  
-  
-__ __  
-On most systems, 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.4.7. __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 Section 3.1.3.1.  
-  
-  
-  
-  
-__ __  
-Ensure that you have installed the IBM Developer Kit for Java, and that  
-the directory containing the jre or java  
-executable 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)"  
-  
-or, for the IBM JDK 1.3:  
-java full version "J2RE 1.3.0 IBM build cx130-20000623"  
-  
-Java virtual machines from other sources may not work.  
-For a quick guide to installing the IBM Developer Kit for Java, see  
-Section 11.  
-  
-  
-----  
-!!!10. Improving DB2 Version 7.1 performance on Linux  
-  
-Database administrators running DB2 on Linux often run into  
-problems attempting to perform the following tasks:  
-  
-  
-  
-  
-  
-*  
-  
-increasing the maximum number of simultaneous connections to the DB2 server  
-  
-  
-  
-*  
-*  
-  
-configuring buffer pools  
-  
-  
-  
-*  
-The following sections attempt to address those problems.  
-  
-  
-----  
-!!10.1. Increasing maximum connections  
-  
-One of the most frequently reported problems with running DB2 on Linux is that  
-DB2 seems to quickly start refusing connections to the server. You can alleviate  
-this problem by examining an altering several kernel parameters that control  
-inter-process communication (ipc) limits.  
-  
-  
-  
-  
-The number of connections that DB2 can support depends on kernel parameters that,  
-in the 2.2 kernel, are #define variables included in the  
-kernel source header files. In the 2.4 kernel, some of these parameters can be set  
-through the /proc filesystem.  
-Following the description of these  
-variables is a table listing the default values by distribution. The table includes the values  
-of these variables in the updated kernel packages for each distribution.  
-  
-  
-  
-  
-; _SHM_ID_BITS:  
-  
-This variable, defined in /usr/src/linux/include/asm/shmparam.h,  
-determines the number of shared memory segment identifiers available to Linux. The  
-default value for _SHM_ID_BITS in the kernel source  
-is 7, which allows for a total of 2^7, or 128,  
-shared memory segment identifiers.  
-  
-  
-  
-  
-On a single-processor machine, DB2 itself uses a set number (~15) of  
-shared memory segment identifiers. On a machine with multiple processors,  
-DB2 also requires one shared memory segment identifier per agent to take  
-advantage of the Fast Communication Manager (FCM) feature  
-of DB2. Because each DB2 connection requires one agent per processor,  
-on a quad-processor machine the default value of _SHM_ID_BITS  
-allows less than 32 simultaneous connections to a DB2 instance.  
-  
-  
-  
-  
-If you recompile the kernel yourself, you should be able to safely  
-increase this value to 9.  
-  
-  
-; MSGMNI:  
-  
-This variable determines the maximum number of message queue identifiers.  
-For DB2 Version 7.1 to function correctly, the minimum value is 128,  
-but for heavier use consider setting this value to 1024 or  
-higher.  
-  
-  
-  
-  
-In the 2.2 kernel source, this variable is defined in  
-/usr/src/linux/include/linux/msg.h. The default value of  
-128 is acceptable for small-scale use of DB2 Version 7.1.  
-  
-  
-  
-  
-In the 2.4 kernel source, this variable is defined in  
-/proc/sys/kernel/msgmni. The default value of  
-16 must be increased to enable DB2 Version 7.1 to  
-function correctly. The good news is that you can change this value  
-without recompiling the kernel or rebooting your machine.  
-For more information, see Section 12.  
-  
-  
-; 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.  
-The stock kernels shipped with the Red Hat, SuSE, and !TurboLinux distributions  
-increase the value of NR_TASKS to 2560 or above.  
-However, Caldera !OpenLinux eDesktop 2.4 ships with a kernel in which NR_TASKS  
-is set to the default value of 512. Caldera users should increase the value  
-of this variable and recompile 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.  
-  
-  
-  
-  
-  
-  
-  
-The following table shows the default values of the kernel parameters  
-set in the stock kernel source and in the kernels provided by each  
-distribution.  
-  
-  
-  
-  
-  
-*  
-  
-unknown indicates that I don't  
-know what the default level is, probably because it came  
-to my attention after I had already removed the distribution  
-(your feedback is welcome!)  
-  
-  
-  
-*  
-*  
-  
-?? indicates that I could not find the  
-parameter in the kernel source or in the  
-/proc/sys/kernel/ directory. Help, anyone?  
-  
-  
-  
-*  
-*  
-  
-** as a prefix indicates that the  
-default value is not acceptable and must be increased  
-  
-  
-  
-*  
-  
-  
-  
-  
-__Table 2. Default kernel parameter values, by distribution__  
-  
-  
-Distribution_SHM_ID_BITSMSGMNINR_TASKSSEMMNI2.2 kernel source71285121282.4 kernel source??**16??128Caldera !OpenLinux eDesktop 2.47Unknown512128Caldera !OpenLinux eServer 2.37Unknown512128Linux-Mandrake 7.2105124090512Red Hat 6.2  
-  
-  
-  
-  
-kernel-2.2.14-57kernel-2.2.14-129kernel-2.2.16-39  
-  
-  
-  
-Unknown  
-  
-  
-  
-  
-kernel-2.2.14-52560kernel-2.2.14-122560kernel-2.2.16-34090  
-  
-  
-  
-  
-  
-  
-  
-  
-kernel-2.2.14-5128kernel-2.2.14-12512kernel-2.2.16-3512  
-  
-  
-  
-Red Hat 7.1n/a (2.4 kernel)16n/a (2.4 kernel)128SuSE 6.2UnknownUnknownUnknownUnknownSuSE 6.3UnknownUnknownUnknownUnknownSuSE 7.091282048512TurboLinux 6.  
-  
-  
-  
-  
-kernel-2.2.14-57kernel-2.2.16-.47  
-  
-  
-  
-Unknown  
-  
-  
-  
-  
-kernel-2.2.14-52560kernel-2.2.16-.42560  
-  
-  
-  
-  
-  
-  
-  
-  
-kernel-2.2.14-5128kernel-2.2.16-.4128  
-  
-  
-  
-----  
-!!10.2. Creating and configuring buffer pools  
-  
-A buffer pool is a database object representing system memory used  
-to cache table and index data as it is read from disk or modified.  
-DB2 allocates a default buffer pool of 4 megabytes of memory. This  
-is a ridiculous default for a production database because it will  
-inhibit performance greatly. To get good performance out of DB2,  
-you must create one or more buffer pools and associate them with  
-the tablespaces used to hold the tables in your database. For more  
-information on buffer pools and increasing performance, see the  
-''IBM DB2 Administration Guide: Performance''.  
-  
-  
-  
-  
-On a system with a 2.2 kernel compiled with support for b1 gigabyte of  
-RAM, the practical upper limit for buffer pools is about 1 gigabyte of memory  
-due to the location in memory in which Linux loads shared libraries.  
-  
-  
-----  
-!!!11. 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 or 1.3.  
-You need the IBM Developer Kit for Java 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.  
-  
-  
-  
-  
-  
-  
-  
-__Installing the IBM Developer Kit for Java, Version 1.1.8__  
-  
-  
-#  
-  
-Download the IBM Developer Kit for Java, version 1.1.8, from the  
-IBM Java  
-Developer's Kit downloads web site. I'll assume that you  
-download the RPM package of the IBM Developer Kit for Java.  
-  
-  
-  
-#  
-#  
-  
-Install the IBM Developer Kit for Java by issuing the following command as root:  
-  
-bash# rpm -ivh IBMJava118-SDK-1.1.8-2.-i386.rpm  
-  
-  
-  
-  
-I most recently tested IBM JDK 1.1.8 build 20010115a successfully on  
-Red Hat 6.2. To see which build of the IBM JDK you are using,  
-issue the __java -fullversion__ command.  
-  
-  
-  
-#  
-#  
-  
-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 Section 3.1.1 for instructions on  
-configuring the IBM Developer Kit for Java on Caldera !OpenLinux.  
-  
-  
-  
-  
-  
-__Note: __  
-Red Hat 7.1 enabled a floating point stack feature in the glibc library  
-that breaks the IBM JDK 1.1.8. Other distributions might follow their lead.  
-If the DB2 Control Center refuses to start successfully or your Java applications  
-do not work, you can disable the floating point stack by  
-setting the LD_ASSUME_KERNEL environment variable to  
-2.2.5 before running the DB2 Control Center as follows:  
-  
-bash$ export LD_ASSUME_KERNEL=2.2.5  
-  
-  
-  
-  
-  
-  
-  
-#  
-  
-__Installing the IBM Developer Kit for Java, Version 1.3__  
-  
-  
-#  
-  
-Download the IBM Developer Kit for Java, version 1.3, from the  
-IBM Java  
-Developer's Kit downloads web site. I'll assume that you  
-download the RPM package of the IBM Developer Kit for Java.  
-  
-  
-  
-#  
-#  
-  
-Install the IBM Developer Kit for Java by issuing the following command as root:  
-  
-bash# rpm -ivh IBMJava2-SDK-1.3-1.1-i386.rpm  
-  
-  
-  
-  
-I most recently tested build cx130-20010329  
-successfully with Red Hat 7.1. To see which build of the  
-IBM JDK you are using, issue the __java -fullversion__ command.  
-  
-  
-  
-#  
-#  
-  
-Add the following lines to your /etc/profile file to set  
-up the Java environment for all users:  
-  
- export PATH=$PATH:/opt/IBMJava2-13/bin  
-  
-  
-  
-__Note: __  
-Caldera users should see Section 3.1.1 for instructions on  
-configuring the IBM Developer Kit for Java on Caldera !OpenLinux.  
-  
-  
-  
-  
-  
-  
-#  
-#  
-  
-IBM JDK 1.3 does away with the __jre__ command, even if you  
-install the the IBM JRE 1.3 package.  
-However, the __db2cc__ script calls the  
-__jre__ command. The easiest solution is to create a link  
-called __jre__ to the __java__ executable  
-in the /opt/IBMJava2-13/bin directory  
-by issuing the following command as root.  
-  
-bash# ln -sf /opt/IBMJava2-13/jre/bin/java /opt/IBMJava2-13/jre/bin/jre  
-  
-  
-  
-  
-#  
-#  
-  
-The __db2cc__ script calls the __jre__ command  
-with the -nojit argument, which is not supported in IBM JDK 1.3.  
-Remove the option by changing line 44 of /usr/IBMdb2/V7.1/bin/db2cc  
-to the following:  
-  
-JRE_OPTIONS="-ss256k -mx128m -Ddb2path=$DB2PATH"  
-  
-  
-  
-  
-#----  
-!!!12. Using the 2.4 kernel with DB2 Version 7.1  
-  
-The Linux 2.4 kernel changes the default values of some ipc  
-limits. However, the default value for the msgmni is  
-16, which causes difficulties running DB2 with the  
-default 2.4 kernel ipc parameters.  
-Fortunately, the 2.4 kernel also enables you to change a number  
-of these parameters through the /proc  
-filesystem. With the 2.4 kernel, you do not have to recompile your kernel to  
-experiment with different parameter values.  
-  
-  
-  
-  
-Configure the msgmni parameter by issuing the  
-__sysctl__ command as root:  
-  
-bash# sysctl -w kernel.msgmni=128  
-  
-You can also change values directly in /proc/sys/kernel using the __echo__ command:  
-  
-bash# echo "128" b /proc/sys/kernel/msgmni  
-  
-  
-  
-  
-  
-To set the msgmni kernel parameter at boot time, append the  
-following lines to /etc/sysctl.conf:  
-  
-# Sets maximum number of message queues to 128  
-# Set this to 1024 or higher on production systems  
-kernel.msgmni = 128  
-  
-To check the current ipc settings, issue the  
-__ipcs -l__ command:  
-  
-bash$ ipcs -l  
------- 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 = 128  
-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 = 128  
-max size of message (bytes) = 8192  
-default max size of queue (bytes) = 16384  
-  
-  
-  
-----  
-!!!A. Resources  
-  
-Following is a list of references to further information on using DB2 V7.1 for Linux:  
-  
-  
-  
-  
-; Newsgroups:  
-  
-  
-  
-; 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.  
-  
-  
-; 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:  
-  
-  
-  
-; 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.  
-  
-  
-; DB2 Application Development:  
-  
-This web site contains the latest information about restrictions, workarounds, or additional  
-documentation for developing applications with DB2.  
-  
-  
-; DB2 for Linux:  
-  
-This web site contains general information about using DB2 for Linux, including a link  
-to the free download  
-of DB2 Personal Developers Edition.  
-  
-  
-; 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.  
-  
-  
-; 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.  
-  
-  
-; 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.  
-  
-  
-; DB2 on Debian:  
-  
-Andika Triwidada contributed most of the information in this document  
-about installing DB2 on Debian, using __rpm__ to  
-install the DB2 packages. The web page is the original source of that information.  
-For those interested in installing previous releases of DB2 for Linux on Debian,  
-Andika also includes information on running DB2 Version 5.2 and DB2 Version 6.1 on Debian.  
-  
-  
-; Agnostic DB2 V7.1 for GNU/Linux:  
-  
-Another page on installing DB2 on a platform that favours the  
-__dpkg__ package manager, written by Tiago Antao.  
-His approach uses __rpm__ and __alien__ to convert  
-the packages tgz archives, then decompress the packages  
-using __tar__ and __gzip__.  
-  
-  
-; Full text searching with DB2 on Linux and SWISH++:  
-  
-The Text Extender allows you to perform full-text indexing and searches of databases  
-on DB2. Unfortunately, the Text Extender is not yet available for DB2 for Linux.  
-  
-  
-  
-  
-To fill the void, Kevin Sangalee has put together an excellent page on an alternative  
-method of providing similar function. From the site:  
-  
-  
-This document describes way to provide this functionality using the  
-text indexing package SWISH++, a User Defined Function (in this case, written in C),  
-and a Perl script. It should be taken as an overview guide rather than as detailed  
-instructions, since the solution may require some coercing to fit with other applications.  
-  
-  
-  
-  
-  
-  
-  
-  
-----  
-!!!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.  
-  
-  
-----  
-!!!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.  
-  
-  
-----  
-!!B.1.1. GNU GENERAL PUBLIC LICENSE  
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION  
-  
-  
-. 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  
-  
-  
-----  
-!!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
+Describe [HowToDB2HOWTO ] here.