From: Ian on
On 4/14/10 5:43 AM, Jayesh Thakrar wrote:
> External connections use the appropriate IP address and port #
> combination to connect to the node of their choice, which then becomes
> the co-ordinator node. You will find the port #s for each partition in
> your /etc/services file (which ofcourse you or somebody else may have
> setup/configured).

This is not really accurate. /etc/services has 2 sets of ports for a
DPF instance: The TCPIP listener port (used by clients for connecting
to the database), and the FCM ports, which are used by the fast
communications manager to allow each database partition to communicate
with the other database partitions.

For example, the following entries in /etc/services for the instance
`db2inst1`:

db2cdb2inst1 50000/tcp # TCPIP Listener
DB2_db2inst1 60000/tcp # Start of FCM port range
DB2_db2inst1_END 60004/tcp # End of FCM port range


Presumably the instance SVCENAME configuration parameter has been set
to use 'db2cdb2inst1' or 50000, but this is not a hard requirement
(i.e., SVCENAME can be set to anything regardless of what is or is
not in /etc/services -- not that it should be).

The other two entries (DB2_db2inst1 and DB2_db2inst1_END) specify
the port range that the FCM uses. Clients CAN NOT connect to a
database using these ports. These two entries are REQUIRED for a
DPF instance and must have the name DB2_<instance> and
DB2_<instance>_END. If they do not exist then the instance will
not start.

You may also see additional entries for the other ports that fall
between the first and last port, as in:

DB2_db2inst1 60000/tcp # Start of FCM port range
DB2_db2inst1_1 60001/tcp # DB2 FCM
DB2_db2inst1_2 60002/tcp # DB2 FCM
DB2_db2inst1_3 60003/tcp # DB2 FCM
DB2_db2inst1_END 60004/tcp # End of FCM port range

These extra ports are not required, although it's a good practice to
put them there, so anyone looking at /etc/services can tell that DB2
is reserving the ports 60000, 60001, ... 60004.


> I don't believe there is a command (I haven't looked hard) that tell
> you an app's co-ordinator node.

The application snapshot will tell you an application's coordinator
partition.


$ db2 get snapshot for application agentid 12
....
Coordinating database partition number = 0
....