Oracle DBMS_XDBUTIL_INT
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 Internal XDB Utilities
AUTHID CURRENT_USER
Dependencies SELECT name FROM dba_dependencies WHERE referenced_name = 'DBMS_XDBUTIL_INT' UNION
SELECT referenced_name FROM dba_dependencies WHERE name = 'DBMS_XDBUTIL_INT' ORDER BY 1;


Returns 55 objects
Documented No
First Available Not known
Security Model Owned by XDB with EXECUTE granted to PUBLIC
Source {ORACLE_HOME}/rdbms/admin/prvtxdb0.plb
Subprograms
 
CLEANSGAFORUPGRADE
Undocumented dbms_xdbutil_int.cleanSGAForUpgrade;
exec dbms_xdbutil_int.cleansgaforupgrade;

PL/SQL procedure successfully completed.
 
CLEANUP_EXPIRED_NFSCLIENTS
Undocumented dbms_xdbutil_int.cleanup_expired_nfsClients;
exec dbms_xdbutil_int.cleanup_expired_nfsclients;

PL/SQL procedure successfully completed.
 
CREATEACL
Create Access Control List dbms_xdbutil_int.createACL(
acl_path IN VARCHAR2,
objid    IN RAW,
data     IN XMLTYPE)
RETURN BOOLEAN;
TBD
 
CREATESYSTEMVIRTUALFOLDER
Undocumented dbms_xdbutil_int.createSystemVirtualFolder(abspath IN VARCHAR2) RETURN BOOLEAN;
-- from $ORACLE_HOME/rdbms/admin/catxdbst.sql and xdbu9202.sql

Rem Create OID virtual folder
Rem This step is repeatable.
DECLARE
 ret BOOLEAN;
BEGIN
  ret := dbms_xdbutil_int.createSystemVirtualFolder('/sys/oid');
  IF ret THEN
    dbms_xdb.setacl('/sys/oid', '/sys/acls/bootstrap_acl.xml');
  END IF;
EXCEPTION
  WHEN OTHERS THEN
    ret := FALSE;
END;
/

COMMIT;

Rem Create ASM virtual folder
Rem This step is repeatable.
DECLARE
 ret BOOLEAN;
BEGIN
  ret := dbms_xdbutil_int.createSystemVirtualFolder('/sys/asm');
  IF ret THEN
    dbms_xdb.setacl('/sys/asm', '/sys/acls/all_owner_acl.xml');
END IF;
EXCEPTION
  WHEN OTHERS THEN
    ret := FALSE;
END;
/

COMMIT;
 
FIXACL
Undocumented dbms_xdbutil_int.fixACL(oldacl IN XMLTYPE) RETURN XMLTYPE;
TBD
 
FIXACL_DOWNGRADE
Undocumented dbms_xdbutil_int.fixACL_downGrade(oldacl IN XMLTYPE) RETURN XMLTYPE;
TBD
 
FLUSHSESSION
Flush the current session from memory dbms_xdbutil_int.flushSession;
exec dbms_xdbutil_int.flushSession;
XDB FlushSession at Sun 26-Aug-2024 15:19:11

PL/SQL procedure successfully completed.
 
GETCOMPILEDSCHEMA
Returns the schema XML based on the schema URL dbms_xdbutil_int.getCompiledSchema(schemaURL IN VARCHAR2) RETURN XMLTYPE;
SELECT dbms_xdbutil_int.getCompiledSchema('https://xmlns.oracle.com/xdb/acl.xsd');

DBMS_XDBUTIL_INT.GETCOMPILEDSCHEMA('HTTPS://XMLNS.ORACLE.COM/XDB/ACL.XSD')
--------------------------------------------------------------------------
<?xml version="1.0" encoding="US-ASCII"?>
<schema xmlns="https://www.w3.org/2001/XMLSchema" xmlns:xdb="https://xmlns.oracle.com/xdb" xmlns:xdbacl="https://xmlns.oracle.com/xdb/acl.xsd" targetNamespace="https://xmlns.oracle.com/ xdb/acl.xsd" version="1.0" elementFormDefault="qualified" xdb:flags="1075863861" xdb:schemaURL="https://xmlns.oracle.com/xdb/acl.xsd" xdb:schemaOwner="XDB" xdb:numProps="46" xmlns:cs x="https://xmlns.oracle.com/2004/CSX">
  <annotation>
    <documentation>
      This XML schema describes the structure of XDB ACL documents.
...
  <element name="write-config" type="xdbacl:privilegeNameType"
    substitutionGroup="xdbacl:privilegeName" xdb:defaultTable=""
    xmlns:csx="https://xmlns.oracle.com/2004/CSX" csx:property
    ID="2037" xdb:global="true" xdb:memType="258" xdb:defaultTableSchema="XDB"/>
</schema>
 
GETCOMPILEDSCHEMABYID
Returns the schema XML based on the schema object identifier dbms_xdbutil_int.getcompiledSchemaByID(schemaOID IN RAW) RETURN XMLTYPE;
TBD
 
