Oracle Spatial is now free to users of all Oracle versions. To install, just run on your CDB:
host $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -n 1 -l /tmp/jvm -b install_spatial $ORACLE_HOME/md/admin/mdinst.sql
set lines 300
col comp_name for a50
SELECT comp_name, version, status FROM dba_registry ORDER BY comp_name;
The documentation lacks a lot concerning this free feature. Only it says that was part of Oracle Multimedia which is now desupported, but Oracle Locator continues to be supported.
Well, after some try and error, checking scripts and so on, here is the simple installation of Oracle Locator in Oracle 19c, container architecture:
-- Connect sys to the Root container (CDB$ROOT) and run:
SQL> @?/md/admin/catmdloc.sql
-- Then connect to the PDB where you need Oracle Locator and run again:
SQL> alter session set container=MY_PDB
SQL> @?/md/admin/catmdloc.sql
And that’s it. The script creates the MDSYS user without authentication, it uses the SYSAUX tablespace and creates a directory pointing to $ORACLE_HOME/md/admin and then tables, including external tables with sharing=object.
So, it is easier than before, no need to first create tablespace or user as it was the case in previous releases.
If you don’t run the script first on the root container, you’ll get errors regarding the external tables with sharing=object.