mirror of https://github.com/tLDP/LDP
4354 lines
143 KiB
XML
4354 lines
143 KiB
XML
<?xml version="1.0" standalone="no"?>
|
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
"http://docbook.org/xml/4.1.2/docbookx.dtd" [
|
|
<!ENTITY colon ":"> <!-- COLON -->
|
|
<!ENTITY dollar "$"> <!-- DOLLAR SIGN -->
|
|
<!ENTITY mdash "—"> <!-- EM DASH -->
|
|
]>
|
|
<article id="index">
|
|
<!-- CVS revision info: $Id$ -->
|
|
<articleinfo>
|
|
<title>DB2 Version 7.1 for Linux HOWTO</title>
|
|
<author><firstname>Dan</firstname><surname>Scott</surname></author>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revhistory>
|
|
<revision>
|
|
<revnumber>1.2.7</revnumber>
|
|
<date>2003-12-05</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Add pointers to DB2 Version 8 information as a stop-gap
|
|
measure until a real HOWTO is available.
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.2.6</revnumber>
|
|
<date>2002-09-21</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Add Mandrake 8.1, SuSE 7.3 install instructions from
|
|
contributor Mykola Buryak.
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.2.5</revnumber>
|
|
<date>2002-07-16</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Fixed or removed some broken links, added
|
|
a few new resources.
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.2.4</revnumber>
|
|
<date>2001-06-02</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Running JDK 1.1.8 on Red Hat 7.1
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.2.3</revnumber>
|
|
<date>2001-04-25</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Red Hat 7.1 install instructions, more DB2 on Debian info,
|
|
connecting to AS/400 databases, buffer pool memory limits, converted
|
|
to DocBook XML.
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.2.1</revnumber>
|
|
<date>2000-10-25</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Basic Red Hat 7.0 info, additional Debian instructions.
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.2</revnumber>
|
|
<date>2000-09-25</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>IBM JDK 1.3 works! More troubleshooting.
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.1</revnumber>
|
|
<date>2000-07-28</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Documented _SHM_ID_BITS kernel parameter tuning for increasing
|
|
number of available connections. Added basic indexing.
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>1.0</revnumber>
|
|
<date>2000-07-06</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Added basic Debian instructions. Corrected some factual, stylistic, and
|
|
grammatical mistakes. Licensed document under GNU GPL. Submitted document to LDP.
|
|
</revremark>
|
|
</revision>
|
|
<revision>
|
|
<revnumber>0.7</revnumber>
|
|
<date>2000-04-26</date>
|
|
<authorinitials>dbs</authorinitials>
|
|
<revremark>Based on DB2 V7.1 beta release, wrote install instructions for
|
|
Caldera 2.4, Red Hat 6.2, SuSE 6.2, SuSE 6.3, and TurboLinux 6.0.</revremark>
|
|
</revision>
|
|
</revhistory>
|
|
<abstract>
|
|
|
|
<para>
|
|
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, Mandrake Linux 7.2 and 8.1, Red Hat Linux 6.2 and 7.1,
|
|
SuSE Linux 6.2, 6.3, 7.0, and 7.3, and TurboLinux 6.0.
|
|
After installing DB2, you can work with a
|
|
sample database, connect to your DB2 server from a remote machine, and
|
|
administer DB2 using the DB2 Control Center.
|
|
</para>
|
|
|
|
</abstract>
|
|
|
|
</articleinfo>
|
|
|
|
<sect1 id="intro">
|
|
<title>Introduction</title>
|
|
|
|
<sect2>
|
|
<title>Why a DB2 installation HOWTO?</title>
|
|
|
|
<para>
|
|
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.
|
|
And, not surprisingly, they ran into problems. It was a beta product, after all.
|
|
</para>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
DB2 Version 7.1 was the second major release that supports Linux.
|
|
I wrote this HOWTO to share my experiences and help smooth the installation
|
|
path of those new to DB2, Linux, or both.
|
|
|
|
The standardization on the IBM Developer Kit for Java improved the stability
|
|
of the DB2 Control Center and enabled application developers to write
|
|
stored procedures and UDFs in Java. DB2 Version 7.1 also introduced the
|
|
ability to write stored procedures in SQL.
|
|
</para>
|
|
|
|
<para>
|
|
DB2 Version 8 is the most recent release. Support was added for Linux
|
|
distributions on architectures beyond Intel 32-bit processors, including
|
|
AMD 64-bit processors, Intel 64-bit processors, POWER PC processors, and
|
|
Linux on zSeries. If you're just starting out with Linux or DB2, I strongly
|
|
urge you to consider going directly to DB2 Version 8 to take advantage of
|
|
all of the additional features, stability, and performance it offers.
|
|
For information on installing DB2 Version 8 on Linux, please refer to the
|
|
Web sites section of <xref linkend="references"/>.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Who should read this HOWTO?</title>
|
|
|
|
<para>
|
|
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:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Caldera OpenLinux 2.4
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Red Hat Linux 6.2
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
SuSE Linux 6.2 and 6.3
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
TurboLinux 6.0
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
For Debian and Slackware, I have included <emphasis>very</emphasis> basic installation
|
|
instructions or links to other resources in <xref linkend="xfactor"/>. 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.
|
|
</para>
|
|
|
|
<para>
|
|
If you install DB2 Version 6.1 for Linux and DB2 hangs on the
|
|
<command>db2start</command> command, see
|
|
<ulink url="http://www-1.ibm.com/servlet/support/manager?rt=1&rs=0&q=1000814">db2start hangs on Linux distributions built with glibc 2.1</ulink>. 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,
|
|
<emphasis>don't</emphasis>! (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
|
|
<ulink url="http://www.ibm.com/software/data/db2/udb/downloads.html">DB2
|
|
Universal Database download site</ulink>.
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>New versions of this document</title>
|
|
|
|
<para>
|
|
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 <ulink url="http://www.tldp.org"><acronym>LDP</acronym> web site</ulink>.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Copyright and License</title>
|
|
|
|
<para>
|
|
Copyright (c) 2000, 2003 International Business Machines Incorporated.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Credits</title>
|
|
|
|
<para>
|
|
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 <email>dan.scott@REMca.ibm.com</email> (remove
|
|
<emphasis>REM</emphasis> in my email address before sending).
|
|
Please send all spam or hate mail to <filename>/dev/null</filename>.
|
|
</para>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
Additional thanks to:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Andika Triwidada for contributing instructions to install
|
|
DB2 V7.1 on Debian using the <command>rpm</command> utility.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Michael Naughton for braving Red Hat 7 and figuring out the
|
|
<filename>libncurses.so.4</filename> prerequisite.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Christoph Shmitz for resolving license problems with DB2
|
|
installed via <command>alien</command>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Claus Fischer for solving a DB2 on Debian problem with updating
|
|
instances and contributing cataloging instructions for DB2 on AS/400.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Mykola Buryak <email>m.b. AT gmx.co.uk</email> for contributing the sections on Mandrake Linux 8.1
|
|
and SuSE 7.3.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>About the author</title>
|
|
<para>
|
|
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 motorcycle (in storage for the winter), 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 (er, make that wife now).
|
|
</para>
|
|
</sect2>
|
|
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="prereqs">
|
|
<title>Prerequisites</title>
|
|
|
|
<sect2>
|
|
<title>What are prerequisites?</title>
|
|
|
|
<indexterm><primary>installation prerequisites</primary></indexterm>
|
|
<indexterm><primary>prerequisites for installation</primary></indexterm>
|
|
|
|
<para>
|
|
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
|
|
<citetitle pubwork="book"><ulink url="http://www.ibm.com/software/data/db2/udb/winos2unix/support">IBM DB2 Universal Database for UNIX Quick Beginnings</ulink></citetitle>.
|
|
The suggested prerequisites come from experience.
|
|
For your convenience, I've divided them into hardware and software requirements.
|
|
</para>
|
|
|
|
<variablelist>
|
|
<title>Hardware prerequisites</title>
|
|
<varlistentry>
|
|
<term>Processor</term>
|
|
<listitem>
|
|
<para>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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Memory</term>
|
|
<listitem>
|
|
<para>For application development, I've found 96 MB of
|
|
<acronym>RAM</acronym> 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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Free disk space</term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<title>Software prerequisites</title>
|
|
<varlistentry>
|
|
<term>glibc</term>
|
|
<listitem>
|
|
<para><literal>2.1.2</literal> 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 <literal>glibc</literal> portion of
|
|
TurboLinux 4.0 from <literal>2.1.1</literal> to <literal>2.1.3</literal>
|
|
and ran into a whole world of trouble.
|
|
</para>
|
|
|
|
<para>
|
|
DB2 Version 7.1 should work with <literal>glibc</literal> 2.1.1.
|
|
IBM sets prerequisites based on the systems with which they tested.
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>kernel</term>
|
|
<listitem>
|
|
<para><literal>2.2.12</literal> or greater. I've upgraded to both
|
|
<literal>2.2.19</literal> and <literal>2.4.3</literal> and recompiled
|
|
the kernel for my own purposes, and DB2 seems to work as well as before.
|
|
</para>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>libncurses</term>
|
|
<listitem>
|
|
<para><literal>4.x</literal>. For <command>db2setup</command> to work correctly,
|
|
this version of the library must be available on your system with the following
|
|
pathname: <filename>/usr/lib/libncurses.so.4</filename>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>libstdc++-libc6.1-1.so.2</term>
|
|
<listitem>
|
|
<para>A file or symbolic link by this exact name is mandatory.
|
|
On most distributions, this is a symbolic link to <literal>libstdc++-2.9.0.so</literal>,
|
|
but on several recent distributions this is a symbolic link to
|
|
<literal>libstdc++-2.10.0.so</literal>.
|
|
<note>
|
|
<para>
|
|
In previous versions of this HOWTO, I stated that the exact version
|
|
of <literal>libstdc++-2.9.0.so</literal> was mandatory. I was wrong.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>pdksh</term>
|
|
<listitem>
|
|
<para><literal>5.2</literal> 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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>rpm</term>
|
|
<listitem>
|
|
<para><literal>3.0</literal> or greater. DB2 for Linux is distributed
|
|
as a number of <acronym>RPM</acronym> packages, so you won't get far without
|
|
this piece of software. For information on installing DB2 on distributions
|
|
without using RPM, see <xref linkend="xfactor"/>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Java</term>
|
|
<listitem>
|
|
<para>
|
|
The IBM Developer Kit for Java, <literal>1.1.8</literal> or
|
|
<literal>1.3</literal>, is an optional component, but is required to:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
use the DB2 Control Center to administer your databases using
|
|
a graphical user interface
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
create or run Java applications, including stored procedures
|
|
and user-defined functions
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
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:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><ulink url="http://www.ibm.com/developerworks/java/jdk/118/linux/">Version <literal>1.1.8</literal></ulink>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><ulink url="http://www.ibm.com/developerworks/java/jdk/linux130/">Version <literal>1.3</literal></ulink>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>Please note</emphasis>: 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.
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
|
|
<indexterm><primary>browser prerequisite</primary></indexterm>
|
|
<indexterm><primary>web browser prerequisite</primary></indexterm>
|
|
|
|
Web browser</term>
|
|
<listitem>
|
|
<para>
|
|
DB2 calls the <command>netscape</command> command when you:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
display the online help for the DB2 Control Center
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
display information using the DB2 Information Center
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
The easiest approach is to install Netscape Navigator or Communicator
|
|
on your system. Netscape version <literal>4.72</literal> or above
|
|
is required to display the Business Intelligence Quick Tour, because of
|
|
its extreme use of JavaScript.
|
|
</para>
|
|
|
|
<para>
|
|
To use a browser other than Netscape to display online help
|
|
or information, create a link called <literal>netscape</literal>
|
|
to your preferred browser executable. The link must appear in
|
|
your PATH. For example, to display online help with <command>mozilla</command>,
|
|
you could create a link in <filename class="directory">/usr/local/bin</filename>
|
|
with the following command:
|
|
<programlisting>bash# ln -s <filename class="directory">/usr/bin/mozilla-bin</filename> <filename class="directory">/usr/local/bin/netscape</filename></programlisting>
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
<para>
|
|
In the following table:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<literal>unknown</literal> indicates that I don't
|
|
know what the default level is, and I haven't installed DB2 on this distribution
|
|
(your feedback is welcome!)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>okay</literal> indicates that I don't
|
|
know what the default level is, but it worked when I installed DB2
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>**</literal> as a prefix indicates that the default level is not acceptable
|
|
and must be replaced or supplemented with a compatible library
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<table frame="all">
|
|
<title>Prerequisite levels, by distribution</title>
|
|
<tgroup cols="7" align="center" colsep="1" rowsep="1">
|
|
<colspec colname="c1"/>
|
|
<colspec colname="c2"/>
|
|
<colspec colname="c3"/>
|
|
<colspec colname="c4"/>
|
|
<colspec colname="c5"/>
|
|
<colspec colname="c6"/>
|
|
<colspec colname="c7"/>
|
|
<colspec colname="c8"/>
|
|
<thead>
|
|
<row>
|
|
<entry>Distribution</entry>
|
|
<entry>glibc</entry>
|
|
<entry>Linux kernel</entry>
|
|
<entry>libncurses</entry>
|
|
<entry>libstdc++-libc6.1-1.so</entry>
|
|
<entry>pdksh</entry>
|
|
<entry>rpm</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>Caldera OpenLinux 2.4</entry>
|
|
<entry><literal>2.1.2</literal></entry>
|
|
<entry><literal>2.2.14</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
<entry><literal>2.9.0</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Debian 2.2</entry>
|
|
<entry><literal>2.1.3</literal></entry>
|
|
<entry><literal>2.2.17</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
<entry><literal>2.10.0</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>3.0.3</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Mandrake Linux 7.2</entry>
|
|
<entry><literal>2.1.3</literal></entry>
|
|
<entry><literal>2.2.17</literal></entry>
|
|
<entry><literal>okay (4, 4.2, 5, & 5.1)</literal></entry>
|
|
<entry><literal>2.9</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>3.0.5</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Mandrake Linux 8.1</entry>
|
|
<entry><literal>2.2.4</literal></entry>
|
|
<entry><literal>2.4.8</literal></entry>
|
|
<entry><literal>5.2</literal></entry>
|
|
<entry><literal>2.10</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>4.0.3</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Red Hat 6.2</entry>
|
|
<entry><literal>2.1.2</literal></entry>
|
|
<entry><literal>2.2.14</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
<entry><literal>2.9.0</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Red Hat 7</entry>
|
|
<entry><literal>2.1.92</literal></entry>
|
|
<entry><literal>2.2.16</literal></entry>
|
|
<entry><literal>**5.1</literal></entry>
|
|
<entry><literal>**2.9.6</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>4.0</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Red Hat 7.1</entry>
|
|
<entry><literal>2.2.2</literal></entry>
|
|
<entry><literal>2.4.2</literal></entry>
|
|
<entry><literal>**5.2</literal></entry>
|
|
<entry><literal>**2.9.6</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>4.0.2</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>SuSE 6.2</entry>
|
|
<entry><literal>2.1.1</literal></entry>
|
|
<entry><literal>2.2.10</literal></entry>
|
|
<entry><literal>unknown</literal></entry>
|
|
<entry><literal>2.9.0</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>SuSE 6.3</entry>
|
|
<entry><literal>2.1.2</literal></entry>
|
|
<entry><literal>2.2.13</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
<entry><literal>2.9.0</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>SuSE 7.0</entry>
|
|
<entry><literal>unknown</literal></entry>
|
|
<entry><literal>2.2.17</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
<entry><literal>unknown</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>SuSE 7.3</entry>
|
|
<entry><literal>2.2.4</literal></entry>
|
|
<entry><literal>2.4.10</literal></entry>
|
|
<entry><literal>4.2, 5.2</literal></entry>
|
|
<entry><literal>2.7.2, 2.8, 2.9</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>3.0.6</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>TurboLinux 6.0</entry>
|
|
<entry><literal>2.1.2</literal></entry>
|
|
<entry><literal>2.2.13</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
<entry><literal>2.9.0</literal></entry>
|
|
<entry><literal>5.2.14</literal></entry>
|
|
<entry><literal>okay</literal></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="preplinux">
|
|
<title>Preparing your distribution for DB2</title>
|
|
|
|
<sect2>
|
|
<title><productname>Caldera OpenLinux</productname> <productnumber>2.4</productnumber></title>
|
|
|
|
<sect3 id="calderapreinstall">
|
|
<title>Before installing DB2 on Caldera OpenLinux</title>
|
|
|
|
<para>
|
|
This section contains instructions that you must follow <emphasis>before</emphasis> installing DB2.
|
|
</para>
|
|
|
|
<procedure><title>Preparing for the installation of DB2</title>
|
|
<step>
|
|
<para>
|
|
Install the <filename>pdksh-5.2.14-1.i386.rpm</filename>
|
|
package from the <productname>Caldera OpenLinux</productname> CD-ROM in the
|
|
<filename class="directory">/Packages/RPMS/</filename> directory. For
|
|
example, log in as root, mount the CD-ROM, and enter the following command to
|
|
install the <literal>pdksh</literal> package:
|
|
<programlisting>bash# rpm -ivh /mnt/cdrom/Packages/RPMS/pdksh-5.2.14-1.i386.rpm</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Remove the <literal>jdk</literal> 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: <programlisting>bash# rpm -e jdk</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Install the IBM Developer Kit for Java. A brief set of installation
|
|
directions is included in <xref linkend="jdkinstall"/>.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Edit the <replaceable>JAVA_HOME</replaceable> and <replaceable>PATH</replaceable> entries
|
|
in <filename>/etc/config.d/shells/bashrc</filename> 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:
|
|
<programlisting>
|
|
[ -z "$JAVA_HOME" ]&& [ -d /usr/java ] && (
|
|
export JAVA_HOME=/usr/java
|
|
[ -r $JAVA_HOME/lib/classes.zip ] &&
|
|
export CLASSPATH=$JAVA_HOME/lib/classes.zip
|
|
)
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Replace it with the following section to reflect the default
|
|
locations for the IBM Developer Kit for Java:
|
|
|
|
<programlisting>
|
|
[ -z "$JAVA_HOME" ]&& [ -d /usr/jdk118 ] && (
|
|
export JAVA_HOME=/usr/jdk118
|
|
export PATH=$PATH:$JAVA_HOME/bin
|
|
[ -r $JAVA_HOME/lib/classes.zip ] &&
|
|
export CLASSPATH=$JAVA_HOME/lib/classes.zip
|
|
)
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Installing DB2 and creating instances on Caldera</title>
|
|
<para>
|
|
Follow the instructions in <xref linkend="db2install"/> 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 <xref linkend="calderapostinstall"/> to keep in mind the steps
|
|
that you need to take after installing DB2.
|
|
</para>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
What does <computeroutput>/etc/login.defs not accessible, using defaults</computeroutput> mean?
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
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 <filename>/etc/login.defs</filename> configuration
|
|
file. The file controls the default options for the <command>useradd</command> 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 <filename>/etc/login.defs</filename> file, refer
|
|
to the <command>man</command> page for <command>useradd</command>.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
Okay, DB2 is installed and I created the instances. Now what do I do?
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
Now that you've installed DB2, you have to perform some steps to configure
|
|
your instances correctly. Keep reading.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect3>
|
|
|
|
<sect3 id="calderapostinstall">
|
|
<title>After installing DB2 on Caldera</title>
|
|
|
|
<para>
|
|
This section contains instructions that you must follow <emphasis>after</emphasis> installing DB2.
|
|
</para>
|
|
|
|
<sect4 id="calderauid">
|
|
<title>Adding instance user IDs to their groups</title>
|
|
<para>
|
|
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:
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Edit <filename>/etc/group</filename> to add the
|
|
appropriate instance user ID to the last field for each group.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Use the <acronym>COAS</acronym> utility to manage your
|
|
groups by selecting <guimenu>KDE</guimenu> menu,
|
|
<guimenuitem>Settings</guimenuitem>, <guimenuitem>COAS</guimenuitem>,
|
|
<guimenuitem>System</guimenuitem>, <guimenuitem>Accounts</guimenuitem>,
|
|
then selecting the <guisubmenu>Groups</guisubmenu> submenu and the
|
|
<guimenuitem>Manage Groups</guimenuitem> menu item.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Changing the default home page in Netscape</title>
|
|
<para>
|
|
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 <guimenu>Edit</guimenu> menu,
|
|
<guimenuitem>Preferences</guimenuitem> menu item.
|
|
</para>
|
|
</sect4>
|
|
|
|
<sect4 id="calderagreeting">
|
|
<title>Removing the Caldera login greeting</title>
|
|
<para>
|
|
Add a file called <filename>.hushlogin</filename> to the
|
|
home directory of each of your instance user IDs. This should prevent
|
|
the <computeroutput>Welcome to your OpenLinux system!</computeroutput>
|
|
messages while running DB2 commands.
|
|
</para>
|
|
|
|
<para>
|
|
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 <command>su</command> process
|
|
calls one or both of <filename>/etc/config.d/shells/csh.login</filename>
|
|
and <filename>/etc/config.d/shells/profile</filename>, which in turn
|
|
call the <filename>/etc/config.d/shells/OL-greeting</filename> script
|
|
that contains the offensive string.
|
|
</para>
|
|
|
|
<para>
|
|
Instead of adding <filename>.hushlogin</filename> to every
|
|
user's home directory, you could probably edit
|
|
<filename>/etc/config.d/shells/OL-greeting</filename>
|
|
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.
|
|
</para>
|
|
</sect4>
|
|
</sect3>
|
|
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
|
|
<title><productname>Mandrake Linux</productname> <productnumber>7.2</productnumber></title>
|
|
<para>
|
|
The DB2 server and command line DB2 client works on Mandrake Linux 7.2, and I
|
|
was able to successfully start and use the DB2 Control Center with
|
|
IBM JDK 1.1.8 (build 20000713).
|
|
</para>
|
|
|
|
<sect3>
|
|
<title>Before installing DB2 on Mandrake Linux</title>
|
|
|
|
<procedure><title>Preparing for the installation of DB2</title>
|
|
<step>
|
|
<para>
|
|
Install the <filename>pdksh-5.2.14-8mdk.i586.rpm</filename>
|
|
package from the <productname>Mandrake Linux</productname> CD-ROM in the
|
|
<filename class="directory">/Mandrake/RPMS/</filename> directory. For
|
|
example, log in as root, mount the CD-ROM, and enter the following command to
|
|
install the <literal>pdksh</literal> package:
|
|
<programlisting>bash# rpm -ivh /mnt/cdrom/Mandrake/RPMS/pdksh-5.2.14-8mdk.i586.rpm</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Installing DB2 and creating instances on Mandrake Linux</title>
|
|
<para>
|
|
When you run <command>db2setup</command>, you may receive the following error:
|
|
<computeroutput>
|
|
ksh: /etc/profile.d/tmdir.sh[9]: source: not found
|
|
</computeroutput>
|
|
This is only a warning message and you can continue installing DB2. If the
|
|
message interferes with the <command>db2setup</command> menu, press <literal>CTRL-L</literal>
|
|
to clear the screen.
|
|
</para>
|
|
<para>
|
|
Otherwise, follow the instructions in <xref linkend="db2install"/>,
|
|
the generic section on installing DB2 and creating instances.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>After installing DB2 on Mandrake Linux</title>
|
|
|
|
<para>
|
|
With <productname>Mandrake Linux</productname> <productnumber>7.2</productnumber>,
|
|
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).
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
|
|
<title><productname>Mandrake Linux</productname> <productnumber>8.1</productnumber></title>
|
|
|
|
<sect3>
|
|
<title>Before installing DB2 on Mandrake Linux</title>
|
|
<procedure><title>Preparing for the installation of DB2</title>
|
|
<step>
|
|
<para>
|
|
Install the <filename>pdksh-5.2.14-12mdk.i586.rpm</filename> package from the <productname>Mandrake Linux</productname>
|
|
CD-ROM #2 in the <filename class="directory">/Mandrake/RPMS2/</filename> directory. For example, log in as root, mount the CD-ROM, and enter the following command to install the <literal>pdksh</literal> package:
|
|
<programlisting>bash# rpm ivh /mnt/cdrom/Mandrake/RPMS2/pdksh-5.2.14-12mdk.i586.rpm</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
The Linux 2.4 kernel changes the default values of some ipc limits. However, the default value for the <literal>msgmni</literal> 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 <filename class="directory">/proc</filename> filesystem. With the 2.4 kernel, you do not have to recompile your kernel to experiment with different parameter values.
|
|
To set the <literal>msgmni</literal> kernel parameter at boot time, append the following lines to <filename>/etc/sysctl.conf</filename>:
|
|
<programlisting>
|
|
# Sets maximum number of message queues to 128
|
|
# Set this to 1024 or higher on production systems
|
|
kernel.msgmni = 128
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Uninstall the default <productname>Mandrake Linux</productname> 8.1 Kaffe Virtual Machine with Package Manager or Software Manager.
|
|
Install the <productname>IBM Developer Kit for Java</productname> by issuing the following command as root:
|
|
<programlisting>bash# rpm -ivh IBMJava118-SDK-1.1.8-5.0-i386.rpm</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
To set up the Java environment for all or specific users in Mandrake Linux 8.1, copy the content of <filename class="directory">/usr/jdk118/bin</filename> to <filename class="directory">/usr/bin</filename> and <filename class="directory">/usr/jdk118/lib</filename> to <filename class="directory">/usr/lib</filename>. After that you can successfully issue the <programlisting>java -fullversion</programlisting> command.
|
|
</para>
|
|
</step>
|
|
<step id="ml81secure">
|
|
<para>
|
|
To install DB2 Warehouse Control Database, you must change the permissions for the <filename class="directory">/home</filename> directory to read, write and execute (for users, groups, others) as a user with root authority:
|
|
<programlisting>
|
|
bash# chmod ugo=rwx /home
|
|
</programlisting>
|
|
If you do not change the permissions for the <filename class="directory">/home</filename> directory, you may recieve the following error:
|
|
<computeroutput>
|
|
SQL0970N The system attempted to write to a read-only file. SQLSTATE=55009.
|
|
</computeroutput>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Installing DB2 and creating instances on Mandrake Linux</title>
|
|
<para>
|
|
When you run <command>db2setup</command>, the DB2 Product Messages and DB2 Product Library menus can interfere with the db2setup main menu.
|
|
If this happens, press <literal>CTRL-L</literal> to clear the screen.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Removing DB2 on Mandrake Linux</title>
|
|
<para>You must perform the following steps as a user with root authority.</para>
|
|
<procedure>
|
|
<title>Removing DB2 on Mandrake Linux 8.1</title>
|
|
<step>
|
|
<para>
|
|
List all DB2 instances:
|
|
<programlisting>
|
|
bash# /usr/IBMdb2/V7.1/instance/db2ilist
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Drop each instance listed in the previous step with the following command:
|
|
<programlisting>
|
|
bash# /usr/IBMdb2/V7.1/instance/db2idrop <instanse-name>
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Drop the DB2 administration server:
|
|
<programlisting>
|
|
bash# /usr/IBMdb2/V7.1/instance/dasidrop `/usr/IBMdb2/V7.1/instance/dasilist`
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Uninstall all of the DB2 packages on your system using the <command>db2deinstall</command> command on your DB2 CD-ROM:
|
|
<programlisting>
|
|
bash# /mnt/cdrom/db72pf5u/db2_deinstall -n
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
To remove all users (db2inst1..db2instN, db2fenc, db2as) created by DB2 issue the following commands:
|
|
<programlisting>
|
|
bash# userdel -r db2inst1
|
|
bash# ..
|
|
bash# userdel -r db2instN
|
|
bash# userdel -r db2fenc1
|
|
bash# ..
|
|
bash# userdel -r db2fenc2
|
|
bash# userdel -r db2as
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
|
|
<title><productname>Red Hat Linux</productname> <productnumber>6.2</productnumber></title>
|
|
|
|
<sect3>
|
|
<title>Before installing DB2 on Red Hat</title>
|
|
|
|
<procedure><title>Preparing for the installation of DB2</title>
|
|
<step>
|
|
<para>
|
|
Install the <filename>pdksh-5.2.14-2.i386.rpm</filename>
|
|
package from the <productname>Red Hat</productname> CD-ROM in the
|
|
<filename class="directory">/RedHat/RPMS/</filename> directory. For
|
|
example, log in as root, mount the CD-ROM, and enter the following command to
|
|
install the <literal>pdksh</literal> package:
|
|
<programlisting>bash# rpm -ivh /mnt/cdrom/RedHat/RPMS/pdksh-5.2.14-2.i386.rpm</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Installing DB2 and creating instances on Red Hat</title>
|
|
<para>
|
|
Follow the instructions in <xref linkend="db2install"/>,
|
|
the generic section on installing DB2 and creating instances.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>After installing DB2 on Red Hat</title>
|
|
|
|
<para>
|
|
With <productname>Red Hat</productname> <productnumber>6.2</productnumber>,
|
|
you don't need to take any special steps after installing DB2 Version 7.1. It works.
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
|
|
<title><productname>Red Hat Linux</productname> <productnumber>7.1</productnumber></title>
|
|
|
|
<sect3>
|
|
<title>Before installing DB2 on Red Hat</title>
|
|
|
|
<procedure><title>Preparing for the installation of DB2</title>
|
|
<step>
|
|
<para>
|
|
Install the <filename>pdksh-5.2.14-12.i386.rpm</filename>
|
|
package from <productname>Red Hat</productname> CD-ROM (2) in the
|
|
<filename class="directory">/RedHat/RPMS/</filename> directory. For
|
|
example, log in as root, mount the CD-ROM, and enter the following command to
|
|
install the <literal>pdksh</literal> package:
|
|
<programlisting>bash# rpm -ivh /mnt/cdrom/RedHat/RPMS/pdksh-5.2.14-12.i386.rpm</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
For a compatible version of the libstdc++ library, install the
|
|
<filename>compat-egcs-c++-6.2-1.1.2.14.i386.rpm</filename> package
|
|
from <productname>Red Hat</productname> CD-ROM (2) in the
|
|
<filename class="directory">/RedHat/RPMS/</filename> directory. For
|
|
example, log in as root, mount the CD-ROM, and enter the following command to
|
|
install the <literal>compat-egcs-c++</literal> package:
|
|
<programlisting>bash# rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-egcs-c++-6.2-1.1.2.14.i386.rpm</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Install the <filename>compat-libs-6.2-3.i386.rpm</filename>
|
|
package from <productname>Red Hat</productname> CD-ROM (2) in the
|
|
<filename class="directory">/RedHat/RPMS/</filename> directory. For
|
|
example, log in as root, mount the CD-ROM, and enter the following command to
|
|
install the <literal>compat-libs</literal> package:
|
|
<programlisting>bash# rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-libs-6.2-3.i386.rpm</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
The <command>db2setup</command> command looks for a file called
|
|
<filename>/usr/lib/libncurses.so.4</filename> and will not proceed
|
|
unless it exists, so create a symbolic link from the ncurses4.0 library
|
|
in <filename class="directory">/usr/i386-glibc21-linux/lib/</filename> to
|
|
your <filename class="directory">/usr/lib/</filename> directory.
|
|
<programlisting>
|
|
bash# ln -sf /usr/i386-glibc21-linux/lib/libncurses.so.4.0 /usr/lib/libncurses.so.4
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
The default setting for the <literal>msgmni</literal> kernel parameter
|
|
only allows a couple of simultaneous connections to DB2. To set this value
|
|
at at boot time, append the following lines to <filename>/etc/sysctl.conf</filename>:
|
|
<programlisting>
|
|
# Sets maximum number of message queues to 128
|
|
# Set this to 1024 or higher on production systems
|
|
kernel.msgmni = 128
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
</procedure>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Installing DB2 and creating instances on Red Hat</title>
|
|
<para>
|
|
Follow the instructions in <xref linkend="db2install"/>,
|
|
the generic section on installing DB2 and creating instances.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>After installing DB2 on Red Hat</title>
|
|
|
|
<para>
|
|
<productname>Red Hat</productname> <productnumber>7.1</productnumber> enabled
|
|
the floating 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 stack by
|
|
setting the <envar>LD_ASSUME_KERNEL</envar> environment variable to
|
|
<literal>2.2.5</literal> before running the DB2 Control Center as follows:
|
|
<programlisting>
|
|
bash$ export LD_ASSUME_KERNEL=2.2.5
|
|
bash$ db2set DB2ENVLIST=LD_ASSUME_KERNEL
|
|
bash$ db2jstrt 6790
|
|
bash$ db2cc 6790
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
With IBM JDK 1.3 (<filename>IBMJava2-SDK-1.3-7.0-i386.rpm</filename>),
|
|
the DB2 Control Center started successfully without any
|
|
workarounds. For instructions on installing the IBM JDK,
|
|
see <xref linkend="jdkinstall"/>.
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="suselinux">
|
|
<title><productname>SuSE Linux</productname></title>
|
|
|
|
<sect3>
|
|
<title>Before installing DB2 on SuSE</title>
|
|
|
|
<para>
|
|
At some point in its past, SuSE included an old beta version of DB2
|
|
in their distribution. When you install <productname>SuSE Linux</productname>,
|
|
up to and including version <productnumber>7.0</productnumber>, the SuSE installer
|
|
still creates the default DB2 user IDs and sets their home directories
|
|
in <filename class="directory">/usr/lib</filename>. 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:
|
|
<programlisting>
|
|
bash# userdel -r db2as
|
|
bash# userdel -r db2fenc1
|
|
bash# userdel -r db2inst1
|
|
</programlisting>
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Installing DB2 and creating instances on SuSE</title>
|
|
<para>
|
|
Follow the instructions in <xref linkend="db2install"/>,
|
|
the generic section on installing DB2.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>After installing DB2 on SuSE</title>
|
|
|
|
<para>
|
|
With <productname>SuSE</productname> <productnumber>6.2</productnumber>
|
|
or above, I have not needed to take any special steps after
|
|
installing DB2 Version 7.1. It just works—and that's nice.
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title><productname>TurboLinux</productname> <productnumber>6.0</productnumber></title>
|
|
|
|
<sect3>
|
|
<title>Before installing DB2 on TurboLinux</title>
|
|
|
|
<para>
|
|
<productname>TurboLinux</productname> <productnumber>6.0</productnumber> includes
|
|
all of the required packages at or above the minimum required levels for
|
|
DB2 Version 7.1.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Installing DB2 on TurboLinux</title>
|
|
<para>
|
|
Follow the instructions in <xref linkend="db2install"/>,
|
|
the generic section on installing DB2.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>After installing DB2 on TurboLinux</title>
|
|
|
|
<para>
|
|
When you run the DB2 Control Center with <productname>TurboLinux</productname> <productnumber>6.0</productnumber>,
|
|
the console window may display a number of <computeroutput>map failed</computeroutput> messages.
|
|
These messages do <emphasis>not</emphasis> indicate a serious problem, so do not
|
|
worry about them.
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="db2install">
|
|
<title>Installing DB2 using <command>db2setup</command></title>
|
|
|
|
<para>
|
|
The purpose of this section is to walk you through a typical install
|
|
of DB2 Version 7.1 on Linux. The following section, <xref linkend="db2instance"/>,
|
|
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:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<citetitle pubwork="book"><ulink url="http://www.ibm.com/software/data/db2/udb/winos2unix/support">DB2 for UNIX Quick Beginnings</ulink></citetitle>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<citetitle pubwork="book"><ulink url="http://www.ibm.com/software/data/db2/udb/winos2unix/support">DB2 Personal Edition for Linux Quick Beginnings</ulink></citetitle>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<citetitle pubwork="book"><ulink url="http://www.ibm.com/software/data/db2/udb/winos2unix/support">DB2 Connect Personal Edition for Linux Quick Beginnings</ulink></citetitle>
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
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 <filename class="directory">/mnt/cdrom</filename>
|
|
in the following instructions to reflect the directory created by
|
|
the <command>tar</command> command.
|
|
</para>
|
|
|
|
<tip>
|
|
<para>
|
|
Some distributions disable execute privileges on CD-ROM devices by default.
|
|
To mount a CD-ROM with execute permissions at mount point
|
|
<filename class="directory">/mnt/cdrom</filename>, issue the following command
|
|
as root:
|
|
<programlisting>
|
|
bash# mount -o exec /mnt/cdrom
|
|
</programlisting>
|
|
</para>
|
|
</tip>
|
|
|
|
<sect2>
|
|
<title>Using the <command>db2setup</command> utility</title>
|
|
|
|
<para>
|
|
You'll find the following executables on the root directory
|
|
of the DB2 Version 7.1 installation CD-ROM:
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<command>db2setup</command>:
|
|
Use the <command>db2setup</command> command to install DB2 Version 7.1, to create or modify
|
|
DB2 instances, and to create a DB2 Administration Server. Once you install DB2,
|
|
<command>db2setup</command> is copied to the
|
|
<filename class="directory">/usr/IBMdb2/V7.1/install</filename> directory
|
|
to enable you to create or modify instances without the CD-ROM.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<command>db2_install</command>:
|
|
The <command>db2_install</command> command provides an alternate
|
|
means of installing DB2 RPMs. Unlike <command>db2setup</command>,
|
|
it does not enable you to create a DB2 instance or Administration Server,
|
|
or install a license key. I highly recommend <command>db2setup</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<command>db2_deinstall</command>:
|
|
Use the <command>db2_deinstall</command> command to uninstall
|
|
the DB2 Version 7.1 packages on your system. For more information, see
|
|
<xref linkend="uninstall"/>.
|
|
</para>
|
|
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
The <command>db2setup</command> command provides a terminal-based
|
|
text menu for your installation and instance creation options.
|
|
Unfortunately, <command>db2setup</command> on Linux sometimes
|
|
encounters a few formatting bugs in terminal emulators.
|
|
Running <command>db2setup</command> from the
|
|
TTY console works well. Within an X session, the
|
|
<command>rxvt</command> or <command>xterm</command> terminals
|
|
work quite well, but <command>gnome-terminal</command>
|
|
is rather frustrating to use.
|
|
If the text menu formats incorrectly, press <keysym>CTRL-L</keysym>
|
|
to refresh the menu.
|
|
</para>
|
|
</note>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="db2components">
|
|
<title>Installing DB2 components</title>
|
|
|
|
<para>
|
|
The following instructions assume that you are using <command>db2setup</command> to
|
|
install DB2.
|
|
</para>
|
|
|
|
<para>
|
|
To select or deselect a component, highlight the component using
|
|
the cursor keys and press <keycap>ENTER</keycap>.
|
|
</para>
|
|
<para>
|
|
To change the options for a component, highlight <literal>[ Customize... ]</literal>
|
|
and press <keycap>ENTER</keycap>.
|
|
</para>
|
|
<para>
|
|
To install your selected components, highlight <literal>[ OK ]</literal>
|
|
on the <literal>Install DB2 V7</literal> menu and press <keycap>ENTER</keycap>.
|
|
</para>
|
|
|
|
<para>
|
|
The common DB2 files are installed in the
|
|
<filename class="directory">/usr/IBMdb2/V7.1/</filename> directory. When you
|
|
create an instance, a directory called <filename class="directory">sqllib</filename>
|
|
is created in the corresponding user's home directory. The
|
|
<filename class="directory">sqllib</filename> directory contains symbolic links
|
|
to the executables and other files in <filename class="directory">/usr/IBMdb2/V7.1/</filename>.
|
|
</para>
|
|
|
|
<para>
|
|
The following list describes some of the common DB2 components that you can
|
|
install, including estimates of the size required for each component.
|
|
</para>
|
|
|
|
|
|
<variablelist>
|
|
<title>Description of DB2 components</title>
|
|
|
|
<varlistentry>
|
|
<term>Administration Client</term>
|
|
<listitem>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Control Center</term>
|
|
<listitem>
|
|
|
|
<para>
|
|
The Control Center (<command>db2cc</command>) 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 (<command>db2ic</command>),
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
<tip>
|
|
<para>
|
|
You probably want to install the Control Center.
|
|
</para>
|
|
</tip>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>DB2 UDB Enterprise Edition</term> <term>DB2 UDB Workgroup Edition</term> <term>DB2 Personal Edition</term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
Adding one of these components requires about 40 MB of disk space.
|
|
</para>
|
|
|
|
<variablelist>
|
|
<title>Options for DB2 servers</title>
|
|
|
|
<varlistentry>
|
|
<term>Replication</term>
|
|
<listitem>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Distributed Join for DB2 Data Sources</term>
|
|
<listitem>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Application Development Client</term>
|
|
<listitem>
|
|
<para>
|
|
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 (<acronym>CLI</acronym>),
|
|
Java Database Connectivity (<acronym>JDBC</acronym>),
|
|
or embedded SQL for Java (<acronym>SQLJ</acronym>).
|
|
You also have the option of installing the source code for sample applications
|
|
that demonstrate much of the functionality of DB2.
|
|
</para>
|
|
|
|
<tip>
|
|
<para>
|
|
If you plan on developing applications for DB2, install the sample applications.
|
|
The sample directories in <filename class="directory">/usr/IBMdb2/V7.1/samples/</filename>
|
|
contain build scripts (<filename>bld***</filename>) that include the compile and link
|
|
options suitable for your own applications.
|
|
</para>
|
|
</tip>
|
|
|
|
<tip>
|
|
<para>
|
|
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
|
|
<command>db2iupdt</command> command to update the instance. See <xref linkend="tsinstall"/>
|
|
for more information on <command>db2iupdt</command>.
|
|
</para>
|
|
</tip>
|
|
<para>
|
|
Including the sample applications, this component requires about 10 MB of disk space.
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>DB2 Product Library (HTML documentation)</term>
|
|
<listitem>
|
|
<para>
|
|
Documentation is installed into the
|
|
<filename class="directory">/usr/IBMdb2/V7.1/doc/</filename> 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 <command>db2help</command> command to fire up your Web browser with
|
|
a page that links to the <ulink url="file:///usr/IBMdb2/V7.1/doc/html/index.htm">documentation installed with DB2</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
The English HTML (En_US) documentation requires about 90 MB of disk space.
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="xfactor">
|
|
<title>Installing DB2 on other Linux distributions</title>
|
|
<para>
|
|
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 <xref linkend="prereqs"/>,
|
|
all that you theoretically need to do is find a way to install those packages on your distribution.
|
|
The <command>alien</command> utility available from
|
|
<ulink url="http://kitenet.net/programs/alien/">Kite</ulink> converts RPM packages
|
|
into formats supported by Debian (<literal>dpkg</literal>), Stampede
|
|
(<literal>slp</literal>), and Slackware (<literal>slp</literal>).
|
|
</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Debian</term>
|
|
<listitem>
|
|
<para>
|
|
Susan Williams reported success in installing DB2 Version 7.1 on Debian using
|
|
the following script as root:
|
|
<example>
|
|
<title>Installation script for DB2 Version 7.1 on Debian</title>
|
|
<programlisting>
|
|
#!/bin/bash
|
|
cd /
|
|
for f in /mnt/cdrom1/db2/*rpm
|
|
do
|
|
alien -d -i -c $f
|
|
done
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<!-- Future work -->
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
Christoph Shmitz reports that, while he was able to install
|
|
DB2 Version 7.1 Personal Developer's Edition on Debian 2.2
|
|
using <command>alien</command> 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,
|
|
<command>alien</command> does not automatically install the DB2 license file.
|
|
</para>
|
|
<para>
|
|
To remove the time limit on DB2 Version 7.1 Personal Developer's Edition,
|
|
you need to manually install the license file
|
|
(<filename>s000510.personal/db2/license/db2udbpe.lic</filename> in the tar archive)
|
|
using the following command as root:
|
|
<programlisting>
|
|
bash# db2licm -a db2udbpe.lic
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para>
|
|
Using <command>alien</command> apparently prevents you from using the <command>db2setup</command> command
|
|
to create instances. To create a DB2 Administration Server from the command line,
|
|
issue the <filename>/usr/ibmdb2/v7.1/instance/dasicrt</filename> command as root.
|
|
To create a DB2 instance, issue the <filename>/usr/ibmdb2/v7.1/instance/db2icrt</filename>
|
|
command as root. To get the correct syntax for either command, use the <literal>-h</literal> flag.
|
|
</para>
|
|
|
|
<para>
|
|
In the following section, Andika Triwidada describes how to install
|
|
DB2 on Debian 2.2 using the <command>rpm</command> command.
|
|
You can check the prerequisite package levels (described in <xref linkend="prereqs"/>)
|
|
installed on your system with the following command:
|
|
<programlisting>
|
|
bash$ dpkg -l|egrep -e '(libc6|libstdc++|pdksh|rpm|zip)'|awk '{print $1,$2,$3}'
|
|
</programlisting>
|
|
The resulting list should contain:
|
|
<programlisting>
|
|
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.0.3-1
|
|
ii unzip 5.40-1
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
If you are missing any of these packages, you can install the package using <command>apt-get</command>:
|
|
<programlisting>
|
|
bash# apt-get install <replaceable>package-name</replaceable>
|
|
</programlisting>
|
|
</para>
|
|
|
|
<procedure>
|
|
<title>Installation Steps</title>
|
|
|
|
<step>
|
|
<para>
|
|
Initialize the RPM database.
|
|
<programlisting>
|
|
bash# rpm --initdb
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Modifiy several files in <filename class="directory">/bin</filename>
|
|
<programlisting>
|
|
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
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Copy the contents of the following script to create an RPM wrapper
|
|
called <filename>/bin/rpm</filename>.
|
|
<programlisting>
|
|
#!/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
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Make the RPM wrapper executable:
|
|
<programlisting>
|
|
bash# chmod +x /bin/rpm
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Install DB2 using the <command>db2setup</command> command by following
|
|
the instructions in <xref linkend="db2install"/>.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Create the DB2 administration server and at least one DB2 instance
|
|
as described in <xref linkend="db2instance"/>. To simplify testing,
|
|
ensure that you create the sample database when you create the DB2 instance.
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<procedure>
|
|
<title>Testing your DB2 installation</title>
|
|
|
|
<step>
|
|
<para>
|
|
Log on to your Linux server with the DB2 instance user ID. Remember,
|
|
the default user ID is <literal>db2inst1</literal>.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Prepare your DB2 environment by running the <command>db2profile</command>
|
|
script:
|
|
<programlisting>
|
|
bash$ cd ~/sqllib
|
|
bash$ . ./db2profile
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Run a query against the sample database to test your installation.
|
|
<programlisting>
|
|
bash$ db2
|
|
bash$ db2 => connect to sample
|
|
bash$ db2 => select * from employee
|
|
</programlisting>
|
|
There should be a printout of records from sample database here
|
|
<programlisting>
|
|
bash$ db2 => quit
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<procedure>
|
|
<title>After you install DB2</title>
|
|
|
|
<step>
|
|
<para>
|
|
Remove the RPM wrapper script by removing, renaming, or linking it directly to <filename>/usr/bin/rpm</filename>.
|
|
<programlisting>
|
|
bash# rm /bin/rpm
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Change <filename>/bin/sh</filename> back into a symlink to <filename>/usr/bin/bash</filename>.
|
|
<programlisting>
|
|
bash# ln -sf /usr/bin/bash /bin/sh
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>
|
|
After installing DB2 with <command>alien</command>, Claus Reiner reported that:
|
|
<blockquote>
|
|
<para>
|
|
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').
|
|
</para>
|
|
</blockquote>
|
|
Claus recommends running the following commands as root after
|
|
installing DB2 with either <command>alien</command> or <command>RPM</command>,
|
|
<programlisting>
|
|
bash# . $INSTANCEHOME/sqllib/db2profile
|
|
bash# /usr/IBMdb2/V7.1/instance/db2iupdt -e
|
|
</programlisting>
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="db2instance">
|
|
<title>Creating DB2 instances</title>
|
|
|
|
<para>
|
|
This section gives you a brief overview of DB2 instances
|
|
and the DB2 Administration Server, and tells you how to create them.
|
|
</para>
|
|
|
|
<para>
|
|
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:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>
|
|
creates one or more new user IDs and corresponding home directories
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
creates a subdirectory in the instance home directory called
|
|
<filename class="directory">sqllib</filename>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
alters the <filename>.bashrc</filename> file to call the
|
|
<filename class="directory">~/sqllib/</filename><filename>db2profile</filename> shell
|
|
script to set up the environment for the instance
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Overview of DB2 Administration Server</title>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Overview of DB2 instance</title>
|
|
|
|
<para>
|
|
To quote the IBM DB2 Universal Database Version 7.1 Administration Guide definition of an instance:
|
|
<blockquote>
|
|
<para>
|
|
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).
|
|
</para>
|
|
</blockquote>
|
|
|
|
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.
|
|
</para>
|
|
|
|
<procedure>
|
|
<title>Creating the Administration Server using <command>db2setup</command></title>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<step>
|
|
<para>
|
|
Issue the <command>db2setup</command> command as described in <xref linkend="db2components"/>.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select <literal>[ Create... ]</literal>.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select the check box for Create the Administration Server. The Administration Server
|
|
window is displayed.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select the Use default UID check box. As far as I can tell, this setting is always right.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select the Use default GID check box. Again, as far as I can tell,
|
|
this setting is always right.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Ensure that the value of the Home Directory field reflects the home directory of
|
|
the user ID.
|
|
<warning>
|
|
<para>
|
|
SuSE users: The prefix for the home directory may default to
|
|
<filename class="directory">/usr/lib/db2/</filename>. This is almost
|
|
certainly wrong; the value for a standard SuSE system should be
|
|
<filename class="directory">/home/</filename>.
|
|
</para>
|
|
</warning>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Enter a unique password in the Password and Verify Password fields.
|
|
<warning>
|
|
<para>
|
|
<emphasis>Enter a new password!</emphasis> If you do not enter a new password in these fields,
|
|
DB2 assigns the default password <literal>ibmdb2</literal>, giving crackers a wide-open
|
|
front door to your system.
|
|
</para>
|
|
</warning>
|
|
</para>
|
|
</step>
|
|
|
|
</procedure>
|
|
|
|
<procedure>
|
|
<title>Creating a DB2 instance using <command>db2setup</command></title>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<step>
|
|
<para>
|
|
Issue the <command>db2setup</command> command as described in <xref linkend="db2components"/>.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select <literal>[ Create... ]</literal>.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select the Create a DB2 Instance check box. The DB2 Instance window is displayed.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select the Use default UID check box. As far as I can tell, this setting is always right.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select the Use default GID check box. Again, as far as I can tell,
|
|
this setting is always right.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Ensure that the value of the Home Directory field reflects the home directory of
|
|
the user ID.
|
|
<warning>
|
|
<para>
|
|
SuSE users: The prefix for the home directory may default to
|
|
<filename class="directory">/usr/lib/db2/</filename>. This is almost
|
|
certainly wrong; the value for a standard SuSE system should be
|
|
<filename class="directory">/home/</filename>.
|
|
</para>
|
|
</warning>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Enter a unique password in the Password and Verify Password fields.
|
|
<warning>
|
|
<para>
|
|
<emphasis>Enter a new password!</emphasis> If you do not enter a new password in these fields,
|
|
DB2 assigns the default password <literal>ibmdb2</literal>, giving crackers a wide-open
|
|
front door to your system.
|
|
</para>
|
|
</warning>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select <literal>[ Properties... ]</literal> to change the properties for the instance.
|
|
</para>
|
|
|
|
<substeps>
|
|
<step>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
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 <command>db2sampl</command> command.
|
|
</para>
|
|
</step>
|
|
</substeps>
|
|
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select <literal>[ OK ]</literal> 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.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Select <literal>[ OK ]</literal> to create the fenced user.
|
|
</para>
|
|
</step>
|
|
|
|
</procedure>
|
|
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="uninstall">
|
|
<title>Removing DB2</title>
|
|
|
|
<para>To remove DB2 from your workstation cleanly, perform
|
|
the following steps:
|
|
</para>
|
|
|
|
<procedure>
|
|
<!--
|
|
<step>
|
|
<para>
|
|
Log in as the instance user ID.
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
List all databases: <userinput>db2 "LIST DATABASE DIRECTORY"</userinput>.
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Drop all databases: <userinput>db2 "DROP DATABASE <replaceable>database-name</replaceable>"</userinput> for
|
|
each local database listed in the previous step.
|
|
</para>
|
|
</step>
|
|
-->
|
|
<step>
|
|
<para>
|
|
Log in as root.
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
List all DB2 instances: <programlisting>bash# /usr/IBMdb2/V7.1/instance/db2ilist</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Drop each instance listed in the previous step with the following command:
|
|
<programlisting>bash# /usr/ibmdb2/v7.1/instance/db2idrop <replaceable>instance-name</replaceable></programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Drop the DB2 administration server:
|
|
<programlisting>bash# /usr/IBMdb2/V7.1/instance/dasidrop `/usr/IBMdb2/V7.1/instance/dasilist`</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Uninstall all of the DB2 packages on your system using the <command>db2deinstall</command>
|
|
command on your DB2 CD-ROM:
|
|
<programlisting>bash# /mnt/cdrom/db2/db2_deinstall -n</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
</sect1>
|
|
<sect1 id="usingdb2">
|
|
<title>Using DB2</title>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
This section assumes that you have followed the instructions in
|
|
<xref linkend="jdkinstall"/>.
|
|
</para>
|
|
</note>
|
|
|
|
<sect2>
|
|
<title>DB2 Control Center</title>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<procedure>
|
|
<title>To start the DB2 Control Center</title>
|
|
|
|
<step>
|
|
<para>
|
|
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 <command>su</command> command to become the user, ensure you
|
|
include the <literal>-l</literal> parameter to initialize the
|
|
environment for the user.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Start the X server, if it is not already started.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Issue the <command>db2cc</command> 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.
|
|
</para>
|
|
</step>
|
|
|
|
</procedure>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>DB2 Information Center</title>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<procedure>
|
|
<title>To start the DB2 Information Center</title>
|
|
|
|
<step>
|
|
<para>
|
|
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 <command>su</command> command to become the user, ensure you
|
|
include the <literal>-l</literal> parameter to initialize the
|
|
environment for the user.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Ensure that the X server is started.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Issue the <command>db2ic</command> 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.
|
|
</para>
|
|
</step>
|
|
|
|
</procedure>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>The DB2 command line</title>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
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
|
|
<literal>Create the sample database</literal> option when you
|
|
create a DB2 instance, or issue the <command>db2sampl</command>
|
|
command from the DB2 command line.
|
|
</para>
|
|
|
|
<para>
|
|
Before you can issue an SQL statement, you have to connect to a
|
|
database. To connect to a database:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<command>db2 CONNECT TO <replaceable>database</replaceable> USER <replaceable>userID</replaceable> USING <replaceable>password</replaceable></command>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
<para>
|
|
To connect to a database, and have DB2 prompt you for the password:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<command>db2 CONNECT TO <replaceable>database</replaceable> USER <replaceable>userID</replaceable></command>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
To connect to a database using the default user ID:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<command>db2 CONNECT TO <replaceable>database</replaceable></command>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
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 <literal>EMPLOYEE</literal>
|
|
table in the <literal>SAMPLE</literal> database,
|
|
issue the following command: <programlisting>bash$ db2 "SELECT * FROM employee"</programlisting>
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
You can avoid typing <command>db2</command> as the prefix for every
|
|
SQL statement and DB2 command by issuing commands using the
|
|
Command Line Processor (<acronym>CLP</acronym>). To start the CLP,
|
|
issue the <command>db2</command> command by itself. DB2 provides the following prompt:
|
|
|
|
<programlisting>
|
|
|
|
You can issue database manager commands and SQL statements from the command
|
|
prompt. For example:
|
|
db2 => connect to sample
|
|
db2 => bind sample.bnd
|
|
|
|
For general help, type: ?.
|
|
For command help, type: ? command, where command can be
|
|
the first few keywords of a database manager command. For example:
|
|
? CATALOG DATABASE for help on the CATALOG DATABASE command
|
|
? CATALOG for help on all of the CATALOG commands.
|
|
|
|
To exit db2 interactive mode, type QUIT at the command prompt. Outside
|
|
interactive mode, all commands must be prefixed with 'db2'.
|
|
To list the current command option settings, type LIST COMMAND OPTIONS.
|
|
|
|
For more detailed help, refer to the Online Reference Manual.
|
|
|
|
db2 =>
|
|
|
|
</programlisting>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</note>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="db2trouble">
|
|
<title>Troubleshooting</title>
|
|
|
|
<para>
|
|
The following section covers some of the common problems you may encounter
|
|
while installing DB2, creating an instance, or using a DB2 database.
|
|
</para>
|
|
|
|
<sect2 id="tsinstall">
|
|
<title>Problems with DB2 installation</title>
|
|
|
|
<indexterm><primary>installation</primary><secondary>troubleshooting</secondary></indexterm>
|
|
|
|
<para>
|
|
The following section covers some of the common problems you may encounter
|
|
when you install DB2.
|
|
</para>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
When I try to run <command>db2setup</command>, I get the following error:
|
|
<computeroutput>DBI1503E An error was encountered when opening
|
|
or writing to file, "/tmp/.dbinst.swp".</computeroutput>
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
DB2 issues this error when it can't find the <command>pdksh</command> or <command>ksh</command>
|
|
shells. This has probably occurred because you did not install the <literal>pdksh</literal>
|
|
package for your distribution. See <xref linkend="preplinux"/> for more details on installing
|
|
the <command>pdksh</command> package for your Linux distribution.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
When I try to run <command>db2setup</command>, I get the following error:
|
|
<computeroutput>./db2inst: error while loading shared libraries: libncurses.so.4: cannot
|
|
open shared object file: No such file or directory</computeroutput>
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
DB2 issues this error when it can't find the <filename>libncurses.so.4</filename> library. Red Hat 7
|
|
does not include this level of the library in their standard <filename>ncurses-5.1-2</filename> package,
|
|
requiring that you install the <filename>ncurses4-5.0-2</filename> library for backwards compatibility.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
Creating a DB2 instance on SuSE Linux: Default user name already exists
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
If you did not remove the default DB2 user IDs created by SuSE Linux before
|
|
installing DB2 (see <xref linkend="suselinux"/>), 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.
|
|
</para>
|
|
<para>
|
|
Ensure that you select the "Use default UID" check box to automatically
|
|
associate the new user name with its corresponding user ID.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
Creating a DB2 instance on SuSE Linux: Default group name already exists
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
If you did not remove the default DB2 user IDs created by SuSE Linux before
|
|
installing DB2 (see <xref linkend="suselinux"/>), 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.
|
|
</para>
|
|
<para>
|
|
Ensure that you select the "Use default GID" check box to automatically
|
|
associate the new group name with its corresponding group ID.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
Creating a DB2 instance on SuSE Linux: Default home directory points to <filename class="directory">/usr/lib/db2/</filename>
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
If you did not remove the default DB2 user IDs created by SuSE Linux before
|
|
installing DB2 (see <xref linkend="suselinux"/>), the default user name already exists and was created in the
|
|
<filename class="directory">/usr/lib/db2/</filename> 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 <filename class="directory">/home/</filename>.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
After creating a DB2 instance, I installed the Application Development Client,
|
|
but I can't use that instance to create DB2 applications.
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
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
|
|
<command>db2 prep</command> command. Instead, DB2 returns the following error:
|
|
<computeroutput>DB21051E The command is not supported for this environment.</computeroutput>
|
|
</para>
|
|
|
|
<para>
|
|
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 <command>db2iupdt</command> command as root:
|
|
<programlisting>bash# /usr/IBMdb2/V7.1/instance/db2iupdt <replaceable>instance-name</replaceable></programlisting>
|
|
To update all existing DB2 instances, issue the following command as root:
|
|
<programlisting>bash# /usr/IBMdb2/V7.1/instance/db2iupdt -e</programlisting>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
I installed DB2, but none of the permissions in
|
|
<filename class="directory">/usr/IBMdb2/V7.1/bin</filename>
|
|
are executable!
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
When you create an instance, as described in
|
|
<xref linkend="db2instance"/>, DB2 copies selected files from
|
|
<filename class="directory">/usr/IBMdb2/V7.1/bin</filename> into the
|
|
<filename class="directory">$HOME/sqllib/bin</filename> directory of
|
|
the instance. DB2 sets the appropriate permissions on the copies of
|
|
the files in the instance directory.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
</qandaset>
|
|
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Problems creating a DB2 instance</title>
|
|
|
|
<indexterm><primary>instance creation</primary><secondary>troubleshooting</secondary></indexterm>
|
|
<indexterm><primary>creating DB2 instances</primary><secondary>troubleshooting</secondary></indexterm>
|
|
|
|
<para>
|
|
The following section covers some of the common problems you may encounter
|
|
when you create a DB2 instance.
|
|
</para>
|
|
|
|
<qandaset>
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
Creating a DB2 instance or a DB2 Administration Server fails.
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
DB2 often fails to create an instance because you became root by issuing the command
|
|
<userinput>bash$ su root</userinput> rather than <userinput>bash$ su -l root</userinput>, which
|
|
uses the environment settings for the root account. Check the contents of the DB2 install log
|
|
in <filename>/tmp/db2setup.log</filename>. If the installer has issued the following error message:
|
|
|
|
<programlisting>
|
|
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.
|
|
</programlisting>
|
|
|
|
then most likely your root account did not have the
|
|
<filename class="directory">/usr/sbin</filename> directory in the PATH
|
|
environment variable for root.
|
|
</para>
|
|
|
|
<para>PATH is normally set correctly for you if you log in as
|
|
root, or issue the command <userinput>bash$ su -l root</userinput> to become root. You can
|
|
add <filename class="directory">/usr/sbin</filename> to the
|
|
PATH environment variable by issuing the following command at the terminal
|
|
prompt, or including it in <filename>/root/.bashrc</filename>:
|
|
|
|
<programlisting>
|
|
export PATH=$PATH:/usr/sbin
|
|
</programlisting>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
<command>db2setup</command> indicated that it successfully
|
|
created an instance, but I checked <filename>/tmp/db2install.log</filename>
|
|
and it contains the message
|
|
<computeroutput>DBI1766W Cannot change the secondary group list of ""</computeroutput>
|
|
(Caldera OpenLinux 2.4).
|
|
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
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:
|
|
|
|
<programlisting>
|
|
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.
|
|
</programlisting>
|
|
|
|
For instructions on how to add user IDs to groups, see <xref linkend="calderauid"/>.
|
|
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Problems using DB2</title>
|
|
<para>
|
|
The following section covers some of the common problems you may encounter
|
|
when you use a DB2 database.
|
|
</para>
|
|
|
|
|
|
<qandaset>
|
|
|
|
<indexterm><primary>connection</primary><secondary>troubleshooting</secondary></indexterm>
|
|
<indexterm><primary>kernel</primary><secondary>optimizing parameters</secondary></indexterm>
|
|
<indexterm><primary>Control Center</primary><secondary>troubleshooting</secondary></indexterm>
|
|
<indexterm><primary>commands</primary><secondary>troubleshooting</secondary></indexterm>
|
|
<indexterm><primary>db2 commands</primary><secondary>troubleshooting</secondary></indexterm>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>DB2 is running out of available connections.</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
You probably need to adjust some kernel parameters. For more information, see
|
|
<xref linkend="perform"/>.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I installed DB2 Version 6.1 and <command>db2start</command> just hangs.</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>
|
|
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 <literal>glibc 2.1</literal>. For a full description of the
|
|
problem, and the correct install procedure, refer to IBM Support document 1000814:
|
|
<ulink url="http://www-1.ibm.com/servlet/support/manager?rt=1&rs=0&q=1000814">db2start hangs on Linux distributions built with glibc 2.1</ulink>.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
I'm using DB2 PE 7.1 on linux (RH 6.0), 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:
|
|
<programlisting>
|
|
bash$ db2 connect to sample
|
|
|
|
Database Connection Information
|
|
|
|
Database server = DB2/LINUX 7.1.0
|
|
SQL authorization ID = <replaceable>userID</replaceable>
|
|
Local database alias = SAMPLE
|
|
</programlisting>
|
|
But when I try to connect to the database using the explicit user ID, it fails:
|
|
<programlisting>
|
|
bash$ db2 CONNECT TO sample USER <replaceable>userID</replaceable>
|
|
Enter current password for <replaceable>userID</replaceable>:
|
|
SQL1403N The username and/or password supplied is incorrect.
|
|
SQLSTATE=08004
|
|
</programlisting>
|
|
Why can't I connect with an explicit user ID?
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
Check the ownership and permissions on the <filename>db2ckpw</filename> program.
|
|
They should look like this:
|
|
<programlisting>
|
|
bash$ ls -al ~/sqllib/security/db2ckpw
|
|
-rwsr-s--x 1 root build 15989 Oct 17 07:22 sqllib/security/db2ckpw*
|
|
</programlisting>
|
|
If this program is not owned by root, then do the following as root:
|
|
<programlisting>
|
|
bash# chown root db2ckpw
|
|
bash# chmod ug+s db2ckpw
|
|
</programlisting>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
When I run any <command>db2</command> commands, part of the output is
|
|
<computeroutput>Welcome to your OpenLinux system!</computeroutput>. How
|
|
do I change this? (Caldera OpenLinux 2.4)
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
Caldera OpenLinux includes this annoying message as part of their default
|
|
login. For instructions on how to remove or modify this output, see
|
|
<xref linkend="calderagreeting"/>.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
How do I connect from a DB2 Connect for Linux client to a DB2 for AS/400 server?
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
Claus Reiner contributed the following procedure:
|
|
</para>
|
|
<procedure>
|
|
<title>Preparing DB2 for AS/400 to accept connections</title>
|
|
<para>
|
|
AS/400 has a special service that must be run and other things
|
|
that need to be prepared:
|
|
</para>
|
|
<step>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Set the code page to 37. For the user that connects, change the CCSID parameter
|
|
from *SYSVAL to 37, or change it system-wide:
|
|
<programlisting>
|
|
CHGUSRPRF USRPRF(<replaceable>user</replaceable>) CCSID(37)
|
|
</programlisting>
|
|
or
|
|
<programlisting>
|
|
CHGSYSVAL SYSVAL(QCCSID) VALUE(37)
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Start a service to listen on port 446. To start the service once:
|
|
<programlisting>
|
|
STRTCPSVR SERVER(*DDM)
|
|
</programlisting>
|
|
To automatically start the service:
|
|
<programlisting>
|
|
CHGDDMTCPA AUTOSTART(*YES)
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Create a NULLID collection by issuing the following SQL statement:
|
|
<programlisting>
|
|
CREATE COLLECTION NULLID
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Possibly create a collection for the user ID to connect with:
|
|
<programlisting>
|
|
CREATE COLLECTION <replaceable>userid</replaceable>
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
<procedure>
|
|
<title>Preparing DB2 Connect for Linux to connect to an AS/400 database</title>
|
|
<para>
|
|
On the Linux side, you need to perform the following steps:
|
|
</para>
|
|
<step>
|
|
<para>
|
|
Catalog the remote node (the AS/400) with OSTYPE OS400:
|
|
<programlisting>
|
|
bash$ db2 CATALOG TCPIP NODE <replaceable>as400</replaceable> REMOTE <replaceable>as400</replaceable> \
|
|
SERVER <replaceable>446</replaceable> REMOTE_DATABASE <replaceable>as400_dbname</replaceable> \
|
|
OSTYPE os400
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Catalog the remote database in DCS:
|
|
<programlisting>
|
|
bash$ db2 CATALOG DCS DATABASE <replaceable>as400_dbname</replaceable> AS <replaceable>as400_dbname</replaceable>
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
<step>
|
|
<para>
|
|
Catalog the remote database:
|
|
<programlisting>
|
|
bash$ db2 CATALOG DATABASE <replaceable>as400_dbname</replaceable> AS <replaceable>as400_dbname</replaceable> \
|
|
AT NODE <replaceable>as400</replaceable> AUTHENTICATION DCS
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
</procedure>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Problems starting the DB2 Control Center</title>
|
|
<para>
|
|
The following section covers some of the common problems you may encounter
|
|
trying to start the DB2 Control Center.
|
|
</para>
|
|
|
|
<qandaset>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>When I start the DB2 Control Center with <command>db2cc</command>,
|
|
nothing happens.
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
On some systems, for unknown reasons, issuing the <command>db2cc</command>
|
|
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 <command>db2cc</command> command with
|
|
the port number. The following example starts the DB2 JDBC server and
|
|
DB2 Control Center on port <literal>6799</literal>:
|
|
<programlisting>
|
|
bash$ db2jstrt 6799
|
|
bash$ db2cc 6799
|
|
</programlisting>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>When I start the DB2 Control Center, I get a message box with the
|
|
error <computeroutput>SQL1042C An unexpected system error occurred.</computeroutput>
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>
|
|
I followed the instructions for installing IBM JDK 1.1.8 but Java
|
|
applications, including the DB2 Control Center, don't work.
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
Red Hat 7.1 enabled a floating stack feature in the glibc library
|
|
that breaks the IBM JDK 1.1.8. Other distributions might follow their lead.
|
|
</para>
|
|
<para>
|
|
Set the <envar>LD_ASSUME_KERNEL</envar> environment variable to
|
|
<literal>2.2.5</literal> before running the DB2 Control Center or your
|
|
Java application:
|
|
<programlisting>
|
|
bash$ export LD_ASSUME_KERNEL=2.2.5
|
|
bash$ db2set DB2ENVLIST=LD_ASSUME_KERNEL
|
|
</programlisting>
|
|
It would probably be wise to include these commands in the <filename>sqllib/db2profile</filename>
|
|
script of your instance user so that you always inherit these settings.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>The DB2 Control Center starts normally, but the "Systems" folder is empty.</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
To catalog the DB2 Administration Server, issue the following command:
|
|
<programlisting>bash$ db2 catalog admin local node <replaceable>machine-name</replaceable> instance <replaceable>Administration-Server-name</replaceable> system <replaceable>machine-name</replaceable> ostype linux</programlisting>
|
|
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.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>When I try to start the DB2 Control Center, I get the following message
|
|
at the console: <computeroutput>Xlib: connection to "localhost:0.0" refused by server</computeroutput>
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
This normally indicates an X permissions problem that occurs when you log on as one user, then
|
|
<command>su</command> 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 <command>xauth</command>
|
|
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:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Before su'ing to the DB2 instance owner, issue the command <userinput>bash$ xhost +localhost</userinput>:
|
|
this tells your X server that 'localhost' is allowed to start X apps on your display. Then <command>su</command>
|
|
to the DB2 instance owner and start the Control Center.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
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 <userinput>bash$ xhost +localhost</userinput> before the
|
|
Control Center will start--recent distributions have added this extra level of security.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Look into the <command>xauth</command> command and add your primary user ID's
|
|
<filename>~/.Xauthority</filename> file to your DB2 instance owner's <literal>xauth</literal>
|
|
authority database. I believe it's the <command>xauth merge</command> command that you want.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>When I start the DB2 Control Center, I get a message box with the
|
|
error <computeroutput>SQL1042C An unexpected system error occurred.</computeroutput>
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>When I try to start the DB2 Control Center with
|
|
the <command>db2cc</command> command, the splash screen comes up, then
|
|
disappears.
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
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 <xref linkend="calderauid"/>.
|
|
</para>
|
|
</answer>
|
|
<answer>
|
|
<para>
|
|
Ensure that you have installed the IBM Developer Kit for Java, and that
|
|
the directory containing the <filename>jre</filename> or <filename>java</filename>
|
|
executable is in your path. If you issue the command <programlisting>bash$ java -fullversion</programlisting>,
|
|
you should get a response like this:
|
|
<computeroutput>
|
|
java full version "JDK 1.1.8 IBM build l118-20000325 (JIT enabled: jitc)"
|
|
</computeroutput>
|
|
or, for the IBM JDK 1.3:
|
|
<computeroutput>
|
|
java full version "J2RE 1.3.0 IBM build cx130-20000623"
|
|
</computeroutput>
|
|
Java virtual machines from other sources may not work.
|
|
For a quick guide to installing the IBM Developer Kit for Java, see
|
|
<xref linkend="jdkinstall"/>.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
</qandaset>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="perform">
|
|
<title>Improving DB2 Version 7.1 performance on Linux</title>
|
|
|
|
<para>Database administrators running DB2 on Linux often run into
|
|
problems attempting to perform the following tasks:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
increasing the maximum number of simultaneous connections to the DB2 server
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
configuring buffer pools
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
The following sections attempt to address those problems.
|
|
</para>
|
|
|
|
<sect2 id="maxconnect">
|
|
<title>Increasing maximum connections</title>
|
|
<para>
|
|
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 (<acronym>ipc</acronym>) limits.
|
|
</para>
|
|
<para>
|
|
The number of connections that DB2 can support depends on kernel parameters that,
|
|
in the 2.2 kernel, are <literal>#define</literal> variables included in the
|
|
kernel source header files. In the 2.4 kernel, some of these parameters can be set
|
|
through the <filename class="directory">/proc</filename> 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.
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>_SHM_ID_BITS</term>
|
|
<listitem>
|
|
<para>
|
|
This variable, defined in <filename>/usr/src/linux/include/asm/shmparam.h</filename>,
|
|
determines the number of shared memory segment identifiers available to Linux. The
|
|
default value for <literal>_SHM_ID_BITS</literal> in the kernel source
|
|
is <literal>7</literal>, which allows for a total of 2^7, or 128,
|
|
shared memory segment identifiers.
|
|
</para>
|
|
<para>
|
|
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 (<acronym>FCM</acronym>) feature
|
|
of DB2. Because each DB2 connection requires one agent per processor,
|
|
on a quad-processor machine the default value of <literal>_SHM_ID_BITS</literal>
|
|
allows less than 32 simultaneous connections to a DB2 instance.
|
|
</para>
|
|
<para>
|
|
If you recompile the kernel yourself, you should be able to safely
|
|
increase this value to <literal>9</literal>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>MSGMNI</term>
|
|
<listitem>
|
|
<para>
|
|
This variable determines the maximum number of message queue identifiers.
|
|
For DB2 Version 7.1 to function correctly, the minimum value is <literal>128</literal>,
|
|
but for heavier use consider setting this value to <literal>1024</literal> or
|
|
higher.
|
|
</para>
|
|
<para>
|
|
In the 2.2 kernel source, this variable is defined in
|
|
<filename>/usr/src/linux/include/linux/msg.h</filename>. The default value of
|
|
<literal>128</literal> is acceptable for small-scale use of DB2 Version 7.1.
|
|
</para>
|
|
<para>
|
|
In the 2.4 kernel source, this variable is defined in
|
|
<filename>/proc/sys/kernel/msgmni</filename>. The default value of
|
|
<literal>16</literal> 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 <xref linkend="kernel24"/>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>NR_TASKS</term>
|
|
<listitem>
|
|
<para>
|
|
This variable, defined in <filename>/usr/src/linux/include/linux/tasks.h</filename>,
|
|
determines the number of simultaneous processes that Linux
|
|
supports. A second variable, <literal>MAX_TASKS_PER_USER</literal>, is defined
|
|
as <literal>NR_TASKS/2</literal>. 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 <literal>NR_TASKS/2</literal>.
|
|
</para>
|
|
<para>
|
|
The default value for <literal>NR_TASKS</literal> in the kernel source is <literal>512</literal>,
|
|
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 <literal>NR_TASKS</literal> to 2560 or above.
|
|
However, Caldera OpenLinux eDesktop 2.4 ships with a kernel in which <literal>NR_TASKS</literal>
|
|
is set to the default value of 512. Caldera users should increase the value
|
|
of this variable and recompile the kernel.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>SEMMNI</term>
|
|
<listitem>
|
|
<para>
|
|
This variable, defined in <filename>/usr/src/linux/include/linux/sem.h</filename>,
|
|
determines the number of semaphore identifiers that Linux supports. This variable
|
|
is particularly important on symmetric multi-processing (<acronym>SMP</acronym>)
|
|
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.
|
|
</para>
|
|
<para>
|
|
The default value for <literal>SEMMNI</literal> in the kernel source is <literal>128</literal>,
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</para>
|
|
|
|
<para>
|
|
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.
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<literal>unknown</literal> 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!)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>??</literal> indicates that I could not find the
|
|
parameter in the kernel source or in the
|
|
<filename class="directory">/proc/sys/kernel/</filename> directory. Help, anyone?
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<literal>**</literal> as a prefix indicates that the
|
|
default value is not acceptable and must be increased
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<indexterm><primary>kernel</primary><secondary>parameter defaults</secondary></indexterm>
|
|
|
|
<table frame="all">
|
|
<title>Default kernel parameter values, by distribution</title>
|
|
<tgroup cols="5" align="center" colsep="1" rowsep="1">
|
|
<colspec colname="c1"/>
|
|
<colspec colname="c2"/>
|
|
<colspec colname="c3"/>
|
|
<colspec colname="c4"/>
|
|
<thead>
|
|
<row>
|
|
<entry>Distribution</entry>
|
|
<entry>_SHM_ID_BITS</entry>
|
|
<entry>MSGMNI</entry>
|
|
<entry>NR_TASKS</entry>
|
|
<entry>SEMMNI</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>2.2 kernel source</entry>
|
|
<entry><literal>7</literal></entry>
|
|
<entry><literal>128</literal></entry>
|
|
<entry><literal>512</literal></entry>
|
|
<entry><literal>128</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>2.4 kernel source</entry>
|
|
<entry><literal>??</literal></entry>
|
|
<entry><literal>**16</literal></entry>
|
|
<entry><literal>??</literal></entry>
|
|
<entry><literal>128</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Caldera OpenLinux eDesktop 2.4</entry>
|
|
<entry><literal>7</literal></entry>
|
|
<entry>Unknown</entry>
|
|
<entry><literal>512</literal></entry>
|
|
<entry><literal>128</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Caldera OpenLinux eServer 2.3</entry>
|
|
<entry><literal>7</literal></entry>
|
|
<entry>Unknown</entry>
|
|
<entry><literal>512</literal></entry>
|
|
<entry><literal>128</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Mandrake Linux 7.2</entry>
|
|
<entry><literal>10</literal></entry>
|
|
<entry>512</entry>
|
|
<entry><literal>4090</literal></entry>
|
|
<entry><literal>512</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Red Hat 6.2</entry>
|
|
<entry><simplelist type="horiz" columns="2">
|
|
<member>kernel-2.2.14-5</member>
|
|
<member><literal>7</literal></member>
|
|
<member>kernel-2.2.14-12</member>
|
|
<member><literal>9</literal></member>
|
|
<member>kernel-2.2.16-3</member>
|
|
<member><literal>9</literal></member>
|
|
</simplelist></entry>
|
|
<entry>Unknown</entry>
|
|
<entry><simplelist type="horiz" columns="2">
|
|
<member>kernel-2.2.14-5</member>
|
|
<member><literal>2560</literal></member>
|
|
<member>kernel-2.2.14-12</member>
|
|
<member><literal>2560</literal></member>
|
|
<member>kernel-2.2.16-3</member>
|
|
<member><literal>4090</literal></member>
|
|
</simplelist></entry>
|
|
<entry><simplelist type="horiz" columns="2">
|
|
<member>kernel-2.2.14-5</member>
|
|
<member><literal>128</literal></member>
|
|
<member>kernel-2.2.14-12</member>
|
|
<member><literal>512</literal></member>
|
|
<member>kernel-2.2.16-3</member>
|
|
<member><literal>512</literal></member>
|
|
</simplelist></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Red Hat 7.1</entry>
|
|
<entry>n/a (2.4 kernel)</entry>
|
|
<entry>16</entry>
|
|
<entry>n/a (2.4 kernel)</entry>
|
|
<entry>128</entry>
|
|
</row>
|
|
<row>
|
|
<entry>SuSE 6.2</entry>
|
|
<entry>Unknown</entry>
|
|
<entry>Unknown</entry>
|
|
<entry>Unknown</entry>
|
|
<entry>Unknown</entry>
|
|
</row>
|
|
<row>
|
|
<entry>SuSE 6.3</entry>
|
|
<entry>Unknown</entry>
|
|
<entry>Unknown</entry>
|
|
<entry>Unknown</entry>
|
|
<entry>Unknown</entry>
|
|
</row>
|
|
<row>
|
|
<entry>SuSE 7.0</entry>
|
|
<entry>9</entry>
|
|
<entry>128</entry>
|
|
<entry>2048</entry>
|
|
<entry>512</entry>
|
|
</row>
|
|
<row>
|
|
<entry>TurboLinux 6.0</entry>
|
|
<entry><simplelist type="horiz" columns="2">
|
|
<member>kernel-2.2.14-5</member>
|
|
<member><literal>7</literal></member>
|
|
<member>kernel-2.2.16-0.4</member>
|
|
<member><literal>7</literal></member>
|
|
</simplelist></entry>
|
|
<entry>Unknown</entry>
|
|
<entry><simplelist type="horiz" columns="2">
|
|
<member>kernel-2.2.14-5</member>
|
|
<member><literal>2560</literal></member>
|
|
<member>kernel-2.2.16-0.4</member>
|
|
<member><literal>2560</literal></member>
|
|
</simplelist></entry>
|
|
<entry><simplelist type="horiz" columns="2">
|
|
<member>kernel-2.2.14-5</member>
|
|
<member><literal>128</literal></member>
|
|
<member>kernel-2.2.16-0.4</member>
|
|
<member><literal>128</literal></member>
|
|
</simplelist></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Creating and configuring buffer pools</title>
|
|
<para>
|
|
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
|
|
<citetitle pubwork="book"><ulink url="http://www.ibm.com/software/data/db2/udb/winos2unix/support">IBM DB2 Administration Guide: Performance</ulink></citetitle>.
|
|
</para>
|
|
<para>
|
|
On a system with a 2.2 kernel compiled with support for >1 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.
|
|
</para>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="jdkinstall">
|
|
<title>Installing the IBM Developer Kit for Java</title>
|
|
|
|
<indexterm><primary>Java</primary><secondary>installing</secondary></indexterm>
|
|
<indexterm><primary>JDK</primary><secondary>installing</secondary></indexterm>
|
|
<indexterm><primary>JRE</primary><secondary>installing</secondary></indexterm>
|
|
|
|
<para>
|
|
This section gives you quick and dirty instructions on how to install the
|
|
IBM Developer Kit for Java, version <literal>1.1.8</literal> or <literal>1.3</literal>.
|
|
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>
|
|
<para>
|
|
For DB2 Version 7.1, you cannot use other versions of Java. Versions
|
|
of the Java Virtual Machine (<acronym>JVM</acronym>) supplied by other
|
|
software organizations are not supported.
|
|
</para>
|
|
</warning>
|
|
|
|
</para>
|
|
|
|
<procedure>
|
|
<title>Installing the IBM Developer Kit for Java, Version 1.1.8</title>
|
|
|
|
<step>
|
|
<para>
|
|
Download the IBM Developer Kit for Java, version 1.1.8, from the
|
|
<ulink url="http://www.ibm.com/developerworks/java/jdk/118/linux/">IBM Java
|
|
Developer's Kit downloads web site</ulink>. I'll assume that you
|
|
download the <acronym>RPM</acronym> package of the IBM Developer Kit for Java.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Install the IBM Developer Kit for Java by issuing the following command as root:
|
|
<programlisting>bash# rpm -ivh IBMJava118-SDK-1.1.8-2.0-i386.rpm</programlisting>
|
|
</para>
|
|
<para>
|
|
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 <command>java -fullversion</command> command.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Add the following lines to your <filename>/etc/profile</filename> file to set
|
|
up the Java environment for all users:
|
|
<programlisting>
|
|
export JAVA_HOME=/usr/jdk118
|
|
export PATH=$PATH:$JAVA_HOME/bin
|
|
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/classes.zip
|
|
</programlisting>
|
|
<note>
|
|
<para>
|
|
Caldera users should see <xref linkend="calderapreinstall"/> for instructions on
|
|
configuring the IBM Developer Kit for Java on Caldera OpenLinux.
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
Red Hat 7.1 enabled a floating 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 stack by
|
|
setting the <envar>LD_ASSUME_KERNEL</envar> environment variable to
|
|
<literal>2.2.5</literal> before running the DB2 Control Center as follows:
|
|
<programlisting>
|
|
bash$ export LD_ASSUME_KERNEL=2.2.5
|
|
bash$ db2set DB2ENVLIST=LD_ASSUME_KERNEL
|
|
</programlisting>
|
|
It would probably be wise to include these commands in the <filename>sqllib/db2profile</filename>
|
|
script of your instance user so that you always inherit these settings.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</step>
|
|
|
|
</procedure>
|
|
|
|
<procedure>
|
|
<title>Installing the IBM Developer Kit for Java, Version 1.3</title>
|
|
|
|
<step>
|
|
<para>
|
|
Download the IBM Developer Kit for Java, version 1.3, from the
|
|
<ulink url="http://www.ibm.com/developerworks/java/jdk/linux130/">IBM Java
|
|
Developer's Kit downloads web site</ulink>. I'll assume that you
|
|
download the <acronym>RPM</acronym> package of the IBM Developer Kit for Java.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Install the IBM Developer Kit for Java by issuing the following command as root:
|
|
<programlisting>bash# rpm -ivh IBMJava2-SDK-1.3-1.1-i386.rpm</programlisting>
|
|
</para>
|
|
<para>
|
|
I most recently tested build <literal>cx130-20010329</literal>
|
|
successfully with Red Hat 7.1. To see which build of the
|
|
IBM JDK you are using, issue the <command>java -fullversion</command> command.
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
Add the following lines to your <filename>/etc/profile</filename> file to set
|
|
up the Java environment for all users:
|
|
<programlisting>
|
|
export PATH=$PATH:/opt/IBMJava2-13/jre/bin
|
|
</programlisting>
|
|
<note>
|
|
<para>
|
|
Caldera users should see <xref linkend="calderapreinstall"/> for instructions on
|
|
configuring the IBM Developer Kit for Java on Caldera OpenLinux.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
IBM JDK 1.3 does away with the <command>jre</command> command, even if you
|
|
install the the IBM JRE 1.3 package.
|
|
However, the <command>db2cc</command> script calls the
|
|
<command>jre</command> command. The easiest solution is to create a link
|
|
called <command>jre</command> to the <command>java</command> executable
|
|
in the <filename class="directory">/opt/IBMJava2-13/bin</filename> directory
|
|
by issuing the following command as root.
|
|
<programlisting>
|
|
bash# ln -sf /opt/IBMJava2-13/jre/bin/java /opt/IBMJava2-13/jre/bin/jre
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>
|
|
The <command>db2cc</command> script calls the <command>jre</command> command
|
|
with the <literal>-nojit</literal> argument, which is not supported in IBM JDK 1.3.
|
|
Remove the option by changing line 44 of <filename>/usr/IBMdb2/V7.1/bin/db2cc</filename>
|
|
to the following:
|
|
<programlisting>
|
|
JRE_OPTIONS="-ss256k -mx128m -Ddb2path=$DB2PATH"
|
|
</programlisting>
|
|
</para>
|
|
</step>
|
|
|
|
</procedure>
|
|
|
|
</sect1>
|
|
<sect1 id="kernel24">
|
|
<title>Using the 2.4 kernel with DB2 Version 7.1</title>
|
|
<para>
|
|
The Linux 2.4 kernel changes the default values of some <acronym>ipc</acronym>
|
|
limits. However, the default value for the <literal>msgmni</literal> is
|
|
<literal>16</literal>, which causes difficulties running DB2 with the
|
|
default 2.4 kernel <acronym>ipc</acronym> parameters.
|
|
Fortunately, the 2.4 kernel also enables you to change a number
|
|
of these parameters through the <filename class="directory">/proc</filename>
|
|
filesystem. With the 2.4 kernel, you do not have to recompile your kernel to
|
|
experiment with different parameter values.
|
|
</para>
|
|
<para>
|
|
Configure the <literal>msgmni</literal> parameter by issuing the
|
|
<command>sysctl</command> command as root:
|
|
<programlisting>
|
|
bash# sysctl -w kernel.msgmni=128
|
|
</programlisting>
|
|
You can also change values directly in <filename class="directory">/proc/sys/kernel</filename> using the <command>echo</command> command:
|
|
<programlisting>
|
|
bash# echo "128" > /proc/sys/kernel/msgmni
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
To set the <literal>msgmni</literal> kernel parameter at boot time, append the
|
|
following lines to <filename>/etc/sysctl.conf</filename>:
|
|
<programlisting>
|
|
# Sets maximum number of message queues to 128
|
|
# Set this to 1024 or higher on production systems
|
|
kernel.msgmni = 128
|
|
</programlisting>
|
|
To check the current <acronym>ipc</acronym> settings, issue the
|
|
<command>ipcs -l</command> command:
|
|
<programlisting>
|
|
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
|
|
</programlisting>
|
|
</para>
|
|
</sect1>
|
|
|
|
<appendix id="references">
|
|
<title>Resources</title>
|
|
<para>
|
|
Following is a list of references to further information on using DB2 V7.1 for Linux:
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
<term>Mailing lists and newsgroups</term>
|
|
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><ulink url="news:comp.databases.ibm-db2">comp.databases.ibm-db2</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><ulink url="http://arnoud.best.vwh.net/db2eug">DB2 Email User Group</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
This mailing list claims about 300 subscribers who ask and answer questions.
|
|
The site provides a link to searchable archives, and sharing of utilities
|
|
and scripts is encouraged.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><ulink url="news:ibm.software.db2.udb.v7beta">ibm.software.db2.udb.v7beta</ulink> on the news.software.ibm.com NNTP server</term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
|
|
<varlistentry>
|
|
<term>Web sites</term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><ulink url="http://publib.boulder.ibm.com/infocenter/db2help/">DB2 Version 8 Information Center</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
For information on installing DB2 Version 8 on Linux, the DB2 Information Center is the most current source of official documentation in 29 different languages. Set your browser language preference and the site will return the translated version of a given page if it is available, falling back to English content. Offers access to the information via search, navigation tree, or a comprehensive master index (
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxA.htm">A</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxB.htm">B</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxC.htm">C</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxD.htm">D</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxE.htm">E</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxF.htm">F</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxG.htm">G</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxH.htm">H</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxI.htm">I</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxJ.htm">J</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxK.htm">K</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxL.htm">L</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxM.htm">M</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxN.htm">N</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxO.htm">O</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxP.htm">P</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxQ.htm">Q</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxR.htm">R</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxS.htm">S</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxT.htm">T</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxU.htm">U</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxV.htm">V</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxW.htm">W</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxX.htm">X</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxY.htm">Y</ulink>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/core/db2idxZ.htm">Z</ulink>
|
|
).
|
|
</para>
|
|
<para>
|
|
<ulink url="http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/start/t0008923.htm">Installing a DB2 server on Linux</ulink> is probably the best starting point for Version 8 install information.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><ulink url="http://www.ibm.com/software/data/db2/linux/validate/">DB2 Version 8 for Linux validation</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
IBM's list of supported Linux distributions for DB2 Version 8, along with the system prerequisites.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><ulink url="http://www.ibm.com/software/data/db2/udb/winos2unix/support">DB2 Library</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><ulink url="http://www.ibm.com/software/data/db2/udb/ad">DB2 Application Development</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
This web site contains the latest information about restrictions, workarounds, or additional
|
|
documentation for developing applications with DB2.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><ulink url="http://www.ibm.com/software/data/db2/linux">DB2 for Linux</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
This web site contains general information about using DB2 for Linux, including a link
|
|
to the free <ulink url="http://www.ibm.com/software/data/db2/udb/downloads.html">download</ulink>
|
|
of DB2 Personal Developers Edition.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><ulink url="http://www.db2mag.com">DB2 Magazine</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><ulink url="http://www.ibm.com/software/data/pubs/papers">DB2 White Papers</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><ulink url="http://www.idug.org">International DB2 Users Group (<acronym>IDUG</acronym>)</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<!-- commented out as site appears to be dead -->
|
|
<!--
|
|
<varlistentry>
|
|
<term><ulink url="http://www.piksi.itb.ac.id/andika/notes/db2.html">DB2 on Debian</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
Andika Triwidada contributed most of the information in this document
|
|
about installing DB2 on Debian, using <command>rpm</command> 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.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
-->
|
|
|
|
<varlistentry>
|
|
<term><ulink url="http://www.edelbyte.org/misc/DbtuTools/index.htm">DbtuTools project</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
Daniel Scheibli has started a project with the following mission statement:
|
|
<blockquote>
|
|
<para>
|
|
The mission of DbtuTools is to become an framework for working with the Wintel/UNIX versions of IBM's DB2 UDB
|
|
database family. Starting with an modest tool collection ("<emphasis>little helpers for daily work</emphasis>")
|
|
the long-term goal is to extend the project in a way that it becomes an integrated solution.
|
|
</para>
|
|
</blockquote>
|
|
The project provides tools that help DB2 administrators to understand the <filename>db2diag.log</filename> file,
|
|
display extensive information about current connections, and provide a comprehensive list of information about the
|
|
tablespaces and tablespace containers.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><ulink url="http://www.susa.net/db2ts">Full text searching with DB2 on Linux and SWISH++</ulink></term>
|
|
<listitem>
|
|
<para>
|
|
The <ulink url="http://www.ibm.com/sofware/data/db2/extenders/netsearch">Net Search Extender</ulink>,
|
|
formerly known as the Text Extender, allows you to perform full-text indexing and searches of databases
|
|
on DB2.</para>
|
|
<para>
|
|
Before Net Search Extender was available for DB2 for Linux, Kevin Sangalee put together an excellent page
|
|
on an alternative method of providing similar function. From the site:
|
|
<blockquote>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</blockquote>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</appendix>
|
|
|
|
<appendix id="gpl">
|
|
|
|
<title>GNU General Public License</title>
|
|
<indexterm><primary>GPL</primary></indexterm>
|
|
<indexterm><primary>GNU General Public License</primary></indexterm>
|
|
|
|
<blockquote>
|
|
<para>
|
|
Version 2, June 1991
|
|
</para>
|
|
<para>
|
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
</para>
|
|
<para>
|
|
Everyone is permitted to copy and distribute verbatim copies
|
|
of this license document, but changing it is not allowed.
|
|
</para>
|
|
</blockquote>
|
|
|
|
<sect1>
|
|
<title>Preamble</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
The precise terms and conditions for copying, distribution and
|
|
modification follow.
|
|
</para>
|
|
<sect2>
|
|
<title>
|
|
GNU GENERAL PUBLIC LICENSE
|
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
</title>
|
|
<para>
|
|
|
|
0. This License applies to any program or other work which contains
|
|
a notice placed by the copyright holder saying it may be distributed
|
|
under the terms of this General Public License. The "Program", below,
|
|
refers to any such program or work, and a "work based on the Program"
|
|
means either the Program or any derivative work under copyright law:
|
|
that is to say, a work containing the Program or a portion of it,
|
|
either verbatim or with modifications and/or translated into another
|
|
language. (Hereinafter, translation is included without limitation in
|
|
the term "modification".) Each licensee is addressed as "you".
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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:
|
|
</para>
|
|
<para>
|
|
|
|
a) You must cause the modified files to carry prominent notices
|
|
stating that you changed the files and the date of any change.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.)
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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:
|
|
</para>
|
|
<para>
|
|
|
|
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,
|
|
</para>
|
|
<para>
|
|
|
|
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,
|
|
</para>
|
|
<para>
|
|
|
|
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.)
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
This section is intended to make thoroughly clear what is believed to
|
|
be a consequence of the rest of this License.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
NO WARRANTY
|
|
</para>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
END OF TERMS AND CONDITIONS
|
|
</para>
|
|
</sect2>
|
|
<sect2>
|
|
<title>How to Apply These Terms to Your New Programs</title>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
|
|
<programlisting>
|
|
<emphasis>one line to give the program's name and a brief idea of what it does.</emphasis>
|
|
Copyright (C) <emphasis>yyyy name of author</emphasis>
|
|
|
|
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
|
|
|
|
</programlisting>
|
|
<para>
|
|
|
|
Also add information on how to contact you by electronic and paper mail.
|
|
</para>
|
|
<para>
|
|
|
|
If the program is interactive, make it output a short notice like this
|
|
when it starts in an interactive mode:
|
|
</para>
|
|
<programlisting>
|
|
Gnomovision version 69, Copyright (C) <emphasis>year name of author</emphasis>
|
|
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.
|
|
</programlisting>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
<para>
|
|
|
|
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:
|
|
</para>
|
|
<programlisting>
|
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
|
|
|
<emphasis>signature of Ty Coon</emphasis>, 1 April 1989
|
|
Ty Coon, President of Vice
|
|
</programlisting>
|
|
<para>
|
|
|
|
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.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
</appendix>
|
|
|
|
</article>
|