Using global transactions with Oracle Database
To participate in global transactions, we need a transaction management server that we can specify in the ubbconfig
GROUP
configuration. So far, we have used the TMS
dummy server and TMS_QM
for Tuxedo queues. These servers come bundled with Tuxedo. For the Oracle Database, we have to build one ourselves. Tuxedo provides the buildtms
tool for this purpose:
export ORACLE_HOME=/usr/lib/oracle/19.9/client64 buildtms -v -r Oracle_XA -o TMS_ORA
This command will create a new server named TMS_ORA
. The -v
command-line parameter will show you what this command does under the hood by using configuration from the $TUXDIR/udataobj/RM
file.
The transaction management server we just created needs additional privileges for the database user. We have to connect as an administration once again, as follows:
sqlplus sys/Oradoc_db1@//host.docker.internal:32769/ORCLPDB1.localdomain as sysdba
Then we grant the SELECT
privilege on the dba_pending_transactions...