The Oracle Diagnostic Pack and Tuning Pack are the single most common source of unplanned Oracle licensing costs in enterprise environments. These database management packs, priced at $7,500 and $5,000 per processor respectively, are not included with Oracle Database Enterprise Edition but are enabled by default in many configurations. A single AWR report run by a DBA on an unlicensed database creates a permanent audit trail that Oracle's compliance team will use to assert full pack licensing across the entire server. This guide provides the complete management pack licensing framework.
This advisory is part of our comprehensive Oracle Licensing Knowledge Hub. For database option licensing fundamentals, see our Oracle Licence Metrics and Definitions guide. For LMS audit mechanics, see our Oracle LMS Scripts and Compliance guide.
The Diagnostic Pack and Tuning Pack are separate add-on options for Oracle Database Enterprise Edition that provide advanced performance monitoring and SQL optimisation capabilities. They are not included with the base Enterprise Edition licence and must be purchased separately. Critically, the Tuning Pack cannot be licensed without the Diagnostic Pack. They are a mandatory pair.
| Pack | Key Features | What Triggers Licensing | List Price (Processor) | List Price (NUP) |
|---|---|---|---|---|
| Diagnostic Pack | Automatic Workload Repository (AWR), Active Session History (ASH), Automatic Database Diagnostic Monitor (ADDM), Enterprise Manager performance pages | Running an AWR report, viewing ASH data, using ADDM advisors, accessing EM performance dashboards | $7,500/proc | $150/NUP |
| Tuning Pack | SQL Tuning Advisor, SQL Access Advisor, SQL Plan Management/Baselines, SQL Monitoring (real-time), SQL Profile creation | Running SQL Tuning Advisor, creating SQL Profiles, using SQL Access Advisor, real-time SQL monitoring | $5,000/proc | $100/NUP |
| Both Packs Combined | All Diagnostic Pack features + all Tuning Pack features | Any feature from either pack | $12,500/proc (+$2,750 annual support) | $250/NUP (+$55 annual support) |
On Oracle Database Enterprise Edition, the CONTROL_MANAGEMENT_PACK_ACCESS parameter defaults to "DIAGNOSTIC+TUNING," meaning the database is configured to use both packs from the moment it is installed. AWR snapshots are automatically collected every 60 minutes by default. If you have not licensed these packs, your database is accumulating audit evidence of unlicensed usage from day one. Every AWR snapshot, every ASH sample, every ADDM recommendation is recorded in DBA_FEATURE_USAGE_STATISTICS and will be cited by Oracle's audit team. The fix is simple but must be applied proactively: set CONTROL_MANAGEMENT_PACK_ACCESS = NONE on every unlicensed database and purge AWR data. But once usage is recorded, it cannot be un-recorded. Oracle treats any historical usage as evidence of licensing obligation.
| Rule | What Oracle Requires | Compliance Implication |
|---|---|---|
| Enterprise Edition only | Diagnostic Pack and Tuning Pack are available only with Oracle Database Enterprise Edition. Cannot be used with Standard Edition 2 | If pack features are used on SE2, Oracle asserts you need EE + both packs. A catastrophic cost escalation |
| Match the DB metric | Pack licences must use the same metric (Processor or NUP) as the underlying DB EE licence. No mixing | If DB EE is licensed by Processor, packs must be licensed by Processor on the same servers |
| Match the DB quantity | Pack licence count must equal the DB EE licence count on each server. You cannot partially licence a pack on a subset of processors | A server with 8 DB EE processor licences requires 8 Diagnostic Pack and 8 Tuning Pack processor licences. No partial licensing |
| Tuning Pack requires Diagnostic Pack | Tuning Pack cannot be licensed or used without Diagnostic Pack. They are a mandatory pair | If you need SQL Tuning Advisor, you must purchase both packs: $12,500/processor combined |
| Per-database licensing | Each database where pack features are used must be independently licensed. Licensing on one database does not cover other databases on the same server | If you have 3 databases on a server and use packs on all 3, all must be licensed (though processor-based licensing typically covers all instances on the same hardware) |
| Virtualisation rules apply | Oracle's Partitioning Policy applies. VMware = soft partitioning = all physical cores in cluster. Pack licensing multiplies across every processor in scope | Pack licensing on VMware/Nutanix follows the same cluster-wide rules as DB EE. The multiplier effect is devastating for packs |
You cannot purchase or use the Tuning Pack without also licensing the Diagnostic Pack. This mandatory prerequisite means that any need for SQL Tuning Advisor, SQL Access Advisor, SQL Plan Baselines, or real-time SQL monitoring requires both packs at a combined cost of $12,500 per processor (plus $2,750 annual support). There is no Tuning-Pack-only option. This rule catches organisations that attempt to licence only the specific pack they need. If your DBAs use any Tuning Pack feature, you must also hold Diagnostic Pack licences for the same processors at the same quantity.
| Scenario | DB EE Cost | Diagnostic Pack | Tuning Pack | Total Packs | Packs as % of DB EE |
|---|---|---|---|---|---|
| Single server, 8 processors | $380,000 | $60,000 | $40,000 | $100,000 | 26% |
| 2 servers, 16 processors each | $1,520,000 | $240,000 | $160,000 | $400,000 | 26% |
| VMware cluster: 4 hosts x 20 cores = 40 proc | $1,900,000 | $300,000 | $200,000 | $500,000 | 26% |
| Large estate: 10 servers x 16 proc = 160 proc | $7,600,000 | $1,200,000 | $800,000 | $2,000,000 | 26% |
A global manufacturer with 8 Oracle DB EE servers (each 2 x 10-core Intel = 10 processors per server after 0.5 core factor, 80 processors total) never purchased Diagnostic or Tuning Pack licences. However, DBAs routinely ran AWR reports across all 8 servers. Oracle's audit discovered DBA_FEATURE_USAGE_STATISTICS showing Diagnostic Pack usage on all servers. Oracle's claim: 80 Diagnostic Pack processor licences ($600,000) + 80 Tuning Pack processor licences ($400,000) = $1,000,000 in licence fees + $220,000/year annual support + backdated support fees. The company negotiated packs for only the 2 servers that genuinely needed them (20 processors x $12,500 = $250,000) and disabled packs on the remaining 6 servers. Final resolution: $250,000 vs $1,000,000+ initial claim, achieved through proactive remediation and negotiation.
Oracle's primary evidence source for pack licensing compliance is the DBA_FEATURE_USAGE_STATISTICS data dictionary view. This view records every feature access cumulatively and permanently. Oracle's LMS audit scripts specifically query this view to detect Diagnostic and Tuning Pack usage. It is the first thing auditors examine.
| Feature Recorded | Pack It Belongs To | How It Gets Triggered | Can It Be Reversed? |
|---|---|---|---|
| AWR Report | Diagnostic Pack | Any execution of awrrpt.sql or OEM AWR report generation | No. Usage counter is permanent. Purging AWR data removes snapshots but not usage history |
| Active Session History (ASH) | Diagnostic Pack | Querying V$ACTIVE_SESSION_HISTORY or ASH reports in OEM | No. Once recorded, the feature is flagged as "used" |
| ADDM | Diagnostic Pack | Automatic or manual ADDM analysis execution | No |
| SQL Tuning Advisor | Tuning Pack | Running SQL Tuning Advisor manually or via auto-task | No |
| SQL Access Advisor | Tuning Pack | Running SQL Access Advisor for index/materialised view recommendations | No |
| SQL Plan Baselines | Tuning Pack | Creating or loading SQL Plan Baselines | No |
| Real-Time SQL Monitoring | Tuning Pack | Viewing real-time SQL execution plans in OEM or via V$SQL_MONITOR | No |
DBA_FEATURE_USAGE_STATISTICS is a cumulative, permanent record. Usage cannot be deleted, reset, or reversed by the DBA. Even if you disable packs today and never use them again, any historical usage remains visible to Oracle's audit scripts indefinitely. The only defence is to prevent usage from occurring in the first place by setting CONTROL_MANAGEMENT_PACK_ACCESS = NONE on every unlicensed database before any pack feature is accessed. Once usage is recorded, your negotiating position shifts from "we never used it" to "we used it but have since stopped." That is a fundamentally weaker position in any audit negotiation.
| Scenario | How It Happens | Pack Triggered | Prevention |
|---|---|---|---|
| Default AWR collection | Fresh EE installation leaves CONTROL_MANAGEMENT_PACK_ACCESS at default ("DIAGNOSTIC+TUNING"). AWR snapshots begin collecting automatically every 60 minutes | Diagnostic Pack (automatic from install) | Set CONTROL_MANAGEMENT_PACK_ACCESS = NONE during or immediately after installation |
| DBA troubleshooting | DBA runs AWR report or ASH report to diagnose a performance issue. Single execution creates permanent usage record | Diagnostic Pack | Train DBAs to use Statspack instead. Restrict access to AWR/ASH scripts on unlicensed databases |
| OEM auto-tuning tasks | Oracle Enterprise Manager runs SQL Tuning Advisor as an automated maintenance task. DBA may not be aware this is happening | Tuning Pack (automatic via OEM) | Disable automated tuning maintenance windows on unlicensed databases |
| Third-party monitoring tools | Tools like SolarWinds DPA, Quest Foglight, or Datadog query AWR/ASH views for performance data, triggering Diagnostic Pack usage | Diagnostic Pack | Configure monitoring tools to use Statspack or non-pack data sources on unlicensed databases |
| Developer using SQL Monitor | Developer views real-time SQL execution plans via V$SQL_MONITOR or OEM SQL monitoring page | Tuning Pack | Restrict developer access to pack-related views and OEM pages on unlicensed databases |
The most common accidental usage scenario is the default AWR collection. Every fresh Oracle Database Enterprise Edition installation ships with CONTROL_MANAGEMENT_PACK_ACCESS set to "DIAGNOSTIC+TUNING." AWR snapshots begin collecting automatically every 60 minutes from the moment the database is created. No DBA action is required for this to happen. This means that every unlicensed EE database in your environment is potentially accumulating audit evidence from day one of installation. The fix takes 30 seconds: ALTER SYSTEM SET control_management_pack_access='NONE' SCOPE=BOTH. But it must be applied proactively. Retroactive application stops future usage but does not erase past usage from DBA_FEATURE_USAGE_STATISTICS.
Oracle Database Standard Edition 2 does not include the Diagnostic Pack or Tuning Pack and is not entitled to use these features. However, nothing in the software technically prevents a DBA from running AWR reports or SQL Tuning Advisor on Standard Edition. The features may be accessible if the database was originally installed as Enterprise Edition or if certain scripts are executed manually.
| What Happens | Oracle's Position | Financial Impact |
|---|---|---|
| Pack features used on SE2 | Oracle asserts that using EE-only features (Diagnostic/Tuning Packs) on a Standard Edition database means the database must be relicensed as Enterprise Edition, plus the packs | $47,500/proc (EE upgrade) + $12,500/proc (both packs) = $60,000/proc. A 16-processor server goes from approximately $35,000 SE2 to $960,000 EE+packs |
| Multiple SE2 servers affected | Each SE2 server with detected pack usage must be relicensed independently as EE + packs | $500K to $5M+ across multiple servers. The most expensive licensing mistake per server in Oracle's portfolio |
If Oracle discovers Diagnostic Pack or Tuning Pack features used on a Standard Edition 2 database, the consequences are dramatically worse than on Enterprise Edition. Oracle's position is that using EE-only features on SE2 means the entire database must be relicensed as Enterprise Edition at $47,500 per processor, plus both packs at $12,500 per processor, for a combined $60,000 per processor. On a 16-processor server, this escalation takes the licensing cost from approximately $35,000 (SE2) to $960,000 (EE + both packs). This is a 27x cost increase for a single licensing mistake. Prevent this by ensuring Diagnostic Pack and Tuning Pack features are completely inaccessible on all Standard Edition installations.
When Diagnostic Pack and Tuning Pack are used on Oracle databases running in virtualised environments (VMware, Nutanix, Hyper-V), the pack licensing obligation is multiplied by the same cluster-wide rules that apply to the base database. Pack licensing follows the database. Wherever the database must be licensed, the packs must also be licensed on the same processors.
| Environment | DB EE Licensing Scope | Pack Licensing Scope | Combined Cost Impact |
|---|---|---|---|
| Physical server (16 cores = 8 proc) | 8 proc x $47,500 = $380,000 | 8 proc x $12,500 = $100,000 | $480,000 total |
| VMware cluster (4 hosts x 40 cores = 80 proc after CF) | 80 proc x $47,500 = $3,800,000 | 80 proc x $12,500 = $1,000,000 | $4,800,000 total |
| Ratio | 10x physical | 10x physical | Pack cost alone ($1M) exceeds entire physical server DB+packs ($480K) |
The virtualisation multiplier is devastating for pack licensing specifically because pack costs are additive to the already-multiplied database costs. On a 4-host VMware cluster, the combined DB EE + Diagnostic Pack + Tuning Pack licence obligation reaches $4.8M compared to $480K on a single physical server. The pack licensing alone on the VMware cluster ($1M) exceeds the total cost of the database plus packs on a physical server ($480K). Organisations running Oracle with packs on VMware or Nutanix should prioritise either hard partitioning (Oracle VM) or dedicated physical infrastructure for Oracle workloads to avoid this compounding exposure. See our Oracle Virtualisation Licensing Guide.
| Strategy | How It Works | Typical Savings | Applicability |
|---|---|---|---|
| Selective deployment | License packs only on mission-critical production databases that require advanced performance management. Disable packs on all other databases (dev, test, non-critical prod) | 50 to 80% reduction vs licensing all databases | All organisations. The highest-impact strategy |
| Use Statspack instead | Oracle's free Statspack tool provides basic performance snapshots similar to AWR. Less automated and feature-rich, but requires no licence | 100% pack cost avoided on Statspack databases | Databases where advanced performance monitoring is not essential |
| Disable CONTROL_MANAGEMENT_PACK_ACCESS | Set parameter to NONE on all unlicensed databases. Prevents AWR collection, ASH access, and tuning advisor execution | Prevents future audit exposure on unlicensed databases | Every unlicensed EE database. Mandatory compliance control |
| Include packs in ULA | If negotiating an Oracle ULA, include Diagnostic Pack and Tuning Pack in the ULA product scope for unlimited deployment at no per-processor cost | $500K to $5M+ in pack licensing avoided during ULA. Certify pack entitlements at exit | Organisations with existing or planned ULAs |
| Negotiate pack discounts | List prices ($7,500/$5,000 per processor) are negotiable. Combined with DB EE purchases, discounts of 40 to 70% are achievable | 40 to 70% off list price | All new pack purchases. Never accept list price |
| Right-size hardware | Pack licensing is per processor. Fewer physical cores = fewer pack licences. Consolidate Oracle workloads onto fewer, right-sized servers | 20 to 40% reduction through hardware consolidation | Organisations running Oracle on oversized or legacy servers |
The single most effective cost optimisation is selective deployment: license packs only on the databases that genuinely require advanced performance monitoring and disable them everywhere else. In a typical enterprise with 8 to 10 Oracle database servers, only 2 to 3 production databases truly need AWR, ADDM, and SQL Tuning Advisor. Licensing packs on 3 servers instead of 10 reduces pack costs by 70%. The key is rigorous enforcement: disable CONTROL_MANAGEMENT_PACK_ACCESS on all unlicensed databases and train DBAs to use Statspack as the approved alternative. Every database where packs are not explicitly needed should have packs explicitly disabled.
1. Query DBA_FEATURE_USAGE_STATISTICS on every database quarterly. Run: SELECT name, detected_usages, currently_used FROM dba_feature_usage_statistics WHERE name LIKE '%Diagnostic%' OR name LIKE '%Tuning%' OR name LIKE '%AWR%' OR name LIKE '%SQL Tuning%'. Any non-zero detected_usages on an unlicensed database equals compliance exposure. This is the exact query Oracle's audit team will run.
2. Set CONTROL_MANAGEMENT_PACK_ACCESS = NONE on all unlicensed databases. Execute: ALTER SYSTEM SET control_management_pack_access='NONE' SCOPE=BOTH on every EE database that does not have licensed Diagnostic and Tuning Packs. This prevents AWR collection, ASH sampling, ADDM analysis, and tuning advisor execution. Apply immediately after installation.
3. Disable automated tuning maintenance tasks. On unlicensed databases, disable Oracle's automatic SQL tuning maintenance task via Enterprise Manager or DBMS_AUTO_TASK_ADMIN. This task runs SQL Tuning Advisor automatically and creates Tuning Pack usage records without DBA intervention.
4. Train DBAs on pack licensing triggers. Ensure every DBA understands which actions trigger Diagnostic Pack and Tuning Pack licensing: AWR reports, ASH queries, ADDM, SQL Tuning Advisor, SQL Access Advisor, SQL Plan Baselines, real-time SQL monitoring. Provide Statspack as the approved alternative for unlicensed databases.
5. Audit third-party monitoring tool configurations. Verify that third-party monitoring tools (SolarWinds, Quest, Datadog) are not querying AWR/ASH views on unlicensed databases. Configure these tools to use Statspack or non-pack data sources where packs are not licensed.
6. Maintain pack licence-to-server mapping. Document which servers have licensed Diagnostic and Tuning Packs, including the processor count and licence metric. Verify that the pack licence count matches the DB EE licence count on each server. Update the mapping whenever hardware changes occur.
Diagnostic and Tuning Pack findings appear in 70 to 80% of Oracle audits. They are the single most common licensing finding across all Oracle products. The six governance disciplines above take a few hours per quarter to execute. The cost of not executing them is measured in hundreds of thousands to millions of dollars during an audit. Every discipline in this checklist exists because we have seen the corresponding audit finding in client engagements, repeatedly. The organisations that never face pack licensing surprises are the ones that query DBA_FEATURE_USAGE_STATISTICS quarterly, enforce CONTROL_MANAGEMENT_PACK_ACCESS = NONE, and maintain a clear licence-to-server mapping.
No. Oracle requires that if you use a pack on a database, you must licence all processors on which the database is running, identical to how you licence the database itself. Partial processor licensing is not permitted. If your DB EE is licensed for 8 processors on a server, both Diagnostic Pack and Tuning Pack must also be licensed for 8 processors on that server. It is all-or-nothing per database environment.
No. Oracle requires Diagnostic Pack as a mandatory prerequisite for Tuning Pack. You cannot license or deploy Tuning Pack on a database unless Diagnostic Pack is also licensed for that database. If you need SQL Tuning Advisor, SQL Access Advisor, or SQL Plan Baselines, you must purchase both packs at $12,500 per processor combined at list price. There is no Tuning-Pack-only option.
Query DBA_FEATURE_USAGE_STATISTICS on each database for features containing "Diagnostic," "Tuning," "AWR," or "SQL Tuning" in the name. Check the DETECTED_USAGES column (cumulative count) and CURRENTLY_USED column (Y/N). Also check the CONTROL_MANAGEMENT_PACK_ACCESS parameter. If it is set to "DIAGNOSTIC+TUNING" (the default), the database is configured to use both packs. Oracle's LMS audit scripts query these same views, so the data you check internally is the data Oracle will examine during an audit.
When using Oracle Database in Oracle Cloud Infrastructure (OCI), including Autonomous Database, Base Database Service, and Exadata Cloud Service, Diagnostic and Tuning Pack functionality is typically included in the cloud subscription at no additional licence cost. However, for all on-premises deployments and BYOL (Bring Your Own Licence) cloud deployments on AWS, Azure, or GCP, the packs must be licensed separately. This distinction applies only to Oracle-managed cloud services, not to self-managed Oracle Database running on cloud infrastructure.
Oracle will issue a compliance notice requiring purchase of pack licences for every processor on every server where usage was detected, retroactively, for the entire period of detected usage. This includes the licence fee plus backdated annual support (22% per year for every year of unlicensed use). On a large estate, this can reach $500K to $5M+. The most effective defence: remediate before the audit by disabling packs on unlicensed databases, demonstrating that usage was inadvertent and has been stopped, and negotiating packs only for servers that genuinely require them.
Oracle's Statspack is a free performance snapshot utility that provides similar (though less automated) functionality to AWR. Statspack does not require Diagnostic Pack licensing. It collects database performance statistics at scheduled intervals and generates comparison reports. While Statspack lacks AWR's automatic analysis (ADDM), real-time ASH data, and Enterprise Manager integration, it is fully sufficient for basic performance monitoring and troubleshooting on databases where you do not want to incur pack licence costs. Install Statspack using @?/rdbms/admin/spcreate.sql and schedule regular snapshots.
Not sure whether your Diagnostic Pack and Tuning Pack usage is fully compliant? Our licensing assessment queries DBA_FEATURE_USAGE_STATISTICS across every database, identifies unlicensed usage, quantifies compliance exposure, and develops remediation strategies before Oracle's audit team does.
Oracle Licence ManagementIndependent licensing assessment. DBA_FEATURE_USAGE_STATISTICS analysis. Pack remediation. Audit defence. 100% vendor-independent.