GETCSXSCHEMA
Returns the schema XML based on the CSX schema dbms_xdbutil_int.getCSXSchema(schemaDoc IN XMLTYPE) RETURN XMLTYPE;
TBD
 
GETNAMESPACE
Get the resolved namespace for an attribute in the list (by position) dbms_xdbutil_int.getNameSpace(
schemadoc IN XMLTYPE,
inde      IN BINARY_INTEGER)
RETURN VARCHAR2;
conn xdb/xdb

set long 1000000

SELECT XMLTYPE(s.getclobval())
FROM xdb$schema s;

SELECT dbms_xdbutil_int.getNamespace(XMLTYPE(s.getclobval()), 1)
FROM xdb$schemas;
 
GETNEWOID
Returns an object identifier dbms_xdbutil_int.getNewOID RETURN RAW;
SELECT dbms_xdbutil_int.getNewOID;

GETNEWOID
--------------------------------
C275128F141C4273E0531000000AFD2B
 
GET_TABLESPACE_TAB
Undocumented dbms_xdbutil_int.get_tablespace_tab(
object_owner   IN VARCHAR2,
object_name    IN VARCHAR2,
object_subname IN VARCHAR2,
object_type    IN VARCHAR2)
RETURN VARCHAR2;
TBD
IMPORTSEQUENCE
Undocumented dbms_xdbutil_int.importSequence(
schema   IN VARCHAR2,
sequence IN VARCHAR2,
value    IN NUMBER);
TBD
 
INSTANCE_CALLOUT_IMP
Undocumented dbms_xdbutil_int.instance_callout_imp(
obj_name   IN  VARCHAR2
obj_schema IN  VARCHAR2
obj_type   IN  NUMBER
prepost    IN  BINARY_INTEGER
action     OUT VARCHAR2
alt_name   OUT VARCHAR2);
TBD
 
