Oracle DBMS_UMF_INTERNAL
Version 21c

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.
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_PROTECTED UMF$_SERVICE
DBMS_ASSERT UMF$_LINK UMF$_SERVICE_XML
DBMS_STANDARD UMF$_LINK_XML UMF$_TOPOLOGY
DBMS_SYS_ERROR UMF$_REGISTRATION UMF$_TOPOLOGY_XML
DBMS_UMF UMF$_REGISTRATION_XML XMLTYPE
DBMS_UMF_LIB    
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);
SQL> exec dbms_umf_internal.check_boolean('TEST');
BEGIN dbms_umf_internal.check_boolean('TEST'); END;
*
ERROR at line 1:
ORA-20509: Value must be "TRUE" or "FALSE"
ORA-06512: at "SYS.DBMS_UMF_INTERNAL", line 251
ORA-06512: at line 1


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;
/
DECLARE
*
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
ORA-06512: at line 4
 
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);
BEGIN dbms_umf_internal.check_umf_name('UMF$_TOPOLOGY', 'TABLE', FALSE); END;
*
ERROR at line 1:
ORA-20511: Invalid UMF Object Type
ORA-06512: at "SYS.DBMS_UMF_INTERNAL", line 318
ORA-06512: at line 1
 
CHECK_UMF_REMOTE_ENABLED
Undocumented dbms_umf_internal.check_umf_remote_enabled;
exec dbms_umf_internal.check_umf_remote_enabled;
BEGIN dbms_umf_internal.check_umf_remote_enabled; END;
*
ERROR at line 1:
ORA-20501: Remote UMF is disabled
ORA-06512: at "SYS.DBMS_UMF_INTERNAL", line 34
ORA-06512: at line 1
 
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')
FROM dual;
SELECT dbms_umf_internal.get_global_dblink_name('SYS_HUB')
*
ERROR at line 1:
ORA-20501: Remote UMF is disabled
ORA-06512: at "SYS.DBMS_UMF_INTERNAL", line 70
ORA-06512: at "SYS.DBMS_UMF_INTERNAL", line 649
 
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('')
FROM dual;
SELECT dbms_umf_internal.get_reg_state_id('')
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [keumgrsnco:2], [], [], [], [], [], [], [], [], [], [], []
ORA-06512: at "SYS.DBMS_UMF_INTERNAL", line 34
 
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')
FROM dual;
 
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')
FROM dual;
SELECT dbms_umf_internal.get_top_state_id('RECOVERY')
*
ERROR at line 1:
ORA-15771: parameter [state_name] is invalid: RECOVERY
ORA-06512: at "SYS.DBMS_UMF_INTERNAL", line 15
 
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
FROM dual;

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 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