Oracle DBMS_UMF_INTERNAL
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose Universal Message Format, UMF, Provides an interface for deploying the Remote Management Framework (RMF) for an Oracle Database. The RMF is used for collecting Oracle Database performance statistics. It provides functions to create and manage UMF topologies. Specifically, it provides calls to create/drop topologies and to modify a topology by adding/removing nodes and links. It also provides calls to manage services (such as AWR) running on nodes and to view/validate a topology. API calls for a given topology must be executed on the target for that topology.
AUTHID DEFINER
Dependencies
DBA_UMF_SERVICE DBMS_UMF_LIB UMF$_SERVICE
DBMS_ASSERT DBMS_UMF_PROTECTED UMF$_SERVICE_XML
DBMS_DATA_GUARD_INTERNAL UMF$_LINK UMF$_TOPOLOGY
DBMS_STANDARD UMF$_LINK_XML UMF$_TOPOLOGY_XML
DBMS_SYS_ERROR UMF$_REGISTRATION XMLTYPE
DBMS_UMF UMF$_REGISTRATION_XML  
Documented Yes
Exceptions
Error Code Reason
ORA-15771 parameter [state_name] is invalid: [string]
ORA-15773 parameter [<string_name>] does not allow NULL values
ORA-20501 Remote UMF is disabled
ORA-20504 Service name <string_name> is not valid
ORA-20511 Invalid UMF Object Type
First Available 12.2
Security Model Owned by SYS with EXECUTE granted to the SYSUMF_ROLE role.
Source {ORACLE_HOME}/rdbms/admin/prvsumfi.plb
Subprograms
 
ACQUIRE_TOPOLOGY_LOCK
Acquire a  topology lock
Overload 1
dbms_umf_internal.acquire_topology_lock(xmode IN NUMBER);
TBD
Overload 2 dbms_umf_internal.acquire_topology_lock(xmode IN BOOLEAN);
exec dbms_umf_internal.acquire_topology_lock(TRUE);

PL/SQL procedure successfully completed.
 
BUILT_TARGET_XML
Undocumented dbms_umf_internal.build_target_xml;
exec dbms_umf_internal.build_target_xml;

PL/SQL procedure successfully completed.
 
CHECK_BOOLEAN
Verifies that a string value is either 'TRUE' or 'FALSE' dbms_umf_internal.check_boolean(value IN VARCHAR2);
exec dbms_umf_internal.check_boolean('TEST');
     *
ERROR at line 1:
ORA-20509: Value must be "TRUE" or "FALSE"


dbms_umf_internal.check_boolean('TRUE');

PL/SQL procedure successfully completed.
 
CHECK_NODE_ID
Undocumented dbms_umf_internal.check_node_id(
node_id       IN  NUMBER,
node_name     OUT VARCHAR2,
topology_name OUT VARCHAR2,
link_name     OUT VARCHAR2,
version       OUT NUMBER);
TBD
 
CHECK_NODE_REGISTRATION
Undocumented dbms_umf_internal.check_node_registration(
topology_name IN  VARCHAR2,
node_name     IN  VARCHAR2,
node_id       OUT NUMBER,
link_name     OUT VARCHAR2,
version       OUT NUMBER);
RETURN NUMBER;
TBD
 
CHECK_NUMBER_NOT_NULL
Undocumented dbms_umf_internal.check_number_not_null(
value IN NUMBER,
name  IN VARCHAR2);
exec dbms_umf_internal.check_number_not_null(42, 'TEST');

DECLARE
 testval NUMBER;
BEGIN
  dbms_umf_internal.check_number_not_null(testVal, 'TEST');
END;
/
*
ERROR at line 1:
ORA-15773: parameter [TEST] does not allow NULL values
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_UMF_INTERNAL", line 49
 
CHECK_UMF_NAME
Undocumented dbms_umf_internal.check_umf_name(
obj_name   IN VARCHAR2,
obj_type   IN VARCHAR2,
allow_null IN BOOLEAN);
exec dbms_umf_internal.check_umf_name('UMF$_TOPOLOGY', 'TABLE', FALSE);
     *
ERROR at line 1:
ORA-20511: Invalid UMF Object Type
 
CHECK_UMF_REMOTE_ENABLED
Undocumented dbms_umf_internal.check_umf_remote_enabled;
exec dbms_umf_internal.check_umf_remote_enabled;
     *
