Two-phase commit for TCP/IP clients

Db2 supports two types of two-phase commit for TCP/IP clients.

  • The DRDA client coordinates the two-phase commit. If a failure occurs during the commit process, Db2 might need to resynchronize with the DRDA client.
  • The DRDA client gives responsibility for the resynchronization to Db2. The client sends Db2 a list of server LOCATION names, domain names, and resync IP addresses that are part of the client's unit of work. Db2 Connect uses this support by allowing Db2 to act as its Transaction Manager Database (TM_DATABASE), thereby eliminating the need to have a local database to manage the two-phase commit process. If a failure occurs during the two-phase commit process, Db2 might need to resynchronize with one or more of the server locations sent by the client.

Db2 uses the port specified on the RESYNC PORT field of installation panel DSNTIP5 for two-phase commit resynchronization. Db2 begins resynchronization using the partner's IP address and LOCATION name, and the RESYNC PORT obtained at the time of initial connection. If the partner's IP address changed, the resynchronization fails. For example, if the partner was Db2 for z/OS, the IP address can change when the automatic restart manager (ARM) restarts a data sharing member on a different CPC. The IP address can also change when an z/OS® adapter fails and virtual IP addresses were not used.

If the IP address fails, Db2 uses the partner's domain name to determine the IP address for resynchronization. DRDA requesters receive the port number and domain name to be used for two-phase commit resynchronization from the server during DRDA connect processing.

No CDB definition is required to do resynchronization.