Oracle DBMS_APP_CONT
Version 19.3

General Information
Library Note Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have? Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
Purpose Provides an interface to determine if the in-flight transaction on a now unavailable session committed or not, and if the last call on that session completed or not.
AUTHID DEFINER
Constants
Name Data Type Value
General
COMMITTED NUMBER(1) 2
NOT_COMMITTED NUMBER(1) 1
Planned Maintenance test types
ENDREQUEST_TEST BINARY_INTEGER 2
PING_TEST BINARY_INTEGER 1
SQL_TEST BINARY_INTEGER 0
Constants
Name Data Type Value
  NUMBER(1) 2
  NUMBER(1) 1
Dependencies
DBMS_APP_CONT_LIB    
Documented Yes
Exceptions
Error Code Reason
-14950 err_server_ahead: the server is ahead, so the transaction is an old transaction and must have already been committed.
-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.
-14952 err_general_failure
First Available 12.1.0
Security Model Owned by SYS with EXECUTE granted to the DBA role
Source {ORACLE_HOME}/rdbms/admin/dbmsappcont.sql
Subprograms
 
ADD_SQL_CONNECTION_TEST (new 19c)
Adds a SQL connection test with or without a service name. These tests will be used by the server to drain sessions during planned maintenance. dbms_app_cont.add_sql_connection_test(
connection_test IN VARCHAR2,
service_name    IN VARCHAR2 DEFAULT '');
exec dbms_app_cont.add_sql_connection_test('UWCNXTESTS', 'PDBDEV');
 
DELETE_SQL_CONNECTION_TEST (new 19c)
Removes a SQL connection test with or without a service name dbms_app_cont.delete_sql_connection_test(
connection_test IN VARCHAR2,
service_name    IN VARCHAR2 DEFAULT '');
exec dbms_app_cont.delete_sql_connection_test(dbms_app_cont.sql_test);
 
DISABLE_CONNECTION_TEST (new 19c)
Disable a connection test dbms_app_cont.disable_connection_test(
connection_test_type IN BINARY_INTEGER,
connection_test      IN VARCHAR2 DEFAULT '',
service_name         IN VARCHAR2 DEFAULT '');
dbms_app_cont.disable_connection_test(dbms_app_cont.endrequest_test);
 
DISABLE_FAILOVER (new 19c)
disables failover features on the given service dbms_app_cont.disable_failover(service_name IN VARCHAR2);
exec dbms_app_cont.disable_failover('PDBDEV');
 
ENABLE_AC (new 19c)
Enables Application Continuity (AC) for the named service dbms_app_cont.enable_ac(
service_name     IN VARCHAR2,
failover_restore IN VARCHAR2 DEFAULT 'LEVEL1');
exec dbms_app_cont.enable_ac('PDBDEV', 'LEVEL1');
 
ENABLE_CONNECTION_TEST (new 19c)
Enables a connection test dbms_app_cont.enable_connection_test(
connection_test_type IN BINARY_INTEGER,
connection_test      IN VARCHAR2 DEFAULT '',
service_name         IN VARCHAR2 DEFAULT '');
exec dbms_app_cont.enable_connection_test(dbms_app_cont.ping_test, 'UWCNXTEST', 'PDBDEV');
 
ENABLE_TAC (new 19c)
Enables Transparent Application Continuity (TAC) for the named service dbms_app_cont.enable_tac(
service_name     IN VARCHAR2,
failover_restore IN VARCHAR2 DEFAULT 'AUTO');
exec dbms_app_cont.enable_tac('PDBDEV', 'AUTO');
 
ENABLE_TAF (new 19c)
Enables Transparent Application Failover for the named service dbms_app_cont.enable_taf(
service_name     IN VARCHAR2,
failover_type    IN VARCHAR2 DEFAULT 'SELECT',
failover_restore IN VARCHAR2 DEFAULT 'NONE');
exec dbms_app_cont.enable_taf('PDBDEV', 'SESSION');
 
ENABLE_TG (new 19c)
enables Transaction Guard (TG) on the given service dbms_app_cont.enable_tg(service_name IN VARCHAR2);
exec dbms_app_cont.enable_tg('PDBDEV');
 
GET_LTXID_OUTCOME
Lets customer applications and third party application servers 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);
TBD
 
SET_LOAD_BALANCING_GOAL (new 19c)
Sets Runtime Load Balancing (RLB) goal for the given service dbms_app_cont.set_load_balancing_goal(
service_name IN VARCHAR2,
goal         IN VARCHAR2 DEFAULT 'NONE');
exec dbms_app_cont.set_load_balancing_goal('PDBDEV', 'CLB_GOAL_SHORT');

Related Topics
Built-in Functions
Built-in Packages
DBMS_APP_CONT_PRVT
DBMS_WRR_INTERNAL
What's New In 18c
What's New In 19c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2019 Daniel A. Morgan All Rights Reserved
DBSecWorx