ERROR at line 1:
ORA-20501: Remote UMF is disabled
 
GET_GLOBAL_DBLINK_NAME
Undocumented dbms_umf_internal.get_global_dblink_name(dblink_name IN VARCHAR2) RETURN VARCHAR2;
SELECT dbms_umf_internal.get_global_dblink_name('SYS_HUB');
     *
ERROR at line 1:
ORA-20501: Remote UMF is disabled
 
GET_REG_STATE_ID
Undocumented dbms_umf_internal.get_reg_state_id(state_name IN VARCHAR2) RETURN NUMBER;
SELECT dbms_umf_internal.get_reg_state_id('');
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [keumgrsnco:2], [], [], [], [], [], [], [], [], [], [], []
 
GET_SERVICE_ID
Returns the ID for a service name dbms_umf_internal.get_service_id(service_name IN VARCHAR2) RETURN NUMBER;
SELECT * FROM dba_umf_service;

SELECT dbms_umf_internal.get_service_id('PDBDEV');
 
GET_TOP_STATE_ID
Undocumented dbms_umf_internal.get_top_state_id(state_name IN VARCHAR2) RETURN NUMBER;
SELECT dbms_umf_internal.get_top_state_id('RECOVERY');
*
ERROR at line 1:
ORA-15771: parameter [state_name] is invalid: RECOVERY
 
POPULATE_LOCAL_CACHE
Undocumented dbms_umf_internal.populate_local_cache(
topology_name  IN VARCHAR2,
node_name      IN VARCHAR2,
is_target      IN BOOLEAN,
link_to_target IN VARCHAR2);
TBD
 
REGISTER_REMOTE
Undocumented dbms_umf_internal.register_remote(
topology_name  IN VARCHAR2,
link_to_target IN VARCHAR2,
node_name      IN VARCHAR2,
node_id        IN NUMBER);
TBD
 
RELEASE_TOPOLOGY_LOCK
Releases the topology lock dbms_umf_internal.release_topology_lock;
exec dbms_umf_internal.release_topology_lock;

PL/SQL procedure successfully completed.
 
REMOTE_GLOBAL_DBLINK_NAME
Undocumented dbms_umf_internal.remote_global_dblink_name(
node_name      IN VARCHAR2,
dblink_to_node IN VARCHAR2,
dblink_name    IN VARCHAR2)
RETURN VARCHAR2;
TBD
 
SYNC_WITH_TARGET
Undocumented dbms_umf_internal.sync_with_target(
topology_name    IN VARCHAR2,
topology_version IN NUMBER);
TBD
 
TOPOLOGY_EXISTS
Returns TRUE if the named topology exists: otherwise FALSE dbms_umf_internal.topology_exists(topology_name IN VARCHAR2) RETURN BOOLEAN;
TBD
 
TOPOLOGY_LOAD_XML
Undocumented dbms_umf_internal.topology_load_xml RETURN XMLTYPE;
SELECT dbms_umf_internal.topology_load_xml;

TOPOLOGY_LOAD_XML
-------------------
<UMF_SCHEMA>
  <TOPOLOGY/>
  <REGISTRATION/>
  <LINK/>
  <SERVICE/>
</UMF_SCHEMA>
 
TOPOLOGY_NODE_REGISTERED
Undocumented dbms_umf_internal.topology_node_registered(
topology_name IN VARCHAR2,
node_name     IN VARCHAR2)
RETURN BOOLEAN;
TBD
 
UNREGISTER_REMOTE
Undocumented dbms_umf_internal.unregister_remote(
topology_name IN VARCHAR2,
node_name     IN VARCHAR2,
node_id       IN NUMBER);
TBD
 
UPDATE_SERVICE_INTERNAL
Undocumented dbms_umf_internal.update_service_internal(
node_id    IN NUMBER,
service_id IN NUMBER,
turn_on    IN NUMBER,
tname      IN VARCHAR2);
TBD
 
UPDATE_SERVICE_REMOTE
Undocumented dbms_umf_internal.update_service_remote(
topology_name IN VARCHAR2,
node_name     IN VARCHAR2,
node_id       IN NUMBER,
service_id    IN NUMBER,
turn_on       IN NUMBER);
TBD

Related Topics
Built-in Functions
Built-in Packages
DBMS_UMF
DBMS_UMF_PROTECTED
Remote Management Framework (RMF)
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved