Multisite Updates
Multisite update, also known as distributed unit of work (DUOW) and two-phase commit, is a function that enables your applications to update data in multiple remote database servers with guaranteed integrity. Db2® database products provide comprehensive support for multisite updates.
For example, a banking transaction that involves the transfer of money from one account to another in a different database server. In such a transaction, it is critical that updates which implement debit operations on one account do not get committed unless updates required to process credits to the other account are committed as well. The multisite update considerations apply when data representing these accounts is managed by two different database servers.
The multi-site update support provided by Db2 database products is available for applications developed using regular SQL as well as for applications that use transaction processing monitors (TP monitors) that implement the X/Open XA interface specification. Examples of such TP monitors products include IBM® TxSeries CICS®, IBM Message and Queuing Series, IBM Component Broker Series, IBM San Francisco Project as well as Microsoft Transaction Server (MTS), BEA Tuxedo and several others. There are different setup requirements depending on whether native SQL multisite update or TP monitor multisite update is used.
XA connections using IBM Data Server Driver Package against a z/OS® server are supported. However, XA connections against a System i server are not supported. For details, see the topic about IBM data server driver restrictions.
Both the native SQL and TP monitor multisite update programs must be precompiled with the
CONNECT 2 SYNCPOINT TWOPHASE
options. Both can use the SQL Connect statement to
indicate which database they want to be used for the SQL statements that follow. If there is no TP
monitor to tell Db2 it is going to
coordinate the transaction (as indicated by Db2 receiving the
xa_open
calls from the TP monitor to establish a database connection), then the
Db2 software
will be used to coordinate the transaction.
When using TP monitor multisite update, the application must request
commit or rollback by using the TP monitor's API, for example CICS
SYNCPOINT, MTS SetAbort()
. When using native SQL multisite
update, the normal SQL COMMIT
and ROLLBACK
must
be used.
TP monitor multisite update can coordinate a transaction that accesses both Db2 resource managers and resource managers that are not part of Db2, such as Oracle, Informix® or SQLServer. Native SQL multisite update is used with Db2 servers only.
- Db2 Version 8 or later
- Db2 for z/OS Version 7 or later
- IBM Db2 for IBM i
A distributed transaction can update any mix of supported database servers. For example, your application can update several tables in a Db2 database on Windows, a Db2 for z/OS database, and a Db2 for IBM i database, all within a single transaction.