Contents
Key takeawaysOption list pricesWhat is installed by defaultRoutine work that records usagePrerequisite rulesCost on one serverWhat we see in auditsStopping usage safelyCutting the billWhat to do nextFAQEvery Enterprise Edition option is a separate license on the same metric and quantity as its database, most are installed by default, and routine tasks record usage for several. Price your real exposure before Oracle does.
- Installed by default. A standard Enterprise Edition install links most priced options into the binary before anyone uses them, so presence says nothing about a purchase decision.
- The packs record themselves. The automatic maintenance tasks run SQL Tuning Advisor and take AWR snapshots out of the box, which records Tuning Pack and Diagnostics Pack usage with no human involved.
- Tuning brings Diagnostics. Tuning Pack cannot be licensed alone, so one advisor run creates two line items at roughly $12,500 per processor at list.
- All or nothing per database. Each option must be licensed on the same metric and quantity as the database under it, with no partial coverage.
- One parameter, $23,000 a processor. Setting INMEMORY_SIZE above zero licenses Database In Memory unless you stay inside the 16 gigabyte base level in recent 19c releases.
- One server, $384,000. Partitioning, Diagnostics and Tuning on a 32 core server at a 0.5 core factor is 16 processor licenses and roughly $384,000 at list before backdated support.
- Some claim lines are wrong. Native network encryption has been included with all editions since 12c, so an auditor pricing Advanced Security for it should remove that line.
How much do Oracle Database Enterprise Edition options cost?
Each Enterprise Edition option and management pack is a separate license, priced per processor or per Named User Plus, and buying the database gives you none of them. The list prices run from $5,000 per processor for Tuning Pack to $23,000 for Real Application Clusters or Database In Memory.
The table shows the list prices we work from, with the reason each option usually turns up in an audit. Check them against the current Oracle technology price list before you put them in a business case.
| Option or pack | Per processor | Per Named User Plus | Usual reason it is found |
|---|---|---|---|
| Enterprise Edition | $47,500 | $950 | The base every option attaches to |
| Partitioning | $11,500 | $230 | Performance work, or a dictionary false positive |
| Diagnostics Pack | $7,500 | $150 | AWR snapshots, on by default |
| Tuning Pack | $5,000 | $100 | The automatic tuning task, and it needs Diagnostics too |
| Advanced Compression | $11,500 | $230 | Backup, export or SecureFiles compression |
| Advanced Security | $15,000 | $300 | Transparent data encryption or data redaction |
| Active Data Guard | $11,500 | $230 | Reporting on an open standby |
| Real Application Clusters | $23,000 | $460 | Clustered availability, on every node |
| Database In Memory | $23,000 | $460 | One parameter set above zero |
| Multitenant | $17,500 | $350 | More pluggable databases than the free allowance |
| Real Application Testing | $11,500 | $230 | Upgrade testing and workload replay |
How the per processor arithmetic works
Count the physical cores, multiply by the Oracle core factor to get processor licenses, then multiply by the list price of each option. Most current Intel and AMD cores carry a factor of 0.5 in the Oracle processor core factor table.
Our page on the Oracle core factor covers the edge cases, such as older chips and virtualized hosts. Everything below assumes the processor count is already right, because every option price multiplies that number.
Why Named User Plus rarely makes the options cheap
Named User Plus looks like the smaller number until you apply the minimum. Enterprise Edition carries a floor of 25 users per processor, set out in the Oracle Database licensing information manual, and every option on that database must be licensed to the same user count.
Say a server needs 16 processor licenses. The minimum is then 400 Named User Plus, so Partitioning costs at least $92,000 on that metric against $184,000 by processor. The saving holds only while your real user count stays near the floor, and our crossover calculator shows where it stops.
How to Prepare for Your Oracle SaaS Negotiation
Which options are already installed on your databases?
Most of them. A standard Enterprise Edition installation links the majority of priced options into the binary at install time, whether you bought them or not, so the software itself gives you no signal about what you own.
Installed does not mean licensed, or used
Because the options are linked in, any administrator can use them the moment the database opens. There is no install step, license key or approval screen between a DBA and a priced feature.
That is why reading the output correctly matters. An option listed as present in V$OPTION and a row of recorded usage in DBA_FEATURE_USAGE_STATISTICS are different claims, and our column by column reading guide explains which one Oracle can bill.
Use the relink utility to take options out
Oracle ships a utility called chopt in the database home that enables or disables specific options in the binary. On 19c it covers Partitioning, OLAP, Advanced Analytics and Real Application Testing.
Disabling an option you have not bought is a legitimate, dated configuration change that stops future usage at the source. Run it in a maintenance window with the database down, raise a change record and keep the utility output.
Where the exposure enters
- The default install. Options are linked in, available and unmonitored from day one.
- The default database template. The creation assistant builds databases with sample schemas and the automatic tasks switched on.
- The default maintenance window. Scheduled jobs call priced advisors every night without asking anyone.
- The clone. A refreshed test database inherits the production usage history along with the data.
- The appliance or cloud image. Preconfigured images often arrive with more enabled than a server built by hand.
Oracle Options and Management Packs
Why the options often cost more than the database, with the pricing worked through. Read it free.
Get the white paper →What routine work records option usage without anyone deciding to?
More than most DBAs expect. Six kinds of everyday work account for nearly every accidental finding we see, and none of them start as a project decision.
The automatic tasks that run overnight
The automated maintenance window includes an automatic SQL tuning task that calls SQL Tuning Advisor. That advisor is a Tuning Pack feature, and the task is enabled by default.
The automatic workload repository also takes AWR snapshots on a schedule, which counts as Diagnostics Pack usage. Both packs are governed by the CONTROL_MANAGEMENT_PACK_ACCESS parameter, and its default on Enterprise Edition enables both.
The other routine triggers
- Backup and export compression. RMAN backup sets compressed beyond the basic algorithm, and Data Pump export compression beyond metadata only, are Advanced Compression.
- Storage features. Advanced row compression, SecureFiles compression and deduplication all count toward Advanced Compression, and each can be set on a single object.
- Standby use. Opening a physical standby for reads while redo apply runs is Active Data Guard. Read only access with apply stopped is not.
- Single parameter features. Setting INMEMORY_SIZE above zero enables Database In Memory. Recent 19c releases, from 19.8, include a base level of up to 16 gigabytes, which requires INMEMORY_FORCE set to BASE_LEVEL to stay inside it.
- Container counts. Going past the free pluggable database allowance for your release licenses Multitenant. On 19c the allowance is three user created pluggable databases per container.
- Upgrade tooling. Performance comparison runs during an upgrade can call Real Application Testing features without anyone naming the option.
| Routine action | Option or pack it records | Deliberate? |
|---|---|---|
| Nightly automatic SQL tuning task | Tuning Pack, then Diagnostics Pack | No, on by default |
| AWR snapshot or ADDM report | Diagnostics Pack | No, on by default |
| Compressed backup set or export | Advanced Compression | Usually a DBA convenience |
| Standby opened for reads during apply | Active Data Guard | Often a reporting request |
| INMEMORY_SIZE set above zero | Database In Memory | One parameter, large bill |
| Fourth pluggable database created | Multitenant | Almost never noticed |
| Partitioned dictionary objects | Partitioning, as a false positive | No, managed by Oracle |
Which prerequisite rules turn one finding into three?
Four rules do most of the damage, and the price list shows none of them. Each one turns a single usage flag into a claim with several lines.
Tuning Pack requires Diagnostics Pack
Oracle does not sell Tuning Pack on its own. If an advisor run puts Tuning Pack in the finding, Diagnostics Pack comes with it, and the pair lists at roughly $12,500 per processor.
Options match the database, whatever the workload
An option must be licensed on every processor where its database is licensed, at the same metric and the same quantity. Oracle offers no partial coverage and no carve out for a single feature, so you cannot license Partitioning on half your cores.
This is the most expensive rule on the page. One partitioned table on a 16 processor cluster creates a 16 processor Partitioning liability. Our note on how options must match the database user count covers the same rule under Named User Plus.
Standby and cluster nodes multiply the same options
- A Data Guard standby normally needs the same Enterprise Edition licenses and the same options as the primary it protects.
- Real Application Clusters requires Enterprise Edition, and from 19c it is no longer available on Standard Edition 2 at all.
- Active Data Guard on a standby also requires the standby to hold every option the primary reads with.
- Test and development databases need full licenses under standard Oracle terms, so a cloned environment inherits both the usage history and the liability.
The metric has to match too
You cannot license the database by Named User Plus and its options by processor, or the reverse. A database bought on one metric fixes the metric for every option placed on it.
What does an options finding cost on a single server?
On one common server, three default findings cost $384,000 at list before the database itself, and backdated support adds about $253,000. The arithmetic below is what usually ends the argument.
Take a two socket server with 16 cores per socket. That is 32 cores at a 0.5 core factor, so every option on it needs 16 processor licenses.
| Line | Calculation | At list |
|---|---|---|
| Partitioning | $11,500 x 16 processors | $184,000 |
| Diagnostics Pack | $7,500 x 16 processors | $120,000 |
| Tuning Pack, which cannot stand alone | $5,000 x 16 processors | $80,000 |
| License subtotal | Sum of the three options | $384,000 |
| Annual support | 22 percent of the license subtotal | About $84,000 a year |
| Backdated support | Three claimed years at about $84,000 | About $253,000 |
| Opening claim | License plus backdated support | About $637,000 |
That is one server with three findings, and none of them was a purchase decision. Add a Data Guard standby of the same size and the option licenses alone double to $768,000. Repeat that across a cluster and you reach the size of opening claim most buyers receive.
Which lines should come out of an opening claim?
- Native network encryption priced as Advanced Security. Network encryption has been included with all editions since 12c, so it does not belong in the claim. Transparent data encryption and data redaction are what need the option.
- Spatial priced on a 19c database. Oracle dropped the separate license for Spatial and Graph in December 2019, for every on premises edition, so it should not appear as a priced line on 19c or any other supported release.
- Basic table compression priced as Advanced Compression. Basic compression is an Enterprise Edition feature. Only the advanced algorithms need the option.
- Partitioning claimed from dictionary objects. Ask for the list of partitioned objects by owner before you accept the line. Objects owned by SYS and other Oracle supplied schemas are created by the database itself, so they are not evidence that your team used the option, and our note on Partitioning feature usage in audits walks through the test.
- Options priced on servers outside the audited entity or period. Scope is a reduction you do not have to negotiate for, only point out.
What have we seen in Oracle Database audits in 2024 and 2025?
Across the 40 to 50 Oracle Database audits Fredrik Filipsson defended in 2024 and 2025, the options carried more exposure than the core database licenses. The same four patterns came up again and again.
- Options drive the claim. They made up 55 to 70 percent of the total claimed shortfall in a typical first finding, and about 65 percent across the roughly 45 audits.
- The packs appear almost everywhere. Diagnostics Pack or Tuning Pack usage showed up in about four out of five database findings, nearly always through default tooling rather than a project.
- Prerequisites are priced but not explained. Most opening claims charged the prerequisite rules against the customer without spelling them out.
- Opening claims come down. After a clean usage baseline and a scope challenge, the settled figure landed 30 to 55 percent below the opening claim, with a median reduction of 42 percent.
Buying Enterprise Edition gives you none of the options. On most servers the installer turned the meter on long before any person made a choice.
Should you license every option you might touch, just to be safe?
Resellers often advise exactly that. We think it is the wrong answer. In roughly seven out of ten environments we baseline, the customer is paying for, or being chased on, options no production workload needs.
Measure real usage first, shut off the defaults that record usage without a decision, find the few options a workload depends on, and license only those. Every extra option also adds support of 22 percent of its license price every year, and the next audit will still try to grow that base.
How do you stop option usage without falsifying anything?
Close access to the features and leave the history alone. Every legitimate step here prevents future usage, and none of them touch the record of what has already happened.
Set management pack access on every database
Set CONTROL_MANAGEMENT_PACK_ACCESS to NONE on every database without a Diagnostics or Tuning entitlement. Set it to DIAGNOSTIC where you own Diagnostics Pack but not Tuning Pack. Our guide to suppressing Diagnostics and Tuning Pack usage covers the side effects on monitoring tools.
Make each change a ticket with a date, an approver and the before and after values. That record turns a configuration change into evidence you can show an auditor.
Disabling pack access, relinking an option out of the binary and turning off an automatic task are normal configuration management. Do them, date them and keep the tickets.
Clearing or resetting the feature usage views is falsification of audit evidence. It also destroys the rows that prove an option was touched once, years ago, and never again, which is often the strongest argument you have.
How to check your own position before Oracle does
You can read the same data Oracle will read. These are the places we check first on every Enterprise Edition instance, including standbys and clones.
| Check | Where to look | What signals exposure |
|---|---|---|
| Recorded feature usage | DBA_FEATURE_USAGE_STATISTICS | Detected usages above zero for a feature you do not own |
| High water marks | DBA_HIGH_WATER_MARK_STATISTICS | A peak CPU count higher than the processor count your licenses assume |
| Pack access setting | SHOW PARAMETER control_management_pack_access | DIAGNOSTIC+TUNING on a database with no pack licenses |
| Automatic tuning task | DBA_AUTOTASK_CLIENT | The sql tuning advisor client shown as ENABLED |
| In Memory area | SHOW PARAMETER inmemory | INMEMORY_SIZE above zero without INMEMORY_FORCE at BASE_LEVEL |
| Backup compression | RMAN SHOW COMPRESSION ALGORITHM | LOW, MEDIUM or HIGH in place of BASIC |
| Standby open mode | OPEN_MODE in V$DATABASE on the standby | READ ONLY WITH APPLY |
Store the output with a date and keep every sweep. The first and last sample dates in the usage view often show that a feature was used once and never again, which narrows the claim period. For the discipline of running an Oracle supplied script, use the collection run guide.
Separate entitled, used and wasted
Put the usage list beside your contract entitlements and split it three ways. Options used but not owned are exposure, options owned but not used are waste, and both are worth money at a renewal.
Which steps cut the Oracle options bill?
Five steps, taken in this order. Each one narrows what the next has to cover, so the sequence matters more than any single action.
- Close the defaults. Set pack access correctly, disable the automatic tuning task where Tuning Pack is not owned, and relink out the options you have no plan to buy.
- Gate the change. Require a license check before any administrator enables a paid option, and put the list price in the change template. People decide differently when the cost is on the form.
- Push suitable workloads down to Standard Edition 2. Standard Edition 2 has no separately licensed options, so the whole option exposure goes away for workloads that fit. It runs only on servers with at most two sockets, caps each database at 16 CPU threads and lost clustering from 19c, so test before you commit.
- Baseline again every quarter. Drift is normal, and a quarterly sweep catches it while it is still a configuration problem. Compare each sweep with the last and investigate every new row.
- Time the purchase to the renewal. An option gap raised at renewal is a commercial negotiation with something to trade. The same gap raised inside an open audit is a compliance claim with backdated support attached, and the pre renewal footprint program covers the sequencing.
What will Oracle's audit team say, and how should you answer?
- "The usage view shows Tuning Pack, so it must be licensed across the cluster." Accept that the row exists. Then ask for the first and last usage dates, show that the automatic task caused it, and produce the dated change that stopped it.
- "Options cannot be licensed on part of a server." That is correct, so do not argue it. Argue the processor count, the core factor and whether each server sits inside the audited entity.
- "Backdated support always covers three years." Ask where your contract says so. The claim period should start at the first recorded usage, which is often later than the date in the claim.
- "Encrypted SQL traffic means Advanced Security." Point to the licensing manual, which lists native network encryption as available in all licensed editions.
- "An unlimited agreement would make the finding go away." Price the finding on its own first. An unlimited license agreement turns a one time claim into a larger annual support base, so compare both over five years.
What to put in the settlement or order document
- A release for past usage. Wording that settles all option usage up to the signature date, so the same rows cannot be claimed again next cycle.
- The servers and processor counts licensed. A named list prevents a later dispute about which hosts the purchase covered.
- The price list date and discount. Record both, so any later purchase of the same option starts from the same terms.
- Confirmation of excluded lines. Put any lines removed from the claim, such as network encryption or dictionary Partitioning, in writing.
Related reading
- Oracle middleware audit exposure, the same problem without a usage view to defend you.
- Oracle audit negotiation guide, on settling a finding on terms that suit you.
- Oracle options and management packs white paper, with the pricing for every option and pack worked through.
- Oracle knowledge hub, the full Oracle licensing library in one place.
What to do next
- Collect the data. Pull the feature usage and high water mark views from every Enterprise Edition database, including standbys, clones and copies outside production.
- Fix pack access. Record the current CONTROL_MANAGEMENT_PACK_ACCESS value on every instance, then set it to match what you own.
- Turn off the tuning task. List the enabled automatic maintenance tasks and disable the SQL tuning task wherever Tuning Pack is not licensed.
- Relink. Remove the options you will never buy in a maintenance window, with a change record and the utility output kept.
- Map and price. Match every usage row to a contract entitlement, split the result into exposure, waste and provable false positives, and price the exposure at list with the prerequisite rules applied.
- Check any claim line by line. Start with network encryption, Spatial on 19c and basic compression, then challenge scope and processor counts.
- Decide and time it. Choose what to fix, what to buy and what to trade, then place every purchase in the renewal window rather than inside an audit.
- Get independent help early. Talk to independent Oracle advisors before you answer any collection script or finding letter.
Frequently asked questions
Are Oracle Database options included with Enterprise Edition?
No. Every option and management pack is bought separately on top of Enterprise Edition. The confusion comes from the installer, which links most options into the binary, so they are present and usable on a server that never licensed them. Your order documents, not the software, show what you own.
Which option causes the most Oracle audit findings?
Diagnostics Pack and Tuning Pack, by a wide margin. They are the priced features a fresh database is most likely to use on its own schedule, through AWR snapshots and the nightly tuning task, so they appear on servers where every DBA would swear no one touched them.
Can I license Tuning Pack without Diagnostics Pack?
No. Oracle lists Diagnostics Pack as a prerequisite for Tuning Pack. If you want the SQL tuning features on a database, budget for both packs on every processor, or set pack access to DIAGNOSTIC so tuning stays switched off while you use AWR and ADDM.
Do I have to license an option on every processor?
Yes, on every processor where the database under it is licensed, at the same metric and quantity. The size of the object does not matter, which is why a finding that starts with one partitioned table can end as a Partitioning line for a whole cluster and its standby.
Does setting INMEMORY_SIZE license Database In Memory?
A value above zero enables the option and records usage. From 19.8 you can use up to 16 gigabytes without the option, but only with INMEMORY_FORCE set to BASE_LEVEL, and the view then records the base level feature instead of the full column store.
Is network encryption part of Advanced Security?
Not since 12c. Oracle's licensing manual lists native network encryption, network data integrity and SSL or TLS as available in all licensed editions. Transparent data encryption and data redaction still need Advanced Security, so check which feature a claim line is based on before accepting it.
Can I remove an option from the database to reduce exposure?
Yes, and it is legitimate. Running chopt with the database down disables the option in the binary and stops future usage. It leaves the historical usage rows in place, which is what you want, because those rows date the last use and support a shorter claim period.
Is Standard Edition 2 a real way out of the options bill?
For workloads that fit, yes, because Standard Edition 2 has no separately licensed options to find. The limits are real, including the socket ceiling and the removal of Real Application Clusters support from 19c, so prove performance and availability on a test copy before committing a production workload.