| General Information |
| Library Note |
Morgan's Library Page Header
|
| Purpose |
The Oracle in-database router is used in a Router to redirect queries and conventional DML statements to target PDBs. |
| AUTHID |
DEFINER |
| Dependencies |
| DBA_OBJECTS |
DBMS_PDB_LIB |
ROUTING_TABLE$ |
| DBA_TAB_PARTITIONS |
DBMS_STANDARD |
USER$ |
| DBA_USERS |
OBJ$ |
V$PDBS |
| DBMS_ASSERT |
|
|
|
| Documented |
No |
| Exceptions |
| Error Code |
Reason |
| ORA-20010 |
Common or Oracle Maintained schema objects cannot be routed |
| ORA-20012 |
Target Database OCID <ocid_number> does not exist |
|
| 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/dbmsrouter.sql
{ORACLE_HOME}/rdbms/admin/prvtrouter.plb |
| Subprograms |
|
| |
ADD_MAP_ENTRY (new 23ai)  |
| Add a database ocid as a partition of the topology map table |
dbms_router_admin.add_map_entry(database_ocid IN VARCHAR2); |
| TBD |
| |
ADD_ROUTER_ENTRY (new 23ai)  |
Add an entry to the routing table
Compare this proc to the one in DBMS_APPLICATION. The value required for database_ocid is not known at this time |
dbms_router_admin.add_router_entry(
object_owner IN VARCHAR2,
object_name IN VARCHAR2,
database_ocid IN VARCHAR2); |
exec dbms_router_admin.add_router_entry('UWCLASS', 'TEST', 3);
*
ORA-20010 Common or Oracle Maintained schema objects cannot be routed |
| |
DISABLE_ROUTER (new 23ai)  |
| Disable the router |
dbms_router_admin.disable_router; |
exec dbms_router_admin.disable_router;
PL/SQL procedure successfully completed. |
| |
ENABLE_ROUTER (new 23ai)  |
| Enable the router |
dbms_router_admin.enable_router; |
exec dbms_router_admin.enable_router;
PL/SQL procedure successfully completed. |
| |
REMOVE_MAP_ENTRY (new 23ai)  |
| Removes a database ocid from topology map table |
dbms_router_admin.remove_map_entry(database_ocid IN VARCHAR2); |
| TBD |
| |
REMOVE_ROUTER_ENTRY (new 23ai)  |
| Remove an entry from the routing table |
dbms_router_admin.remove_router_entry(
object_owner IN VARCHAR2,
object_name IN VARCHAR2); |
| TBD |