3

We have an Oracle Enterprise Edition 10 installation and as its been explained to me by our DBAs, Oracle Enterprise installs include all extensions and you're simply licensed by what you use.

We've discovered we're using Oracle Spatial but we don't want to be. I can confirm for myself that its being used with this SQL:

select * from dba_feature_usage_statistics;

Unfortunately that's all I can find out. We have a large number of applications which use Spatial elements, but having asked all of our vendors they assure us their apps are using Oracle Locator (which is the free subset of Spatial).

So my question is simple - how do I discover exactly which app is using the Oracle Spatial extension? Alternately (brought to light by ik_zelf's answer), how do I prove I'm only using the Locator subset of Spatial.

2 Answers 2

2

Check the sdo metadata:

select * from mdsys.sdo_geom_metadata_table where sdo_owner not in ('MDSYS', 'OE')

when you dig a little deeper in the dba_feature_usage_statistics you will find this query as part of the determination of what is being used and what not. The schema's MDSYS and OE are not counted, even when they have sdo objects.

Sign up to request clarification or add additional context in comments.

5 Comments

I had a DBA run it and it gave lots of results. There are columns for SDO_TABLE_NAME SDO_COLUMN_NAME etc, but its not clear what these are (I'm guessing a record that something accessed SDO stuff). There's nothing saying where the connections came from or what application made the query.
I've now looked into this further and it looks like that table is only a list of all tables with SDO geometry in them. I don't see this being a valid test for Spatial because Locator uses SDO_Geometry too - docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_locator.htm
This query is part of the check. If you can prove that the use only comes from Locator and that Locator can use SDO for free, it should be ok. Check your Oracle sales rep. is the best option now.
Ah, but that's exactly the point of this question - how do I prove I'm only using Locator (included "free") and not Spatial (expensive extra)?
That query is totally useless in determining whether spatial-specific functions are used. All it does is to list all tables that contain vector geometries (SDO_GEOMETRY objects), and those can be used equally by Locator or Spatial.
0

There is a list of functionality that is part of Oracle Spatial vs. Oracle Locator on the Oracle website: http://docs.oracle.com/cd/B19306_01/appdev.102/b14255/sdo_locator.htm#SPATL340 - specifically pay attention to the section that lists things only available in Oracle Spatial.

The short story is that (basically) the following things are off the table for Locator:

  • Topology
  • Network data model
  • GeoRaster
  • Geocoding
  • In-built data mining functions
  • Linear referencing
  • Some spatial aggregation functionality
  • Some parts of the sdo_geom package

Storage, indexing, partitioning, sdo_util package, coordinate transformations and more are all fully within Locator. I would simply check the dba_source view for any stored procedures that use any of the prohibited functions.

For code outside of the database, I guess you have to take someone's word for it, but in my experience external applications tend to use their own methods rather than Oracle in-built features.

1 Comment

Thanks for this. I was already aware of this document which is why I'm fairly sure we aren't using Locator intentionally. Unfortunately our problem is trying to get specifics from the Oracle database to tell us whats going on.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.