INSTANCE_EXPORT_ACTION
Undocumented dbms_xdbutil_int.instance_export_action(
obj_name   IN  VARCHAR2
obj_schema IN  VARCHAR2
obj_type   IN  NUMBER
prepost    IN  BINARY_INTEGER
action     OUT VARCHAR2
alt_name   OUT VARCHAR2
TBD
 
ISOBJECTGENERATED
Undocumented: Presumably returns 1 for a generated object, otherwise 0 dbms_xdbutil_int.isObjectGenerated(
objname IN VARCHAR2,
schname IN VARCHAR2)
RETURN NUMBER;
SELECT dbms_xdbutil_int.isobjectgenerated('XDB', 'SYS_LOB0000042280C00022$$');

DBMS_XDBUTIL_INT.ISOBJECTGENERATED('XDB','SYS_LOB0000042280C00022$$')
---------------------------------------------------------------------
                                                                    0
 
ISTABLEOUTOFLINE
Undocumented: Presumably returns 1 for an out of line table, otherwise 0 dbms_xdbutil_int.isTableOutOfLine(
tablename IN VARCHAR2,
owner     IN VARCHAR2)
RETURN NUMBER;
SELECT dbms_xdbutil_int.isTableOutOfLine('XDB$PATH_INDEX_PARAMS', 'XDB');

DBMS_XDBUTIL_INT.ISTABLEOUTOFLINE('XDB$PATH_INDEX_PARAMS','XDB')
----------------------------------------------------------------
                                                               0
 
ISXMLNESTEDTABLE
Undocumented: Presumably returns 1 if a nested table, otherwise 0 dbms_xdbutil_int.isXMLNestedTable(
tablename IN VARCHAR2,
schname   IN VARCHAR2)
RETURN NUMBER;
SELECT dbms_xdbutil_int.isXMLNestedTable('XDB$SCHEMA', 'XDB');

DBMS_XDBUTIL_INT.ISXMLNESTEDTABLE('XDB$SCHEMA','XDB')
-----------------------------------------------------
                                                    0
 
LOOKUPSCHEMAOID
Undocumented dbms_xdbutil_int.lookupSchemaOID(schemaoid IN RAW) RETURN VARCHAR2;
TBD
 
LOOKUPSCHEMAURL
Undocumented dbms_xdbutil_int.lookupSchemaURL(schemaurl IN VARCHAR2) RETURN RAW;
TBD
 
MIGRATEALLXMLFROM9201
Undocumented dbms_xdbutil_int.migrateAllXMLFrom9201;
exec dbms_xdbutil_int.migrateAllXMLFrom9201;
 
NUMTOHEX
Converts a number to hex dbms_xdbutil_int.numToHex(n IN NUMBER) RETURN RAW;
SELECT dbms_xdbutil_int.numToHex(42);

DBMS_XDBUTIL_INT.NUMTOHEX(42)
-----------------------------
2A


SELECT dbms_xdbutil_int.numToHex(43);

DBMS_XDBUTIL_INT.NUMTOHEX(43)
-----------------------------
2B


SELECT dbms_xdbutil_int.numToHex(47);

DBMS_XDBUTIL_INT.NUMTOHEX(47)
-----------------------------
2F


SELECT dbms_xdbutil_int.numToHex(420128);

DBMS_XDBUTIL_INT.NUMTOHEX(420128)
---------------------------------
066920
 
NUMTOHEX2
Converts a number to hex

Specifically what is different from this function, when compared to the above function, is not apparent.
dbms_xdbutil_int.numToHex2(n IN NUMBER) RETURN RAW;
SELECT dbms_xdbutil_int.numToHex(420128);

DBMS_XDBUTIL_INT.NUMTOHEX(420128)
---------------------------------
066920
 
PATCHREPOSITORYRESCONFIGLIST
Undocumented dbms_xdbutil_int.patchRepositoryResConfigList;
dbms_xdbutil_int.patchRepositoryResConfigList;
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error
 
RAWTONUM
Converts RAW to NUMBER dbms_xdbutil_int.rawToNum(prefix_code IN RAW) RETURN NUMBER;
SELECT utl_raw.cast_to_raw('ABC');

UTL_RAW.CAST_TO_RAW('ABC')
--------------------------
414243


SELECT dbms_xdbutil_int.rawToNum(utl_raw.cast_to_raw('ABC'));

DBMS_XDBUTIL_INT.RAWTONUM(UTL_RAW.CAST_TO_RAW('ABC'))
-----------------------------------------------------
                                              4276803


SELECT dbms_xdbutil_int.rawToNum('414243');

DBMS_XDBUTIL_INT.RAWTONUM('414243')
-----------------------------------
                            4276803
 
RAWTONUM2
Converts RAW to NUMBER dbms_xdbutil_int.rawToNum2(prefix_code IN RAW) RETURN NUMBER;
SELECT dbms_xdbutil_int.rawToNum2(utl_raw.cast_to_raw('ABC'));

DBMS_XDBUTIL_INT.RAWTONUM2(UTL_RAW.CAST_TO_RAW('ABC'))
------------------------------------------------------
                                               4276803
 
SETLINKPARENTS
Undocumented dbms_xdbutil_int.setLinkParents;
exec dbms_xdbutil_int.setLinkParents;
 
SETLINKPARENTSNEW
Undocumented dbms_xdbutil_int.setLinkParentsNew;
exec dbms_xdbutil_int.setLinkParentsNew;

PL/SQL procedure successfully completed.
 
SYSTEM_INFO_EXP
Undocumented dbms_xdbutil_int.system_info_exp(
prePost       IN  BINARY_INTEGER,
connectString OUT VARCHAR2,
version       IN  VARCHAR2,
new_block     OUT BINARY_INTEGER);
RETURN VARCHAR2;
TBD
 
USESETLINKPARENTSNEW
Undocumented dbms_xdbutil_int.useSetLinkParentsNew RETURN BOOLEAN;
BEGIN
  IF dbms_xdbutil_int.useSetLinkParentsNew THEN
    dbms_output.put_line('Using ParentsNew');
  ELSE
    dbms_output.put_line('Not Using ParentsNew');
  END IF;
END;
/
Not Using ParentsNew

PL/SQL procedure successfully completed.
 
XMLSCHEMADEPENDENCYLEVEL
Undocumented dbms_xdbutil_int.xmlSchemaDependencyLevel(
schoid IN RAW,
owner  IN VARCHAR2)
RETURN BINARY_INTEGER;
TBD
 
XMLSCHEMAGETDEPENDENCYLIST
Undocumented dbms_xdbutil_int.XMLSchemaGetDependencyList(
schoid  IN RAW,
owner   IN VARCHAR2,
depclob IN CLOB)
RETURN BINARY_INTEGER;
TBD
 
XMLSCHEMASTRIPUSERNAME
Undocumented dbms_xdbutil_int.XMLSchemaStripUsername(
schemadoc IN XMLTYPE,
username  IN VARCHAR2)
RETURN CLOB;
conn xdb/xdb

set long 1000000
set pagesize 0
set linesize 131
col xml_out format a130
col xml_len format 999999

SELECT XMLTYPE(s.getclobval()) as xml_out
FROM xdb$schema s
WHERE rownum = 1;

SELECT MIN(rowid) FROM xdb$schema;

SELECT XMLTYPE(s.getclobval()) as xml_out
FROM xdb$schema s
WHERE rowid = 'AAANXLAACAAADecAAA';

SELECT LENGTH(XMLTYPE(s.getclobval())) as xml_len
FROM xdb$schema s
WHERE rowid = 'AAANXLAACAAADecAAA';

SELECT xdb.dbms_xdbutil_int.XMLSchemaStripUsername(XMLTYPE(s.getClobVal()), 'XDB') xml_out
FROM xdb$schema s
WHERE rowid = 'AAANXLAACAAADecAAA';

col xml_out format 999999

SELECT LENGTH(xdb.dbms_xdbutil_int.XMLSchemaStripUsername(XMLTYPE(s.getClobVal()), 'XDB')) xml_len
FROM xdb$schema s
WHERE rowid = 'AAANXLAACAAADecAAA';

Related Topics
Built-in Functions
Built-in Packages
DBMS_NETWORK_ACL_ADMIN
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