Oracle Workspace Manager (OWM) Clean Up in Oracle Database 11.2-19c

Oracle Workspace Manager (OWM) Clean Up in Oracle Database 11.2-12.2I have blogged about Oracle Workspace Manager (OWM) clean up in Oracle Database 11.2-19c just a few weeks ago:

Yet I didn’t cover all currently supported releases from Oracle Database to Oracle Database Therefore as part of my “Clean Up” blog series I will repeat myself just a bit but in a consistent format.

Oracle Workspace Manager (OWM) Clean Up in Oracle Database 11.2-19c

Before you start removing anything from your database please make sure you read my introductory blog post about how to Remove and Clean Up Components from Oracle 11.2 – 19c . You’ll find links to monitor proper component removal there as well as in the SQL Scripts Repository on this blog.

Oracle Workspace Manager (OWM) is a pretty cool feature of the Oracle Database. It does not require an extra license.

OWM enables application developers and DBAs to manage current, proposed and historical versions of data in the same database. OWM has even its own manual with 350 pages. I’m not recommend to remove OWM without any reasons. You can’t deselect OWM during database creation. The  owminstl.plb script executes in the CreateDBCatalog.sql while all other component creation scripts reside in a different section of the create-process.

Oracle Workspace Manager (OWM) Clean Up in Oracle Database 11.2-12.2

OWM Removal Process is non-invasive

This is the reason why some people may want to remove OWM afterwards.

In general there is a MOS Note: 263428.1 –  How to De-install Oracle Workspace Manager available. And OWN clean uo is mostly flawless.

Is OWM used in your database?

Please use MOS Note: 727765.1 – How to Determine if Workspace Manager is Being Used? to check whether OWM is used in your database before removing it.

Oracle Database

The removal process for OWM is flawless:

$ sqlplus / as sysdba
SQL> @?/rdbms/admin/owmuinst.plb

Oracle Database

And the same process works in this release of the database:

$ sqlplus / as sysdba
SQL> @?/rdbms/admin/owmuinst.plb

Again, no leftovers and a fairly quick execution.

Oracle Database – 19c


And again the same process for non-CDBs in Oracle Database

$ sqlplus / as sysdba
SQL> @?/rdbms/admin/owmuinst.plb

No leftovers and a fairly quick execution.


In contrast the OWM removal from a CDB is a bit more complicated. If all is done in one pass then you’ll receive this error sequence:

ERROR at line 1:ORA-06598: insufficient INHERIT PRIVILEGES privilege
ORA-06512: at "WMSYS.LT", line 1
ORA-06512: at line 1
ORA-06512: at line 54ORA-06512: at line 54
ORA-06512: at line 91

Hence to complete the removal successfully and without errors it must be split up in two phases:

  1. emoval from all PDBs including the PDB$SEED:
    $ cd $ORACLE_HOME/rdbms/admin
    $ $ORACLE_HOME/perl/bin/perl -n 1 -C 'CDB$ROOT' -e -b owm_clean_pdbs -d '''.''' owmuinst.plb
  2. Removal from the CDB$ROOT
    $ cd $ORACLE_HOME/rdbms/admin
    $ $ORACLE_HOME/perl/bin/perl -n 1 -c 'CDB$ROOT' -e -b owm_clean_cdb -d '''.''' owmuinst.plb

As a result of this two-phase-operation the clean up process from a Multitenant container database works flawless as well. Especially relevant is the notation above with an uppercase “-C” excluding the specified container(s) and a lowercase “-c” including the specified container(s).

I verified the same procedure with Oracle Database 19.12. It is still required to run the scripts at first in all PDBs including PDB$SEED. And then afterwards, you need to remove it from CDB$ROOT.

Component Clean Up Series

Finally download a slide deck about the Component Clean Up on this blog:


Share this: