TRANSACTIONTIMEOUT parameter to prevent an uncommitted Replicat target transaction from holding locks on target tables and consuming database resources unnecessarily. You can change the value of this parameter so that Replicat can work within existing application timeouts and other database requirements on the target.
TRANSACTIONTIMEOUT limits the amount of time that Replicat will hold a target transaction open if it has not received the end-of-transaction record for the last source transaction in that transaction. By default, Replicat groups multiple source transactions into one target transaction to improve performance, but it will not commit a partial source transaction and will wait indefinitely for that last record. The Replicat parameter
GROUPTRANSOPS controls the minimum size of a grouped target transaction. The range is 1–604800.
The following events could last long enough to trigger
Network problems prevent trail data from being delivered to the target system.
Running out of disk space on any system, preventing trail data from being written.
Collector abends (a rare event).
Extract abends or is terminated in the middle of writing records for a transaction.
An Extract data pump abends or is terminated.
There is a source system failure, such as a power outage or system crash.
How TRANSACTIONTIMEOUT Works
During normal operations, Replicat remembers the position in the trail of the beginning of the first source transaction in the current target transaction, in case the transaction must be abended and retried. When
TRANSACTIONTIMEOUT is enabled, Replicat also saves the position of the first record of the current source transaction and will use that position as the logical end-of-file (EOF) if
TRANSACTIONTIMEOUT is triggered.
TRANSACTIONTIMEOUT does the following:
Aborts the current target transaction
Repositions to the beginning of the first source transaction in the aborted target transaction.
Processes all of the trail records up to the logical end-of-file position (the beginning of the last, incomplete source transaction).
Commits the transaction at logical EOF point.
Waits for new trail data before processing any more trail records.
TRANSACTIONTIMEOUT can be triggered multiple times for the same source transaction, depending on the nature of the problem that is causing the trail data to arrive slowly enough to trigger
Detecting a TRANSACTIONTIMEOUT Condition
To determine whether or not Replicat is waiting for the rest of a source transaction when
TRANSACTIONTIMEOUT is enabled, issue the
SEND REPLICAT command with the
STATUS option. The following statuses indicate this condition:
Performing transaction timeout recovery Waiting for data at logical EOF after transaction timeout recovery
TRANSACTIONTIMEOUT n units
An integer that specifies the wait interval. Valid values are from one second to one week (seven days). This value should be greater than that set with the
EOFDELAYparameter in both the primary Extract and any associated data pumps.
One of the following:
S, SEC, SECS, SECOND, SECONDS, MIN, MINS, MINUTE, MINUTES, HOUR, HOURS, DAY, DAYS.
TRANSACTIONTIMEOUT 5 S