Oracle DBMS_METADATA_HACK
Version 23c

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 The following comment is in the creation file script:
Register XML schemas for SXML docs. When XDK is created by catproc.sql, this code can go into dbms_metadata_util. For now we keep it here.
AUTHID DEFINER
Dependencies
DBMS_ASSERT DBMS_XMLSCHEMA V$DATABASE
DBMS_SYSTEM DIRNAMESMH  
Documented No
First Available 10.2
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/catxdbh.sql
SQL> @?/rdbms/admin/catxdbh.sql

Session altered.

Session altered.

SP2-0808: Package created with compilation warnings

Errors for PACKAGE DBMS_METADATA_HACK:

LINE/COL ERROR
-------- -----------------------------------------------------------------
8/26 PLW-06010: keyword "NAME" used as a defined name

Type created.

SP2-0810: Package Body created with compilation warnings

Errors for PACKAGE BODY DBMS_METADATA_HACK:

LINE/COL ERROR
-------- -----------------------------------------------------------------
66/3 PLW-06006: uncalled procedure "GET_SCHEMA_DIR" is removed.
153/26 PLW-06010: keyword "NAME" used as a defined name
157/18 PLW-06009: procedure "DELETESCHEMA" OTHERS handler does not end in RAISE
175/3 PLW-06006: uncalled procedure "GET_XML_DIR" is removed.


Session altered.

Session altered.

SQL> sho err
Errors for PACKAGE BODY DBMS_METADATA_HACK:

LINE/COL ERROR
-------- -----------------------------------------------------------------
66/3 PLW-06006: uncalled procedure "GET_SCHEMA_DIR" is removed.
153/26 PLW-06010: keyword "NAME" used as a defined name
157/18 PLW-06009: procedure "DELETESCHEMA" OTHERS handler does not end in RAISE

175/3 PLW-06006: uncalled procedure "GET_XML_DIR" is removed.
Subprograms
 
CRE_DIR
Undocumented
Assumes directory is rdbms/xml/schema
dbms_metadata_hack.cre_dir;
exec dbms_metadata_hack.cre_dir;
 
CRE_XML_DIR
Undocumented
needed for rdbms/xml access
dbms_metadata_hack.procedure cre_xml_dir;
exec dbms_metadata_hack.procedure cre_xml_dir;
 
DELETESCHEMA
Undocumented
Assumes directory is rdbms/xml/schema
dbms_metadata_hack.deleteSchema(name IN VARCHAR2);
TBD
 
DROP_DIR
Undocumented
Assumes directory is rdbms/xml/schema
dbms_metadata_hack.drop_dir;
exec dbms_metadata_hack.drop_dir;
 
DROP_XML_DIR
Undocumented
Needed for rdbms/xml access
dbms_metadata_hack.drop_dir;
exec dbms_metadata_hack.drop_xml_dir;
 
GET_BFILE
Undocumented
Assumes directory is rdbms/xml/schema
dbms_metadata_hack.get_bfile(filename IN VARCHAR2)
RETURN BFILE;
TBD
 
GET_XML_BFILE
Returns the full BFILE based on its target file name dbms_metadata_hack.get_xml_bfile(filename IN VARCHAR2)
RETURN BFILE;
conn sys@pdbdev as sysdba

SQL> GRANT read, write ON DIRECTORY ctemp TO uwclass;

Grant succeeded.

conn uwclass/uwclass@pdbdev

SQL> CREATE TABLE uw_files (
  2  file_id NUMBER,
  3* file_name BFILE);

Table created.

SQL> INSERT INTO uw_files
2 (file_id, file_name)
3 VALUES
4 (1, BFILENAME('CTEMP', 'testfile.xml'));

1 row created.

SQL> COMMIT;

Commit complete.

conn sys@pdbdev as sysdba

SQL> SELECT dbms_metadata_hack.get_xml_bfile('testfile.xml')
  2  FROM dual;

DBMS_METADATA_HACK.GET_XML_BFILE('TESTFILE.XML')
-------------------------------------------------
bfilename('XMLDIR', 'testfile.xml')
 
GET_XML_DIRNAME
Undocumented
Assumes directory is rdbms/xml/schema
dbms_metadata_hack.get_xml_dirname RETURN VARCHAR2;
SQL> SELECT dbms_metadata_hack.get_xml_dirname
  2  FROM dual;

GET_XML_DIRNAME
----------------
XMLDIR
 
LOAD_XSD
Undocumented
Assumes directory is rdbms/xml/schema
dbms_metadata_hack.load_xsd(
filename  IN VARCHAR2,
gentypes1 IN BOOLEAN := FALSE);
TBD

Related Topics
Built-in Functions
Built-in Packages
DBMS_METADATA
DBMS_METADATA_BUILD
DBMS_METADATA_DIFF
DBMS_METADATA_DPBUILD
DBMS_METADATA_INT
DBMS_METADATA_UTIL
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