Now openThe whole vendor lifecycle in one workspace. Benchmarking, negotiations, contracts, invoices, renewals. Free 30 day trial, no card.Start the trial →
Now openThe whole vendor lifecycle in one workspace. Benchmarking, negotiations, contracts, invoices, renewals. Free 30 day trial, no card.Start the trial →
Project team walking through a plan in a boardroom session
Oracle · Spatial Feature Usage · Audit Defense

Accidentally Using Oracle Spatial: The Feature-Usage Finding You Didn't Buy

A single Locator function call can flip Oracle's own tracking table to show Spatial usage you never licensed or intended. This page shows why the finding is challengeable, and exactly how to build the evidence file that proves Locator-only use before the audit call.

Contact Us Oracle Hub
500+Enterprise clients
$2B+Under advisory
Industry Recognized
500+ Enterprise Clients
$2B+ Under Advisory
11 Vendor Practices
100% Buyer Side Independent

A single Locator function call can flip Oracle's own tracking table to show Spatial usage you never licensed or intended. This page shows why the finding is challengeable, and exactly how to build the evidence file that proves Locator-only use before the audit call.

The finding that arrives before the invoice

In an Oracle audit, one of the most common and most negotiable findings reads something like this: "DBA_FEATURE_USAGE_STATISTICS shows usage of the Spatial and Graph option on the following databases." Oracle's License Management Services (LMS) team treats that row as evidence, attaches a per-processor list price, and opens the negotiation from there. On older database releases that historical list price is $17,500 per processor and $350 per Named User Plus (NUP), per Oracle's own Technology Price List. On a modest 16-core Intel server (core factor 0.5, so 8 processors), the processor-metric exposure alone lands at roughly $140,000 before any support uplift or NUP minimums are layered on.

Here is what LMS will not volunteer in the finding letter: that row can be generated by using Oracle Locator, which is bundled free with both Standard Edition 2 and Enterprise Edition. Oracle's own documentation and its own bug catalog confirm the tracking table cannot tell the difference. In 25 years of negotiating Oracle option findings, we have seen this exact false positive appear in a large share of Spatial claims, and we have seen it disappear when the customer produces the right two artifacts. This page names the mechanism, the leverage, and the artifacts.

The Spatial row in the feature-usage table is an opening claim built on a data source Oracle itself says is not a true test of the option.

Why one Locator call trips the Spatial sensor

Oracle Locator is a subset of Spatial. It has been bundled free with Standard and Enterprise editions since at least 2003, when Oracle's own Spatial Best Practices paper stated that licensing SE or EE "enables you to fully leverage the valuable set of features offered in Oracle Locator, at no extra cost." The features share underlying packages (for example, most of SDO_GEOM is available to Locator users from 12c onward). The problem is that the instrumentation writing to DBA_FEATURE_USAGE_STATISTICS does not distinguish which subset of the shared code path was invoked.

House of Brick put the mechanism plainly: "Any use of the free Locator functionality will automatically trigger Oracle's database to record the usage of the license-required Spatial and Graph option." The AMIS scripts that mirror the LMS logic confirm the ambiguity from the other direction: "If value returned is 0 then SPATIAL is NOT being used. If value returned is > 0 then SPATIAL OR LOCATOR IS being used." That single 'OR' is the entire dispute. A perfectly licensed Locator workload produces a value greater than zero, and the audit report reads it as Spatial. Where the free line actually sits between the two is covered in detail in our companion piece on Locator versus Spatial feature boundaries.

Oracle documents the false positive itself

This is not a customer theory. It is Oracle's own position, buried in My Oracle Support. MOS Doc ID 1309070.1 lists 14 known false-positive bugs in the feature-usage table, and the Spatial entry states directly: "Query against DBA_FEATURE_USAGE_STATISTICS is not a true test for use of SDO." Oracle also carries a specific bug, Bug 25661076, titled "DBA_FEATURE_USAGE_STATISTICS INCORRECTLY SHOWS SPATIAL USAGE IN 12C."

Better still, the very script Oracle distributes to run these checks (options_packs_usage_statistics.sql, referenced by MOS 1317265.1) labels the Spatial row with a warning in Oracle's own words: "Spatial (Not used because this does not differential usage of spatial over locator, which is free)." When the audit finding rests on a data source that Oracle's own tooling flags as unreliable, the burden of proof has effectively shifted back onto Oracle to substantiate actual Spatial use. That is your leverage. It sits in Oracle's documentation, not in your contract, which is exactly where you want it in a dispute.

MOS Doc ID 1309070.1 and Oracle's own script both concede the Spatial row does not differentiate Spatial from free Locator. Cite them by number.
Artifact What it proves Source Use in defense
MOS Doc ID 1309070.1Feature-usage query is not a true test for SDOOracle My Oracle SupportRebut the finding's evidentiary weight
Bug 2566107612c incorrectly shows Spatial usageOracle bug catalogAttribute the row to a known defect
options_packs_usage_statistics.sql labelScript does not differentiate Spatial from free LocatorOracle-distributed script (MOS 1317265.1)Oracle's own tooling disclaims the row
DBA_REGISTRY after mddins.sqlSpatial deinstalled, Locator retainedOracle Locator docs / MOS 1070647.1Positive proof of clean configuration

