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