Oracle DBMS_APPLICATION
Version 23c

General Information
Library Note Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling complimentary technical Workshops on Database Security for the first 30 Oracle Database customers located anywhere in North America, EMEA, LATAM, or APAC that send an email to asra_us@oracle.com. Request a Workshop for your organization today.
Application Container Utilities
Purpose Undocumented
AUTHID DEFINER
Dependencies
DBA_OBJECTS DBMS_ASSERT OBJ$
DBA_USERS DBMS_STANDARD ROUTING_TABLES$
DBMS_APPLICATION_INFO DBMS_UTILITY USER$
Documented No
First Available 23.1
Pragmas PRAGMA SUPPLEMENTAL_LOG_DATA(default, UNSUPPORTED);
Security Model Owned by SYS with EXECUTE granted to the EXECUTE_CATALOG_ROLE role.
Source {ORACLE_HOME}/rdbms/admin/dbmsappcon.sql
{ORACLE_HOME}/rdbms/admin/prvtappcon.plb
Subprograms
 
ADD_ROUTER_ENTRY (new 23c)
Adds an entry to the Routing Table. The  Routing Table is used in a Leader PDB to redirect queries and conventional DML statements to Follower PDBs. dbms_application.add_router_entry(
schema_name IN VARCHAR2,
table_name  IN VARCHAR2,
pdb_guid    IN VARCHAR2);
SELECT name, guid FROM v$containers;

NAME        GUID
----------- --------------------------------
CDB$ROOT    52448234712340B69F274BCC790ECFE0
PDB$SEED    6C623969C6C64F8FBFD01F4C30430387
PDBDEV      A2BCC683DA854B11ADAE0CF1C0E6B760


exec dbms_application.add_router_entry('SH','SALES','A2BCC683DA854B11ADAE0CF1C0E6B760');

PL/SQL procedure successfully completed.

desc routing_table$
Name                 Null?  Type
-------------------- ------ -------------
schema                      VARCHAR2(128)
object_name                 VARCHAR2(128)
guid                        VARCHAR2(32)
flags                       NUMBER
target_database_ocid        VARCHAR2(512)


SELECT * FROM routing_table$

SCHEMA  OBJECT_NAME  GID                               FLAGS TARGET_DATABASE_OCID
------- ------------ -------------------------------- ------ ---------------------
SH      SALES        A2BCC683DA854B11ADAE0CF1C0E6B760
 
BEGIN_APPLICATION (new 23c)
In a leader PDB, used to 'begin' (a) installation of a new leader application or (b) to upgrade a pre-installed leader application dbms_application.begin_application(app_name IN VARCHAR2);
TBD
 
END_APPLICATION (new 23c)
In a leader PDB, used to 'end' (a) installation of a new leader application or (b) to upgrade of pre-installed leader application dbms_application.end_appllication(app_name IN VARCHAR2);
TBD
 
GRANT_OR_REVOKE (new 23c)
Grant or revoke privileges to an object used in containers()

VULNERABILITY ALERT
dbms_application.grant_or_revoke(
action       IN VARCHAR2,
object_owner IN VARCHAR2,
object_name  IN VARCHAR2);
exec dbms_application.grant_or_revoke('GRANT', 'SH', 'SALES');
 
REMOVE_ROUTER_ENTRY (new 23c)
Removes an entry from the Routing Table dbms_application.remove_router_entry(
schema_name IN VARCHAR2,
table_name  IN VARCHAR2);
TBD
 
SYNC_APPLICATION (new 23c)
Undocumented dbms_application.sync_application(app_name IN VARCHAR2);
TBD

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_PDB
DBMS_PDB_ALTER_SHARING
DBMS_PDB_APP_CON
DBMS_PDB_EXEC_SQL
DBMS_ROUTER_ADMIN
What's New In 21c
What's New In 23c

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-2023 Daniel A. Morgan All Rights Reserved
  DBSecWorx