Oracle DBMS_APP_CONT
Version 19.2.0.1

General Information
Library Note Morgan's Library Page Header
For how many years have you been working with physical servers that are starving your database of the memory necessary to deploy important new performance features such as the Result Cache, Memoptimize Pool, In-Memory Aggregation, In-Memory Column Store, and Full Database Caching? Too long? Contact me to learn how to improve all queries ... not just some queries.
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 18cR3
What's New In 19cR2

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