Modifying the $DB2InstHome/sqllib/db2nodes.cfg file for DB2

DB2 uses the $DB2InstHome/sqllib/db2nodes.cfg file during failover from one node to another.

To modify the $DB2InstHome/sqllib/db2nodes.cfg file for non-MPP versions

  1. Open the $DB2InstHome/sqllib/db2nodes.cfg file.

  2. Create an entry for each database partition.

  3. For IPv4, assign the virtual IP address as the hostname, for example for this step and the previous step:

    0 virtualhostname 0
    1 virtualhostname 1

    Note that the virtualhostname corresponds to the virtual IP address in the /etc/hosts file. Make sure that the virtual IP address is up and works.

  4. For IPv6, DB2 has a limitation that the hostname entries in db2nodes.cfg need to correspond to the hostname of the node. For example, if the hostname is sysA-v6, db2nodes.cfg should contain sysA-v6.

    With VCS, use virtual hostnames. When the service group fails over to another node, the virtual IP address is brought up on the target node. As a workaround for the limitation where the hostname entries in db2nodes.cfg need to correspond to the hostname of the node, you can use something similar to the following configuration.

    On each node, create a /local/$DB2InstHome/db2nodes.cfg file with same permission as that of $DB2InstHome and create a symbolic link to this file from $DB2InstHome/sqllib/db2nodes.cfg.

    # mkdir -p /local/$DB2InstHome/
    # ln -s /local/$DB2InstHome/db2nodes.cfg \
    $DB2InstHome/sqllib/db2nodes.cfg

    The path /local/$DB2InstHome/db2nodes.cfg is local to each system. Enter the IPv6 hostname in the/local/$DB2InstHome/db2nodes.cfg on each node.

    For example, on nodes sysA-v6 and sysB-v6, enter the following in their respective db2nodes.cfg files.

    • On sysA-v6:

      0 sysA-v6 0
    • On sysB-v6:

      0 sysB-v6 0

To modify the $DB2InstHome/sqllib/db2nodes.cfg file for MPP versions