7. Installing DB2 Express-C on Red Hat Enterprise Linux (RHEL) 4

Before proceeding, please ensure that you have read Section 5, “Installation considerations and planning” and Section 6, “Installing DB2 Express-C”.

These installation notes are based on a single-partition installation using the 2.6.9-55.0.2 EL kernel.

7.1. Installation notes

The installation on Red Hat Enterprise Linux 4 completed successfully, with no problems getting the GUI installer working, and no errors during the install. This smooth installation isn't surprising, given that RHEL 4 is an officially supported platform for DB2.

7.2. Post-installation notes

Basic test results (see Section 21, “Installation and operation test plan” for more details) were successful.

However, I found that after a reboot, the DB2 instance was not being restarted automatically, so clients could not connect to the database. To correct this problem, execute this command as the instance owner:

db2set DB2AUTOSTART=YES

This will ensure that the DB2 instance is initialized and ready to receive incoming connections after a reboot (intentional or otherwise).

Also, to allow DB2 access through the iptables-based firewall (which is enabled by default), it was necessary to modify the iptables firewall ruleset, which is kept in the /etc/sysconfig/iptables file. If you have enabled your firewall (using the iptables service), and you want to enable external connectivity to your DB2 server, you must open up TCP and UDP access to ports 523 and TCP access to any DB2 service ports. To make this work, add these rules to the iptablesfile (anywhere amongst the -j ACCEPT rules):

-A RH-Firewall-1-INPUT -p udp -m udp --dport 523 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 523 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 50000 -j ACCEPT

These rules were added directly to the iptables file to ensure that they persist in case of a system reboot. Note that you will need to add another new TCP rule to allow firewall access if you create any additional instances later.

You can use db2 get dbm cfg | grep SVCENAME to retrieve the service names and then check the /etc/services for the equivalent port values to open on your firewall.