Pour prendre un exemple classique, le serveur A DB2 Connect Enterprise
Edition converse avec un SYSPLEX qui contient deux hôtes DB2 pour OS/390,
appelées machines B et C:
SYSPLEX machine B | SYSPLEX machine C |
LOCATION_NAME_B | LOCATION_NAME_C |
LU Address=NETB.LUB | LU Address=NETC.LUC |
Supposons maintenant qu'une application lance la commande :
db2 connect to aliasb user xxxxxxx using xxxxxxxx
La connexion à la base de données LOCATION_NAME_B est établie et, du fait que l'exploitation SYSPLEX est active à la fois pour le serveur DB2 Connect et pour l'entrée d'annuaire DCS, DB2 pour OS/390 identifie auprès de DB2 Connect l'adresse réseau de chaque participant SYSPLEX (NETB.LUB et NETC.LUC). Les protocoles DRDA4 et les flux de message sont utilisés pour renvoyer cette information. Une fois la connexion initiale établie, la liste des adresses renvoyées est placée dans la mémoire cache du serveur DB2 Connect. Cette liste est soit une liste de noms LU SNA (comme dans cet exemple), soit une liste d'adresses IP. La liste ne peut pas contenir à la fois ces deux types d'adresses. Si la commande CONNECT est lancée pour un noeud APPPC, seules les adresses SNA sont renvoyées. De même, si la commande CONNECT est lancée pour un noeud TCP/IP, seules les adresses IP sont renvoyées.
La liste des adresses fournie par DB2 pour OS/390 comprend également des informations de priorité, y compris le nombre de connexions pour chaque adresse réseau. Cette liste est régénérée chaque fois que DB2 Connect établit une nouvelle connexion. Ces informations supplémentaires sont utilisées pour l'équilibrage de charge et la tolérance de pannes.
Si, de ce fait, la connexion de la base de données à ALIASB échoue, un message d'erreur SQL30081N s'affiche et la connexion est interrompue. Si une nouvelle demande de connexion à ALIASB est reçue, DB2 Connect effectue les opérations suivantes :