Try OpenEdge Now
skip to main content
SQL Development
Working with JTA Transactions : Planning for JTA transaction support : JTA transactions and database resource planning
 

JTA transactions and database resource planning

JTA transactions affect the way you structure and use your database as well as monitor its performance. The following issues must be considered when planning for JTA transaction support:
*Space allocation — The transactional requirements of JTA demand more usage of OpenEdge database before-image (BI) and after-image (AI) files. Therefore, BI and AI files should be increased in size by 30 percent to accommodate JTA transactions.
The database needs to re-establish any JTA transactions which have reached a prepared state after a shutdown or crash. Database BI clusters are not reused until the prepared JTA transactions are committed or rolled back. Should this condition persist, BI files can grow considerably.
*Transaction table usage — The transaction table is increased by the Maximum Number of JTA Transactions (-maxxids) startup parameter. A JTA-enabled database uses more shared memory for the expanded transaction table and an additional table which holds information specific to each JTA transaction.
*Size of the Xid Table — JTA-enabled databases make use of the -maxxids startup parameter. This parameter is used to size both the transaction table and the Xid table which stores information specific to each active JTA transaction. The default value for the parameter is 100 for JTA-enabled databases. The database engine ensures that the number of JTA transactions is not exceeded by the limit specified by the -maxxids startup parameter. This also prevents JTA transactions from monopolizing the entire transaction table. Any JTA transactions left in the prepared state retain their locks until the transactions are completed or rolled back.
*Size of the Lock Table — JTA transactions do not use more locks than conventional transactions, but they can hold locks for longer periods. As a result, this might require a larger value for the Lock Table Entries (-L) startup parameter.