Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose
Used to provide an interface to determine if the in-flight transaction on a now unavailable session committed and if the last call on that session successfully completed.
err_server_ahead: the server is ahead, so the transaction is an old transaction and must have already been committed.
ORA-14951
err_client_ahead: the client is ahead of the server. This can only happen if the server has been flashbacked or the ltxid is corrupted. The outcome cannot be determined.
A replay rule specifies if one or
more of the above rule targets are replayable or not replayable
dbms_app_cont.apply_replay_rule(
replayable IN BOOLEAN,
targets IN BINARY_INTEGER,
scope IN BINARY_INTEGER DEFAULT
SCOPE_CURRENT);
TBD
GET_LTXID_OUTCOME
Allows customer applications and third party application servers
to determine the transactional status of the last session when that session becomes unavailable
dbms_app_cont.get_ltxid_outcome(
client_ltxid IN RAW, -- LTXID for JDBC, LogicalTransactionId for ODP.net
committed OUT BOOLEAN,
user_call_completed OUT BOOLEAN);
Resets replay rules by clearing
locally defined rules in the desired scope and restore them to what's
inherited from the parent scope, or the service if it doesn't have a
parent scope
dbms_app_cont.reset_replay_rules(
targets IN BINARY_INTEGER DEFAULT NULL,
scope IN BINARY_INTEGER DEFAULT SCOPE_CURRENT);