Licensing
Oracle Diagnostics Pack Usage: How to Check It, How to Stop It
3 November 2026
The Diagnostics Pack and the Tuning Pack are licensed apart from Enterprise Edition, they are switched on by default on every Enterprise Edition database, and Oracle keeps a record of every use. A DBA who has never bought them has usually used them: one AWR report during an incident, one ADDM run, one query on DBA_HIST_ACTIVE_SESS_HISTORY, and the row in DBA_FEATURE_USAGE_STATISTICS is there for the next license review. Three things settle it: the switch, which is one parameter; the record, which is one view; and a monitoring tool that never touches either pack, which is what Scops is.
The switch
SELECT name, value, isdefault
FROM v$parameter
WHERE name = 'control_management_pack_access';
Oracle's reference: "CONTROL_MANAGEMENT_PACK_ACCESS specifies which of the Server Manageability Packs should be active." The values are NONE, "Both packs are not available"; DIAGNOSTIC, "Only the DIAGNOSTIC pack is available"; and DIAGNOSTIC+TUNING, "Both packs are available. This is the default." The default is DIAGNOSTIC+TUNING on Enterprise Edition and NONE on all other editions, "The DIAGNOSTIC pack includes AWR, ADDM, and so on", "The TUNING pack includes SQL Tuning Advisor, SQLAccess Advisor, and so on", and "A license for DIAGNOSTIC is required for enabling the TUNING pack." The parameter is set with ALTER SYSTEM and is not modifiable in a pluggable database, so in a container database it is set once, in the root, for every PDB. A value of NONE on a database that has no pack license is the single most useful line in an Oracle license review, because from then on the AWR report, the ADDM report, the ASH report and Performance Hub refuse to run, and the record stops growing.
What counts as use
Oracle's Database Licensing Information User Manual lists the objects of each pack. For the Diagnostics Pack: "The V$ACTIVE_SESSION_HISTORY dynamic performance view and its underlying table, X$ASH, are part of this pack", and "All data dictionary views beginning with the prefix DBA_HIST_ are part of this pack", with six exceptions that "can be used without the Oracle Diagnostics Pack license": DBA_HIST_SNAPSHOT, DBA_HIST_DATABASE_INSTANCE, DBA_HIST_SNAP_ERROR, DBA_HIST_SEG_STAT, DBA_HIST_SEG_STAT_OBJ and DBA_HIST_UNDOSTAT. The packages DBMS_WORKLOAD_REPOSITORY, DBMS_ADDM, DBMS_PERF and DBMS_UMF and the scripts awrrpt, ashrpt and addmrpt are in the pack. For the Tuning Pack: DBMS_SQLTUNE, DBMS_SQL_MONITOR, DBMS_AUTO_SQLTUNE, V$SQL_MONITOR, V$SQL_PLAN_MONITOR and sqltrpt.sql; the features are the SQL Tuning Advisor, the SQL Access Advisor and Real-Time SQL Monitoring. The same manual states what is free: "SQL Plan Management does not require a license for Oracle Diagnostics Pack or Oracle Tuning Pack", and every V$ view other than the two named above is part of the database you already own. The trap most databases fall into is the Automatic SQL Tuning Advisor, a Tuning Pack feature that the Administrator's Guide lists among the predefined automated maintenance tasks, "configured to run in all maintenance windows" by default, which is a Tuning Pack use every night without anyone asking for it.
The record
SELECT name, version, detected_usages, total_samples, currently_used,
first_usage_date, last_usage_date
FROM dba_feature_usage_statistics
WHERE detected_usages > 0
AND (name LIKE '%ADDM%' OR name LIKE '%AWR%'
OR name LIKE '%Diagnostic%' OR name LIKE '%Tuning%'
OR name LIKE '%SQL Monitor%' OR name LIKE '%SQL Profile%'
OR name LIKE '%Baseline%' OR name LIKE '%Active Session%'
OR name LIKE '%Performance%' OR name LIKE '%Advisor%')
ORDER BY last_usage_date DESC;
The reference describes the view as "information about database feature usage statistics", and its columns are the review: DETECTED_USAGES, the "Number of times the system has detected usage for the feature"; TOTAL_SAMPLES, the "Number of times the system has woken up and checked for feature usage"; CURRENTLY_USED, "whether usage was detected the last time the system checked"; and the first and last dates on which usage was detected. The sampler runs on an interval the view reports in SAMPLE_INTERVAL, in seconds, so a use made this morning shows up at the next sample, not at once, and the VERSION column keeps the rows of every release the database has run, so a use from before the last upgrade is still there. The feature names change between releases, which is why the query matches on patterns rather than on a list; the full list with Oracle's own description of how each use is detected is SELECT name, description FROM dba_feature_usage_statistics ORDER BY name, which is the query the reference itself suggests. Oracle's license reviews read this view through a script of their own, and it is the same rows.
Turning the packs off
- Set the switch.
ALTER SYSTEM SET control_management_pack_access = 'NONE' SCOPE = BOTH;in the root of a container database. The reports and the advisors stop at once; no restart. - Stop the night-time use.
DBMS_AUTO_TASK_ADMIN.DISABLE('sql tuning advisor', NULL, NULL)turns the Automatic SQL Tuning Advisor task off in every window, so the Tuning Pack is not used on your behalf while you sleep. The optimizer statistics collection, which needs no pack, keeps running. - Stop reading the pack views. Scripts, dashboards and tools that query
DBA_HIST_views orV$ACTIVE_SESSION_HISTORYare uses whatever the switch says. Find them inV$SQLbysql_text LIKE '%DBA_HIST%'and in the job and tool logs, and point them at the free views instead. - Decide about the snapshots. AWR snapshots keep being taken with the switch at
NONE; they are a separate setting.DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 0)disables them, "automatic and manual snapshots will be disabled" in the words of the package reference, andSTATISTICS_LEVEL = BASICdisables them too, along with a long list of free features the reference says Oracle "strongly recommends that you do not disable". Most databases leave the snapshots on and the switch off; the switch and the absence of reads are what the record reflects. - Keep the record. Query the view once a quarter, keep the output, and mark the date the switch went to
NONE. A review that finds a use from before that date and none after it is a short review.
Monitoring without the packs
Scops monitors an Oracle database through one read-only account with CREATE SESSION and SELECT_CATALOG_ROLE, and it never reads a pack object unless you turn a switch on. Its own history replaces the pack's: it samples every session every 5 seconds and keeps the samples in its repository, so the Activity chart, the session history and the wait analysis that V$ACTIVE_SESSION_HISTORY and DBA_HIST_ACTIVE_SESS_HISTORY would give come from Scops' own data, on Enterprise Edition and on Standard Edition 2 alike. SQL statistics are collected every 10 minutes from V$SQL, plan changes are detected from V$SQL_PLAN, and the Radar Engine's 75+ detectors and Scops AI's 40+ tools work on that data. Where ADDM writes a report once an hour, Radar reads the database live and knows the usual level of every hour.
| Pack feature | Pack | In Scops, without the pack |
|---|---|---|
| ASH, V$ACTIVE_SESSION_HISTORY | Diagnostics | Session samples every 5 seconds, kept in the Scops repository; Activity chart by wait class, statement, object and session |
| AWR report, DBA_HIST_ views | Diagnostics | Metrics and SQL statistics collected by Scops and kept per database, with the usual level of every hour learned by Radar |
| ADDM | Diagnostics | Radar Engine: 75+ detectors, live and hourly, with the cause named in the finding; Scops AI for the question behind it |
| Real-Time SQL Monitoring | Tuning | The SQL page: executions, plan, plan changes and statistics per statement, every 10 minutes |
| SQL Tuning Advisor, SQL profiles | Tuning | Behind the pack switch; SQL plan baselines, which need no pack, are the first choice of the plan fix |
The pack switch in Scops is per database and off by default. Turning it on asks for a license confirmation and records who turned it on and when, and it enables the SQL Tuning Advisor, SQL Monitor, AWR plans, SQL profiles and the automatic plan fix for that database only. The License page then does the review for you: it lists the packs and options each database uses, flags a use that is new in the last 90 days and not marked licensed, or any use on Standard Edition, and counts the processor licenses of Enterprise Edition at cores × 0.5 and the sockets of Standard Edition 2.
Questions
How do I check whether the Diagnostics Pack is being used?
Query DBA_FEATURE_USAGE_STATISTICS for the AWR, ADDM, ASH, Baseline, Diagnostic and Tuning feature names with DETECTED_USAGES above zero, and read CONTROL_MANAGEMENT_PACK_ACCESS in V$PARAMETER. A value of DIAGNOSTIC+TUNING, the Enterprise Edition default, means every report and advisor is available and every use is recorded.
Does CONTROL_MANAGEMENT_PACK_ACCESS = NONE stop AWR snapshots?
No. It makes both packs unavailable, so AWR, ADDM and ASH reports and the advisors stop. The snapshots are a separate setting: DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS with an interval of 0 disables them, and STATISTICS_LEVEL = BASIC disables them along with many free features.
Can I query V$ACTIVE_SESSION_HISTORY without the pack?
No. Oracle's licensing manual says the view and its underlying table X$ASH are part of the Diagnostics Pack, as are all DBA_HIST_ views except six. V$SESSION, V$SESSION_WAIT, V$SQL and V$SYSSTAT need no pack, and Scops builds its own session history from them every 5 seconds.
Is the Automatic SQL Tuning Advisor a Tuning Pack use?
Yes, and it runs by default in every maintenance window. DBMS_AUTO_TASK_ADMIN.DISABLE for the sql tuning advisor client stops it; the statistics collection task, which needs no pack, is unaffected.
What does Scops read on my database?
V$ and DBA_ views through a read-only account with SELECT_CATALOG_ROLE, every 5 seconds for sessions and every 10 minutes for SQL statistics. It reads no pack object unless the per-database pack switch is on, which requires a license confirmation and is recorded.
Related
- The Oracle Diagnostics Pack cost
- Diagnostics Pack alternative
- Session history without the Diagnostics Pack
- Standard Edition 2 limits
- Standard Edition monitoring
- Oracle monitoring tools compared
- Is AWR free? Is ASH licensed?
- Is Oracle Enterprise Manager free?