Most Oracle Database compliance gaps are not decisions anyone made. They are features a DBA switched on, a cluster that grew, a standby server nobody counted, or a cloud instance sized by the old arithmetic. Each one is cheap to fix before an audit and expensive after it, because Oracle’s findings come with back support on top of the licence fee.
These are the five issues we find most often when we review Oracle Database estates, what Oracle’s rules actually say about each, and how to fix them.
In short
- Options and packs such as Partitioning, Advanced Compression and the Diagnostics and Tuning Packs are licensed separately from Enterprise Edition, and the database records when they are used. Data Guard itself is included with Enterprise Edition; Active Data Guard is the paid option.
- VMware and other soft partitioning is where the largest claims come from: Oracle’s Partitioning Policy asks for every core of every host a virtual machine could run on.
- Standard Edition 2 may only run on servers with up to two sockets, and cannot use the Diagnostics and Tuning Packs at all.
- Standby and disaster recovery servers need full licences once the database is installed and running there. The only exception is a failover node in a cluster, for up to 10 days a year.
- Public clouds are counted in vCPUs, not cores, and need twice the on-premises licences on AWS, Azure and Google Cloud.
1. Options and management packs in use without a licence
Enterprise Edition includes a lot, but not everything. Partitioning, Advanced Compression, Advanced Security, Real Application Clusters, Active Data Guard, Database In-Memory, the Multitenant option and the Diagnostics and Tuning Packs are each licensed separately, on the same metric and the same number of processors or users as the database they run on.
Several are easy to use without meaning to. The Diagnostics Pack is enabled by default in Enterprise Edition, so anyone running an AWR report or using the performance pages in Enterprise Manager is using it. A table compressed with advanced compression in a test copy counts. Since Oracle 19c, Multitenant is only needed above three user-created pluggable databases per container, so a fourth one created for convenience triggers it.
The database keeps a record. The view DBA_FEATURE_USAGE_STATISTICS lists every feature that has been used, and it is the first thing Oracle’s audit scripts read. Remember Data Guard is not on this list: Data Guard is included with Enterprise Edition. It is Active Data Guard, which opens the standby for queries while it applies changes, that needs its own licence.
The fix: Read the feature usage on every database before anyone else does. Set CONTROL_MANAGEMENT_PACK_ACCESS to NONE where the packs are not licensed, and record why any past use was a one-off, such as a default setting that has since been turned off.
2. Oracle on VMware and other virtualised platforms
On your own hardware, Oracle counts the physical cores where the database is installed or running, multiplied by the core factor (0.5 for Intel and AMD). The question is which cores. Oracle’s Partitioning Policy accepts a short list of hard partitioning technologies, such as IBM LPAR and Oracle Linux KVM with pinned CPUs, where you license only the cores assigned. For VMware, Hyper-V and other soft partitioning, the policy asks for every core of every host the virtual machine could move to, which in a large vCenter can mean hundreds of unlicensed cores for one database.
That policy is not part of your Oracle contract, and we explain in our audit work why it does not bind you. But it is the number an audit report starts from, so the strongest position is a design that does not depend on the argument.
The fix: Run Oracle in dedicated clusters, keep them separate from the rest of the estate in storage and networking, and keep records that show where Oracle virtual machines could and could not run.
3. Standard Edition 2 used beyond its limits
Standard Edition 2 is a fraction of the price of Enterprise Edition, and it comes with limits that are easy to cross. It may only be licensed on servers with a maximum of two sockets. Each database instance is limited to 16 CPU threads. Real Application Clusters is no longer included from Oracle 19c. Data Guard is an Enterprise Edition feature, so a standby for Standard Edition 2 has to be built another way.
The common gap is the packs. The Diagnostics and Tuning Packs can only be licensed with Enterprise Edition, so on Standard Edition 2 there is no licence to buy: querying AWR or ASH data, or using Enterprise Manager’s performance pages, is a finding with no simple remedy except moving to Enterprise Edition.
The fix: Set CONTROL_MANAGEMENT_PACK_ACCESS to NONE on every Standard Edition 2 database, use Statspack for performance history, and check each server’s socket count before a hardware refresh.
4. Standby and disaster recovery servers
A common belief is that a “cold” disaster recovery copy is free. Oracle has no such rule. Oracle’s policy on licensing data recovery environments says a standby or mirrored server where the database is installed and running must be licensed like production, on the same metric and with the same options, whether or not users connect to it. A Data Guard physical standby is therefore fully licensed.
There is one exception, for failover. In a cluster where nodes share storage, the failover node may run the database for up to 10 separate days in a calendar year without its own licence. That covers one failover node per cluster, and only for failover, not for a standby that runs continuously.
The fix: List every server where the database software is installed, including standby, mirror and test servers, and license each one or remove the software. If a full standby is too expensive, a failover cluster may meet the same recovery target for less.
5. Counting licences in the public cloud
On AWS, Microsoft Azure and Google Cloud, which Oracle calls Authorized Cloud Environments, Oracle counts the vCPUs of the instance: two vCPUs are one processor licence when multi-threading is enabled. The core factor does not apply. Eight Intel cores on premises need 4 licences; the same cores on AWS, presented as 16 vCPUs, need 8. On Oracle Cloud Infrastructure, one processor licence covers two OCPUs, the same count as on premises.
The fix: Size licences for a migration with the cloud rule, not the on-premises count, and agree in writing how Oracle will count any constrained-vCPU instance sizes. Our guide to licensing Oracle in the cloud covers each provider.
Where optimisation pays
The same review that finds compliance gaps usually finds savings. Turning off packs nobody uses, moving suitable databases to Standard Edition 2, consolidating onto fewer licensed hosts, containing Oracle in dedicated clusters and choosing failover over a fully licensed standby all reduce what you need to own. Before you drop licences to save support, check how Oracle reprices what remains: removing part of a licence set does not always reduce the bill.
Questions we are asked about Oracle Database compliance
Is Data Guard included in Oracle Database Enterprise Edition?
Yes. Data Guard is included with Enterprise Edition. Active Data Guard, which lets the standby be opened for queries while it applies changes, is a separately licensed option. The standby server itself must be licensed.
Do I need to license a disaster recovery server for Oracle?
Yes, if the database is installed and running there, including a Data Guard standby. The exception is a failover node in a shared-storage cluster, which may run for up to 10 days a year without a licence.
How do I check which Oracle options and packs are in use?
Query DBA_FEATURE_USAGE_STATISTICS on each database. It records which features have been used and when, and it is the same view Oracle’s audit scripts read.
Do I need the Multitenant option for pluggable databases?
Not for up to three user-created pluggable databases per container database, from Oracle 19c. A fourth needs the Multitenant option on Enterprise Edition.
Can Oracle Standard Edition 2 use the Diagnostics Pack?
No. The Diagnostics and Tuning Packs can only be licensed with Enterprise Edition. Use Statspack on Standard Edition 2.
The cheapest time to find a compliance gap is before Oracle does. Our audit defense team reviews feature usage, virtualisation and standby estates against your contracts, or you can book an hour with our Advisor on Call to check one question first.