The 2019 policy change, and the trap inside it

On December 5, 2019, Oracle VP William Hardie announced in a blog post ("Machine Learning, Spatial and Graph - No License Required!") that customers no longer needed to buy separate licenses for those features. On the same date Oracle published an updated Technology Global Price List with the Spatial and Graph option removed, meaning it is likely no longer available for purchase. AWS documentation confirms the scope: in 2019 all Spatial features became included in EE and SE2 at no additional cost.

So on Oracle Database 19c, the free-Spatial defense is strong and, importantly, contractual. The 19c program documentation lists Spatial and Graph as an "included option" across all editions (it even carries a restricted-use license to Partitioning). But here is the trap that costs unprepared customers real money: the older program documentation was never retroactively updated. The 12c documentation, for example, still lists Spatial and Graph as an option that "can be purchased with Oracle Database Enterprise Edition." On 12c and 18c the free-Spatial narrative is a blog post and a policy statement, not necessarily your license terms. Note the industry disagreement here: some practitioners argue Spatial has been free for EE since 12.1, while House of Brick's contractual reading limits the airtight defense to 19c. In our experience the safe assumption is that on pre-19c releases you defend on the false-positive grounds first, and treat the policy change as secondary support.

The practical takeaway: check your database version before you decide which defense to lead with. If you are on 19c, lead with the included-option documentation. If you are on 12c or 18c, lead with the false-positive evidence and the deinstall proof, because the version-specific contractual defense may not hold. The broader pattern of options that ship enabled and surface in audits is covered in our overview of the accidental-use options and packs audit trap.

What the exposure actually looks like if you concede

Before you decide how hard to fight, size the number properly, because Oracle's opening figure is almost always the maximum. The historical Spatial and Graph list price is $17,500 per processor and $350 per NUP. Under the processor metric, exposure is driven by the core factor: Intel x86 carries a factor of 0.5, so a 16-core server counts as 8 Oracle processors, giving 8 x $17,500 = $140,000 list, before any negotiated discount and before the standard 22 percent annual support that would follow.

Under NUP, the minimums bite hard. Enterprise Edition requires 25 NUP per processor, so that same 16-core Intel server carries a minimum of 16 x 0.5 x 25 = 200 NUP, or 200 x $350 = $70,000 list. For estates with few actual users, NUP can be the cheaper concession, but only if user counts stay under the minimum threshold. The full decision framework, including where the crossover point sits, is set out in our guide to choosing processor versus Named User Plus for Spatial. Run both numbers before any call, because Oracle will quote whichever is larger.

How to prove Locator-only usage: the evidence pack

House of Brick describes the audit as "a negotiation quagmire when the only way to prove that the paid option has not been used is to get the application team to dig into the source code to show that only Locator functions were invoked." That is true if you wait for the finding. It is far less painful if you build the file in advance. Four artifacts, assembled proactively, collapse most of these findings.

  • Configuration proof. Run mddins.sql (or follow MOS Note 1070647.1) to deinstall Spatial while retaining Locator. As Oracle's own Locator documentation states, this "ensures that you can use only features available in Locator and no features that are available only with Spatial." After deinstall, DBA_REGISTRY shows the clean state. AMIS recommends exactly this: remove the Spatial objects in advance "so it will be visible in the DBA_REGISTRY," and avoid the LMS discussion entirely.
  • The false-positive citations. A one-page memo citing MOS Doc ID 1309070.1, Bug 25661076, and the script label text, quoted verbatim. This shifts the evidentiary burden onto Oracle.
  • Row-level triage. For each flagged row, capture AUX_COUNT and DETECTED_USAGES. Where AUX_COUNT is zero or the usage traces to SYS, MDSYS, or DBSNMP schemas, treat the row as challengeable, not as a liability. Those are internal or metadata references, not application Spatial use.
  • Application-level attestation. A short statement from the application owner confirming only Locator functions (SDO_GEOM, SDO_RELATE, and similar bundled calls) are invoked, with a list of the advanced Spatial functions (linear referencing, spatial web services, advanced analytics) that are not used. Oracle's documentation lists these EE-only capabilities, so map your codebase against that list.

Then force a fresh sample with DBMS_FEATURE_USAGE_INTERNAL after applying the clean configuration, so the current-state row flips to reflect the deinstalled reality. That gives you a before-and-after that is far harder to argue with than a single stale row. The complete assembly sequence is documented in our companion page on the Locator-only evidence pack.

What to do now, in order

