As you may know, the use of Oracle Locator is free of charge, while Spatial is an option in Oracle Enterprise Edition which have to be paid for.
Spatial has more functionality though. But when using Locator functionality and Oracle LMS (License Management Services) comes around running their scripts, there may be an output like this:
SPATIAL ------------------------------------------ ORACLE SPATIAL INSTALLED: TRUE CHECKING TO SEE IF SPATIAL FUNCTIONS ARE BEING USED... ALL_SDO_GEOM_METADATA --------------------- 426 1 row selected. If value returned is 0 then SPATIAL is NOT being used. <strong>If value returned is > 0 then SPATIAL OR LOCATOR IS being used.</strong>
For version 10g and higher check DBA_FEATURE_USAGE_STATISTICS whether Spatial is currently used. For version 9i and below confirm with the customer whether Spatial or Locator is being used.
So although convinced in using Locator, you are forced to defend yourself against LMS. ‘No really, I’m not using Spatial…’.
By the way: you will always see the SPATIAL option turned on in v$option (TRUE), even if you did not select it when installing. Unfortunately you can’t switch it off , but you won’t be charged for this option when installed only.
In 12c you will see something like this initially in the database:
Using the Spatial or the Locator objects is another story. The best way is to avoid discussions with LMS and remove the SPATIAL-objects at forehand in the database so it will be visible in the DBA_REGISTRY.
Followed note 1070647.1 with a 12c database: How To Deinstall Oracle Spatial Keeping Oracle Locator.
sqlplus /nolog conn / as sysdba spool mddins.log start ?/md/admin/mddins.sql spool off
As a result the Spatial component will show the status REMOVED:
MDSYS user will continue to exist in the database:
The status of Oracle Multimedia has to be VALID:
Hmm…
After running $ORACLE_HOME/rdbms/admin/utlrp.sql as SYS the same query has a different output:
This is ok now, but does it still work? Ran the spatial health check (Note 800725.1) as SYS. Part of the output:
Seems allright to me, but then again, I’m not a Spatial or Locator– expert. Didn’t test this on a database with an active SPATIAL or Locator –application running, so perform a backup / test before running the script mddins.sql.
That being said, it may be wise to run this script default when creating a database. Put it in your post-installation standards, just like other licensing features, such as the parameter CONTROL_MANAGEMENT_PACK_ACCESS for the diagnostic and tuning pack (when you don’t use this). Better be well prepared.
Sources:
Blog Simon Greener about Spatial vs. Locator
Oracle doc: Locator features
How To Verify That Oracle Locator Is Installed (Doc ID 357943.1)
How To Deinstall Oracle Spatial Keeping Oracle Locator (Doc ID 1070647.1)
Oracle Spatial and Oracle Locator Licensing Information (Doc ID 1066837.1)
Oracle Locator / Oracle Spatial Health Check (Doc ID 800725.1)
Master Note for Oracle Multimedia/interMedia (Doc ID 1078222.1)
Excellent post highlighting that there is a difference between Spatial (expensive) and Locator(free),
If I want to be certain that Locator is being used, not Spatial, what do I look for?
Is it only 9i an lower that it’s confusing?