| General Information |
| Library Note |
Morgan's Library Page Header
Application Container Utilities |
| Purpose |
Undocumented |
| AUTHID |
DEFINER |
| Dependencies |
| DBA_OBJECTS |
DBMS_STANDARD |
ROUTING_TABLES$ |
| DBA_USERS |
DBMS_UTILITY |
USER$ |
| DBMS_ASSERT |
OBJ$ |
|
|
| Documented |
No |
| First Available |
23ai |
| 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 23ai)  |
| 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 |
| |
GRANT_OR_REVOKE (new 23ai)  |
| Grant or revoke privileges to an object used in containers() |
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 23ai)  |
| Removes an entry from the Routing Table |
dbms_application.remove_router_entry(
schema_name IN VARCHAR2,
table_name IN VARCHAR2); |
| TBD |