In a typical scenario, the DB2 Connect Enterprise Edition server machine A
would be in conversation with a SYSPLEX containing two DB2 for OS/390 hosts,
say machines B and C:
SYSPLEX machine B | SYSPLEX machine C |
LOCATION_NAME_B | LOCATION_NAME_C |
LU Address=NETB.LUB | LU Address=NETC.LUC |
Suppose that in this scenario an application now issues:
db2 connect to aliasb user xxxxxxx using xxxxxxxx
The connection to database LOCATION_NAME_B is established, and because SYSPLEX exploitation is enabled both for the DB2 Connect server and the DCS directory entry, DB2 for OS/390 identifies to DB2 Connect the network addresses for each SYSPLEX participant (NETB.LUB and NETC.LUC. DRDA4 protocols and message flows are used to return this information). Once an initial connection has been made, the returned list of addresses is cached at the DB2 Connect server. The list is either a list of SNA LU names (as in this example), or a list of IP addresses, but the list cannot contain a mixture of these address types, so that if the initial CONNECT is issued for an APPC node, only SNA addresses are returned, and if the initial CONNECT is issued for a TCP/IP node, then only IP addresses are returned.
The list of addresses provided by DB2 for OS/390 also includes priority information, including the number of connections for each network address, and the list is refreshed whenever a new connection is made by DB2 Connect. This additional information is used for load balancing purposes, as well as for fault tolerance.
If subsequently, the database connection to ALIASB fails, then an error message SQL30081N is issued, and the connection will be dropped. If a further connection request is received for ALIASB, DB2 Connect does the following: