DB2 Universal Database for Linux, Version 5.2
Price: free download or $39 US (Personal Developer's Edition)
Reviewer: John Kacur
Among the impressive list of big-name databases now available for Linux is IBM's DB2. You can obtain DB2 by visiting IBM's web site. You can order a 60-day trial, DB2 Universal Database evaluation CD-ROM for free. There is also a Personal Developer's Edition which is not time-limited and is also free when downloaded. The downloads are rather large, however; the latest version's core download is 59MB, with separate downloads for extras such as PostScript documentation. If you don't have a fast connection to the Internet, you would be better off ordering the evaluation CD-ROM or pay for the Personal Developer's Edition CD-ROM, which costs approximately $39 US.
The version I tested was the IBM DB2 Universal Database for Linux, Version 5.2. (Version 6.1 is now available.) It consisted of the following products:
DB2 Universal Database Workgroup Edition
DB2 Client Application Enabler
DB2 Software Developer's Kit
as well as two books in HTML format directly on the CD-ROM:
DB2 Quick Beginnings for Linux
Installing and Configuring DB2 Clients
DB2 was developed under the 5.1 Red Hat distribution, but should work under any distribution with the following prerequisites.
Linux Kernel 2.0.35 and above—I tested on a 2.0.36 kernel, and it is reported to work on 2.2 kernel versions as well.
A pdksh shell is required to run the DB2 command-line processor.
IBM also recommends a minimum of 64MB of RAM and 128MB of swap space, as that is the minimum configuration they used for testing. I was able to function with the recommended 64MB on my server and only 32MB on my client node.
The installation process was relatively straightforward. You need to install with superuser privileges. First, mount the CD-ROM and change to the directory where it is mounted. Then enter the command ./db2setup to start the installer program. I recommend using the -d flag, which will generate a trace file called /tmp/db2setup.trc, which you can examine in case anything goes wrong. A db2setup.log file will also be generated in either case. My first attempt failed because the installation program assumed that /usr/sbin was in my superuser path. This might not be the case if you log in as a normal user and issue the su command. You can fix this by temporarily adding this directory to your path. Under bash, for example, you would issue the command:
The db2setup program is a menu-driven ncurses-type install. You should decided before hand which components you plan on installing, depending on whether you are installing a database server or just a client.
The simplest situation is when the client and server are both installed locally. You need to log on to the system as the user you created when you made a DB2 instance during the installation. This is most likely db2inst1, if you accepted the defaults. Move to the /home/db2inst1/sqllib directory and execute the . db2profile script if you are using a bash or pdksh shell. If you are using csh, then execute .db2cshrc. This will set up some environmental variables. You can append this script to your .profile file to run automatically upon login. If you haven't created a sample database during the install process, move to the /home/db2inst1/sqllib/misc directory and execute ./db2sampl, which will create a test database called “sample”. This can take a few minutes. Now you're ready to connect to the database and interact with it. One way to do this is to use the Command Line Processor. You can do this in Command Line Mode simply by prefacing all your commands with db2. An advantage to using this mode is you remain in your shell. You can also enter the Interactive Input Mode, by entering the db2. For example, in the Command Line Mode enter db2 connect to sample. If everything is configured correctly, you should see this on your console:
Database Connection Information Database server = DB2/LINUX 5.2.0 SQL authorization ID = DB2INST1 Local database alias = SAMPLE
If your client is connected to the server over TCP/IP, you can use a Java applet from your browser to access the database. To do so, you need to use the Command Line Processor to catalog the remote node for the client. After that, you can open the applet in your browser by selecting Open Page from the File Menu and choosing /home/db2inst1/java/prime/db2webcc.htm.
I've tried to provide enough information to get you started. One of the best things about this database is the huge amount of information IBM provides in the on-line books as well as at their web site. There were a few features not available in the 5.2 beta I tested, and these were documented in README.linux. Support from the big-name database providers removes yet another barrier to the widespread use of Linux in corporations, and DB2 on Linux looks like a winner.