Oracle 12c: Oracle XMLDB is now Mandatory!

Is this one of my highlights? No not really, but it is a remarkable one. Oracle XMLDB functionality is now mandatory and can not be uninstalled. As mentioned in the new feature section of the Oracle XMLDB Developers Guide for Oracle 12c:

Oracle XML DB is now a mandatory component of Oracle Database. You cannot uninstall it, and there is no option not to include it when you create Oracle Database. It is automatically installed when you create a new database or (if not existing already) when you upgrade an existing database to Oracle Database 12c Release 1 (12.1.0.1).

…and a bit further on…

Automatic Installation of Oracle XML DB

If Oracle XML DB is not already installed in your database prior to an upgrade to Oracle Database 12c Release 1 (12.1.0.1) or later, then it is automatically installed in tablespace SYSAUX during the upgrade.

If Oracle XML DB has thus been automatically installed, and if you want to use Oracle XML DB, then, after the upgrade operation, you must set the database compatibility to at least 12.1.0.1. If the compatibility is less than 12.1.0.1 then an error is raised when you try to use Oracle XML DB.

If Oracle XML DB was automatically installed during an upgrade and the current compatibility level is less than 12.1.0.1, then Oracle DB is automatically uninstalled during any downgrade to a prior release.

As a database administrator, I like “lean and mean”, so therefore my mixed feelings about this change. As the Oracle ACE Director for this functionality, I think it was inevitable, seen the changes over the years.

You might not realize it, but a lot of Oracle XMLDB functionality has been used and implemented over the years from Oracle 11.1 and onwards. It is used in area’s like dictionary views, packages like DBMS_METADATA, datapump utilities, APEX (PL/SQL Gateway servlet in the XDB Protocol Server environment), Data and Audit vault, enhanced security or DBFS.

Now with pluggable databases in the mix for 12c, it has become an intrinsic part of the database. The new DB Express, the replacement for DB Console in the database, is depending on some of the core XMLDB repository functions.

So database administrators alike, beware, $ORACLE_HOME/rdbms/admin/catqm.sql, is probably a good thing to get acquainted with. I advised my colleagues to start installing it, during new installations and/or upgrades to 11.2.x and onwards, so they get a feeling for the wonders and quirks of this database functionality and life gets a little bit easier when upgrading in the future to the latest Oracle 12c release.

HTH.