The gateway supports the following transaction capabilities:
By default, the gateway runs in COMMIT_CONFIRM transaction mode. When the VSAM, IMS, or Adabas database is updated by a transaction, the gateway becomes the commit point site. The Oracle database server commits the unit of work in the VSAM, IMS, or Adabas database after verifying that all Oracle databases in the transaction have successfully prepared the transaction. Only one gateway can participate in an Oracle global transaction as the commit point site.
To enable the COMMIT_CONFIRM transaction mode, create a recovery account and password and create a log table. The log table, called HS_TRANSACTION_LOG, records global transactions.
Task 1: Create a Recovery Account and Password
For the gateway to recover distributed transactions, a recovery account and password must be set up in the VSAM, IMS, or Adabas database. By default, both the user name of the account and the password are RECOVER. The name of the account can be changed with the gateway initialization parameter HS_FDS_RECOVERY_ACCOUNT. The account password can be changed with the gateway initialization parameter HS_FDS_RECOVERY_PWD.
Note: Oracle Corporation recommends that you do not use the default value RECOVER for the user name and password. Moreover, storing plain text as user name and password in the initialization file is not a good security policy. There is now a utility called tg4pwd that should be used for encryption.
- Set up a user account in the VSAM, IMS, or Adabas database. Both the user name and password must be a valid VSAM, IMS, or Adabas user name and password.
- In the initialization parameter file, set the following gateway initialization parameters:
- HS_FDS_RECOVERY_ACCOUNT to the user name of the VSAM, IMS, or Adabas user account you set up for recovery.
- HS_FDS_RECOVERY_PWD to the password of the VSAM, IMS, or Adabas user account you set up for recovery.
Task 2: Create the Transaction Log Table
When configuring the gateway for global transactions, you must create a table must in the VSAM, IMS, or Adabas database for logging transactions. The gateway uses the transaction log table to check the status of failed transactions that were started at the VSAM, IMS, or Adabas database by the gateway and registered in the table.
The table HS_TRANSACTION_LOG consists of two columns, GLOBAL_TRAN_ID, data type CHAR(64) NOT NULL, and TRAN_COMMENT, data type CHAR(255).
You can use another name for the log table, other than HS_TRANSACTION_LOG, by specifying the other name using the HS_FDS_TRANSACTION_LOG initialization parameter.
Note: Updates to the transaction log table cannot be part of an Oracle distributed transaction.
Note: The information in the transaction log table is required by the recovery process and must not be altered. The table must be used, accessed, or updated only by the gateway.
Create the transaction log table in the user account you created in task 1. Because the transaction log table is used to record the status of a gateway transaction, the table must reside at the database where the VSAM, IMS, or Adabas update takes place. Also, the transaction log table must be created under the owner of the recovery account.
Note: To utilize the transaction log table, users of the gateway must be granted privileges on the table.