Do not wait for a finding letter to start this work. The proof is cheap to build in peacetime and expensive to reconstruct under a 30-day audit response clock.

  • Inventory every database and record its version. Segregate 19c (strong contractual defense) from 12c and 18c (lead with false-positive defense).
  • Where you genuinely need only Locator, deinstall Spatial per MOS 1070647.1 now, and archive the DBA_REGISTRY output as dated evidence.
  • Build the false-positive citation memo and store it with your license documents so it is ready to attach to any response.
  • Size both processor and NUP exposure using your actual core counts and core factors, so you know the ceiling before Oracle names it.
  • Never self-report Spatial usage from raw feature-usage data. The row is not a confession; it is a defect. Treat every Oracle finding as an opening claim, not a verdict, as we explain in challenging Oracle audit findings.

The Spatial false positive is one of the most winnable Oracle option disputes precisely because Oracle has already documented the flaw in writing. Your job is to have that documentation, plus a clean DBA_REGISTRY, in a folder before the audit team ever runs a script on your estate. For the full commercial picture of this option, including where it surfaces across an estate, start with our pillar on Oracle Spatial and Graph licensing.

Frequently asked questions

Does using Oracle Locator trigger a Spatial license requirement?

No. Locator is bundled free with Standard Edition 2 and Enterprise Edition. However, using Locator does trigger a Spatial usage row in DBA_FEATURE_USAGE_STATISTICS because the tracking table cannot distinguish the two. That row is a documented false positive, not a license liability.

Is Oracle Spatial free on 19c but not on 12c?

On 19c, Oracle's program documentation lists Spatial and Graph as an included option across all editions, giving a contractual free defense. On 12c and 18c, the older documentation still lists it as a purchasable option, so lead your defense with the false-positive evidence (MOS Doc ID 1309070.1 and Bug 25661076) rather than the 2019 policy change.

How do I prove I only used Locator and not Spatial?

Build a four-part file: deinstall Spatial via mddins.sql or MOS 1070647.1 and capture DBA_REGISTRY, cite Oracle's own false-positive documentation, triage flagged rows by AUX_COUNT and schema (SYS, MDSYS, DBSNMP are challengeable), and get an application-owner attestation that only Locator functions were invoked.

What is the exposure if Oracle claims Spatial usage?

Historical list price is $17,500 per processor and $350 per NUP. A 16-core Intel server (core factor 0.5) counts as 8 processors, so processor exposure is about $140,000 at list, or roughly $70,000 under NUP given the 200-user minimum. These are opening claims, not settled amounts.

Can I still buy the Spatial and Graph option separately?

Likely not. On the same date as the December 2019 announcement, Oracle removed Spatial and Graph from its Technology Global Price List, so it is probably no longer available for purchase. This matters in an audit because Oracle may need to construct a bespoke remediation rather than pointing to a current SKU.

Should I self-report Spatial usage from the feature-usage table?

No. The feature-usage row is a data source Oracle itself flags as unreliable in its own distributed script. Self-reporting it as Spatial usage converts a challengeable defect into a volunteered liability. Treat it as a defect to be rebutted, not a confession to be filed.

Free White Paper

Oracle Database Options & Management Packs: the accidental-use audit trap

The separately-licensed options and packs that ship enabled by default, get switched on with a single click, and become the single largest line item in most Oracle audit findings.

Gated with a work email on the download page. No sales follow up you did not ask for.

Get the White Paper →
Independent, buyer side. We never share your details with vendors.
Run a software spend health check against your Oracle estate in under five minutes.
Open the Tool →
Deep Library

More on this topic.

Oracle Hub →
Oracle Spatial and Graph Licensing: The Option That Surfaces in Audits
Oracle · Guide
Oracle Spatial and Graph Licensing: The Option That Surfaces in Audits
The full guide this article belongs to.
Guide
Oracle Locator vs Spatial: Which Features Are Free and Which Trigger a Bill
Oracle · Deep dive
Oracle Locator vs Spatial: Which Features Are Free and Which Trigger a Bill
Another angle on the same decision.
Guide
Challenging Oracle audit findings. The claim is not the bill.
Oracle
Challenging Oracle audit findings. The claim is not the bill.
Oracle audit findings are an opening claim, not a verdict. Learn to challenge the data, se
Guide
Oracle Database Options & Management Packs: the accidental-use audit trap
Oracle
Oracle Database Options & Management Packs: the accidental-use audit trap
The separately-licensed options and packs that ship enabled by default, get switched on wi
Guide
Should You Use Oracle's JMS Tool to Self-Report Java Usage?
Oracle
Should You Use Oracle's JMS Tool to Self-Report Java Usage?
Oracle's JMS self-report is a volunteer audit. It ignores third-party and restricted-use l
Guide
Editorial boardroom interior

The advisor your vendors do not want.

500+ enterprise clients. 11 vendor practices. Industry recognized. One conversation can change what you pay for the next three years.

Stay ahead of Oracle licensing changes.

One buyer side briefing a week. Renewal signals, audit moves, and the levers that work. No vendor spin.