These installation notes are based on a single-partition installation using the 2.6.20-16-generic kernel.
Note that IBM does not yet officially support this distribution for DB2 9. Any problems you encounter using this distribution must be replicated on a supported distribution before IBM Support can help you resolve the issue.
Also be aware that the PowerPC architecture is no longer supported in Ubuntu 7.04 and later.
Since you cannot log in as root directly with an Ubuntu system, this DB2 installation is run as the default user created during Ubuntu setup (i.e. the regular user account with 'sudo' capability).
There are two ways of installing DB2 Express-C 9 on Ubuntu. The harder of the two methods is to use the default DB2 db2setup, and then make adjustments to the Ubuntu system afterwards to handle the slight differences of Ubuntu's Debian-based packaging system. For reasons of clarity and brevity, I will omit the instructions for doing it this more difficult way; however, if you would like to see these instructions, please send me an email (db2howto@gmail.com) and I will pass them along.
The easy way to install DB2 Express-C on Ubuntu 7.04 is to download the DB2 Express-C Debian package file and then use the Ubuntu package installer. This way, almost everything is done for you, from installation to configuration. Here's how to do it:
Use any FTP client software and connect to: ftp.software.ibm.com/software/data/db2/express/latest_debs
Download db2exc_9.1.2-1_i386.deb (or the latest equivalent .deb file)
Once the download is complete, run this command:
sudo gdebi-gtk db2exc_9.1.2-1_i386.deb |
Click "Install Package"
Click "Close" once the package has been installed
After installation by Synaptic, there are a few steps required to get DB2 up and running smoothly.
Usable passwords for the DB2 default accounts.
To actually log in or connect to the DB2 databases and servers using the default DB2 users (db2inst1, db2fenc1, and dasusr1), you need to modify the initial passwords. To do this, open a terminal (as the regular user), and type sudo su - to get root access. Then run these three commands:
passwd db2inst1 passwd db2fenc1 passwd dasusr1 |
Change the default shell for the DB2 default accounts.
The default command shell for the DB2 accounts is set as just a plain old /bin/sh. To get the handy features of the BASH shell, you'll want to change it for these three accounts. In the same root access command window, open the /etc/passwd file in your favorite text editor and change:
db2inst1:x:1001:1001::/home/db2inst1:/bin/sh db2fenc1:x:1002:1002::/home/db2fenc1:/bin/sh dasusr1:x:1003:1003::/home/dasusr1:/bin/sh |
db2inst1:x:1001:1001::/home/db2inst1:/bin/bash db2fenc1:x:1002:1002::/home/db2fenc1:/bin/bash dasusr1:x:1003:1003::/home/dasusr1:/bin/bash |
Enable DB2 service ports for remote connections.
To enable outside users to get to your DB2 databases, you'll need to set up the DB2 service port, as it is not configured by the Synaptic installation process.
As the regular user, run sudo vi /etc/services and add this line to the end of the file:
db2c_db2inst1 50001/tcp # IBM DB2 instance - db2inst1 |
db2 update dbm cfg using SVCENAME db2c_db2inst1 db2set DB2COMM=tcpip db2stop db2start |
Enable remote DB2 administration connections.
To allow remote administration of your DB2 server, you'll need to set up the DB2 DAS connection port, as it is not configured by the Synaptic installation process.
As the regular user, run sudo vi /etc/services and add this line to the end of the file:
ibm-db2 523/tcp # IBM DB2 DAS ibm-db2 523/udp # IBM DB2 DAS |
db2admin stop db2admin start |
Correct instance restart problem
One issue of note with the Ubuntu 7.04 installation is that the DB2 instances do not properly restart after a system reboot, and setting DB2AUTOSTART=YES does not resolve the issue.
One workaround to this problem was suggested in part by IgorM on the DB2 Express-C forum; and that is to create and execute your own DB2 instance start up script.
To begin with, login and create a new script file using the command:
sudo vi /etc/init.d/db2 |
#!/bin/sh # # Script to start DB2 instances on bootup. # set -e . /lib/lsb/init-functions case "$1" in start) /opt/ibm/db2exc/V9.1/instance/db2istrt ;; stop|restart|reload) ;; esac exit 0 |
Note that the path to the executable is /opt/ibm/db2exc/V9.1/, the default installation path from the DB2 .deb file. If your installation put the DB2 files elsewhere, be sure to adjust this script as required to find the /instance/ directory.
Once the script has been saved, give the file the proper ownership and permissions:
chown root.root db2 chmod 755 db2 |
Now, to initialize this script so that it starts at boot time, install the Boot-Up Manager with this command:
sudo apt-get bum |
After Synaptic downloads and installs the application file, you can run the program by clicking System -> Administration -> BootUp-Manager. Then click on the "Activate" checkbox beside the db2 entry. Click Apply and say "No" to the dialog that asks if you want to start the service now. Click Quit. The script will now run at your next boot and start up all DB2 instances.
The only other way to resolve the problem is to manually start the instances after a reboot with db2start (as the instance owner) and db2admin start (as the DAS owner). Once DB2 Express-C has passed the validation process for Ubuntu 7.04, this instance start issue will disappear.