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
- Weapons of MaaS Deployment
- Ubuntu & SUSE & CentOS, Oh My!
- The Only Mac I Use
- Easy Watermarking with ImageMagick
- New Products
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- Promise Theory—What Is It?
- Tech Tip: Really Simple HTTP Server with Python
- RSS Feeds
- Returning Values from Bash Functions
Linux Journal Annual Archive
Editorial Advisory Panel
Thank you to our 2014 Editorial Advisors!
- Jeff Parent
- Brad Baillio
- Nick Baronian
- Steve Case
- Chadalavada Kalyana
- Caleb Cullen
- Keir Davis
- Michael Eager
- Nick Faltys
- Dennis Frey
- Philip Jacob
- Jay Kruizenga
- Steve Marquez
- Dave McAllister
- Craig Oda
- Mike Roberts
- Chris Stark
- Patrick Swartz
- David Lynch
- Alicia Gibb
- Thomas Quinlan
- Carson McDonald
- Kristen Shoemaker
- Charnell Luchich
- James Walker
- Victor Gregorio
- Hari Boukis
- Brian Conner
- David Lane