5.1 Overview of the Transaction Service

One of the most fundamental features of the Oracle Tuxedo product is transaction management. Transactions are a means to guarantee that database transactions are completed accurately and that they take on all the ACID properties (atomicity, consistency, isolation, and durability) of a high-performance transaction. The Oracle Tuxedo system protects the integrity of your transactions by providing a complete infrastructure for ensuring that database updates are done accurately, even across a variety of resource managers.

The Oracle Tuxedo system uses the following:

  • The CORBA Services Object Transaction Service (OTS)

The CORBA environment in the Oracle Tuxedo product provides a C++ interface to the Object Transaction Service. The OTS is accessed through the TransactionCurrent environmental object. For information about using the TransactionCurrent environmental object, see Creating CORBA Client Applications in the Oracle Tuxedo online documentation.

OTS provides the following support for your business transactions:

  • Creates a global transaction identifier when a client application initiates a transaction.
  • Works with the TP Framework to track objects that are involved in a transaction and, therefore, need to be coordinated when the transaction is ready to commit.
  • Notifies the resource managers—which are, most often, databases—when they are accessed on behalf of a transaction. Resource managers then lock the accessed records until the end of the transaction.
  • Orchestrates the two-phase commit when the transaction completes, which ensures that all the participants in the transaction commit their updates simultaneously. It coordinates the commit with any databases that are being updated using the Open Group XA protocol. Almost all relational databases support this standard.
  • Executes the rollback procedure when the transaction must be stopped.
  • Executes a recovery procedure when failures occur. It determines which transactions were active in the machine at the time of the crash, and then determines whether the transaction should be rolled back or committed.