B Oracle XML DB Restrictions

This appendix describes the restrictions associated with Oracle XML DB.

  • Thin JDBC Driver Not Supported by Some XMLType Functions – XMLType methods createXML() with a stream argument, extract(), transform(), and existsNode() work only with the OCI driver. Not all oracle.xdb.XMLType functions are supported by the thin JDBC driver. If you do not use oracle.xdb.XMLType classes and the OCI driver, you can lose performance benefits.

  • NCHAR, NVARCHAR, and NCLOB Not Supported – Oracle XML DB does not support the use of SQL data types NCHAR, NVARCHAR, and NCLOB for any of the following:

    • Mapping XML elements or attributes to these data types using the SQLType annotation in an XML schema

    • Generating XML data from these data types using SQL/XML functions XMLElement, XMLAttributes, and XMLForest

    • Within SQL/XML functions XMLQuery and XMLTable, using XQuery functions ora:view (deprecated), fn:doc, and fn:collection on tables that contain columns with these data types

    To handle, store, or generate XML data that contains multibyte characters, Oracle strongly recommends that you use AL32UTF8 as the database character set.

  • XML Identifier Length Limit – Oracle XML DB supports only XML identifiers that are 4000 characters long or shorter.

  • Repository File Size Limit – The maximum size of a file in Oracle XML DB Repository is 4 gigabytes. This implies the following limits for different kinds of file data:

    • 4 gigabytes for any LOB, which means 2 gigacharacters for a CLOB stored in the database character set AL32UTF8.

    • 4 gigabytes for binary XML encoded data, which typically means more than 4 gigabytes of external XML data before encoding.

    • Indeterminate for XML data stored object-relationally.

  • Repository-Wide Resource Configuration File Limit – You cannot create more than 125 resource configuration files for repository-wide configuration.

  • Recursive Folder Deletion – You cannot delete more than 50 levels of nested folders using the option for recursive deletion.

  • No Hybrid Columnar CompressionHybrid columnar compression, which is available only for Oracle Exadata Storage Server Software, cannot be used with an XMLType column that is stored object-relationally or with an XMLType table (no matter which storage model is used). XMLType supports only basic compression and compression for OLTP.

  • No Column-Level Encryption for XMLType – Column-level encryption is not supported for XMLType. Tablespace-level encryption is supported for all XMLType storage models.

  • No Parallel DML for XMLType – DML operations on XMLType data are always performed in serial. Parallel DML is not supported for XMLType. (Parallel query and DDL are supported for XMLType.)

  • No XMLType Access over Database Links – Access to remote XMLType tables or columns is not supported.

  • Oracle JVM Needed for Some Features – In general, the behavior of Oracle XML DB does not depend on whether or not you have Oracle JVM (Java Virtual Machine) installed. However, if you use Java servlets or PL/SQL package DBMS_XMLSAVE or DBMS_XMLQUERY then you must install Oracle JVM.

  • Editioning Views Not Compatible with XMLType – Editioning views are not compatible with XMLType data that is stored object-relationally. They cannot be enabled in database schemas that contain persisted object types.

See Also:

  • "Oracle XML DB Support for XQuery" for information about Oracle XML DB support for XQuery

  • Oracle Exadata Storage Server Software User's Guide for information about Oracle Exadata Storage Server