LocationsResourcesContact
📅 Book a Meeting
Oracle Database Licensing — SAM Technical Guide

Interpreting Oracle LMS Database Script Output: A Guide for SAM Managers

Oracle's LMS Database collection script — often called Oracle Review Lite — is the cornerstone of Oracle audits. It produces output files containing raw technical data on installed products, feature usage, user counts, and hardware metrics. This guide provides an expert-level, practical approach to interpreting every key output file, identifying compliance red flags, cross-referencing with entitlements, and taking corrective action.

📅 June 2025⏱ 24 min read✍️ Fredrik Filipsson

📖 Companion guide: Step-by-Step Analysing Oracle LMS Tool Output for Database Licensing

Read the Guide →

Key Output Files at a Glance

Output FileWhat It ContainsLicensing Relevance
LMS_OVERVIEW.csvHost name, instance name, Oracle version & edition, CPU/core counts, cluster infoCritical — maps instances to processor licences, verifies edition
LMS_OPTIONS.csvStatus (TRUE/FALSE) and usage counts for each database option and management packCritical — directly identifies unlicensed feature usage
Installed_Products.txtAll Oracle components installed in the Oracle Home directoryHigh — reveals what's physically present and could be accidentally used
Feature Usage (DBA_FEATURE_USAGE_STATISTICS)Granular sub-feature usage with detected counts, currently-used flags, first/last datesHigh — forensic detail behind option flags; pinpoints what triggered usage
LMS_DBA_USERS.csvDatabase user accounts with status (OPEN/LOCKED/EXPIRED)High — ties into Named User Plus (NUP) licensing and minimum calculations
LMS_DETAIL.csvGranular schema/PDB-level detailsMedium — supplementary deep-dive data
LMS_V$LICENSE.csvHigh-water mark concurrent session statsLow — rarely a direct compliance driver today
LMS_V$SESSION.csvSnapshot of active sessions at script runtimeLow — usage pattern indicator, not a direct licence metric
1

LMS_OVERVIEW.csv — Environment & Instance Summary

The LMS_OVERVIEW.csv provides a high-level summary of each scanned Oracle database instance: server/host name, instance name/SID, Oracle version and edition, hardware/CPU info (cores, chip type), and environment metadata (OS, cluster name, virtualisation info).

What to Check

Data PointWhat to VerifyCompliance Impact
Edition (EE vs SE)Confirm each instance matches the edition you've licensedUsing Enterprise Edition without EE licences is a major compliance issue
CPU core countCross-reference with purchased processor licences using Oracle's core factor tableUnder-licensed processors = compliance gap
Cluster / RAC infoIf clustered, RAC option must be licensed for each nodeRAC is a separately licensed option — unlicensed RAC is a critical finding
All instances listedEnsure every Oracle DB in your environment appears — forgotten test/dev DBs still need licensingMissing instances = unaccounted compliance exposure

Sample Interpretation

Host: dbserver01 | DB Name: ORCL | Version: 19.3.0.0 EE | Cores: 16 (Intel) | Cluster: 2-node RAC

Interpretation: Enterprise Edition on 16 Intel cores requires 8 processor licences (core factor 0.5). Two-node RAC means the RAC option must also be licensed on those 8 processors. Verify you have at least 8 EE Database licences and 8 RAC option licences for this environment.

2

LMS_OPTIONS.csv — Database Options & Packs Usage

This is the most critical output file. It lists the status and usage of every separately licensable database option (Partitioning, Advanced Compression, Advanced Security, RAC, etc.) and management pack (Diagnostics Pack, Tuning Pack). Each row shows the option name, a used flag (TRUE/FALSE), detected usage count, and last usage date.

The LMS script tracks historical usage, not just current status. Even if you disabled a feature before the audit, if it was ever used, it will appear with a last usage date — and Oracle will flag it. A "TRUE" or non-zero usage count for any option you haven't purchased is a compliance gap.

Sample Output & Interpretation

Database: ORCL Option | Used? | Detected | Last Usage Partitioning | TRUE | 5 | 2024-07-15 Advanced Compression | FALSE | 0 | N/A Oracle Diagnostics Pack | TRUE | 1 | 2024-06-01 Real Application Clusters | TRUE | — | —
OptionResultWhat It MeansAction Required
Partitioning = TRUE (5 uses)Non-compliant (if unlicensed)Partitioned tables/indexes exist or existed. Even past usage counts. Oracle expects licences for the period it was used.Verify if licensed. If not: purchase licences or remove partitioned objects and disable.
Adv. Compression = FALSE (0)CompliantNo compression features requiring this option have been used. No licence needed.None — but ensure DBAs don't enable compression features inadvertently.
Diagnostics Pack = TRUE (1 use)Non-compliant (if unlicensed)AWR, ADDM, or ASH accessed. Often triggered unknowingly via OEM or built-in health checks.Disable pack via CONTROL_MANAGEMENT_PACK_ACCESS = NONE. Purchase if genuinely needed.
RAC = TRUENon-compliant (if unlicensed)Database is configured for multi-node clustering. Must be licensed per processor per node.Verify RAC option licences exist for all nodes. If not: break cluster or procure.
Go line by line for each database: every "TRUE" under an option or pack must correspond to something in your entitlements. If not, mark it as a potential non-compliance item. The combination of LMS_OPTIONS.csv analysis and your entitlement records is essentially your compliance report card.
3

Installed_Products.txt — Inventory of Installed Components

This file lists all Oracle software components found in the Oracle Home directory — everything the installer placed on disk, regardless of whether it's been used. A typical Enterprise Edition install includes dozens of components: Partitioning, OLAP, Data Mining, Label Security, RAC binaries, and more.

⚠️ Risk: Installed ≠ Used, But...

  • Oracle's policy: you only need to licence options when used, not just because they're installed
  • But having them installed is risky — a DBA might inadvertently enable them
  • If Installed_Products shows Enterprise Edition but you only licensed Standard Edition, that's a major compliance issue regardless of feature usage

✅ How to Use This File

  • Verify no unexpected Oracle products are lurking on the server
  • Confirm the edition matches your licence (EE vs SE)
  • Cross-reference with LMS_OPTIONS: installed + used = must licence; installed + not used = monitor closely
  • If you'll never use certain options, consider removing binaries to eliminate risk
4

Feature Usage — Granular Usage Statistics

This granular view (from DBA_FEATURE_USAGE_STATISTICS) breaks each option into sub-features with individual usage counts, currently-used flags, and first/last dates. It provides the forensic evidence behind the summary in LMS_OPTIONS.csv.

Sample Output & Interpretation

Feature | Uses | Current | Last Used Partitioning (user) | 5 | FALSE | 2024-07-15 Partitioning (system) | 3 | TRUE | 2024-07-15 Advanced Index Compression (Adv. Compression) | 1 | TRUE | 2024-09-05 SecureFile Compression (user) (Adv. Compression) | 0 | FALSE | N/A Transparent Data Encryption (ASO) | 12 | TRUE | 2025-02-10
FeatureInterpretationLicence Implication
Partitioning (user) = 5 uses, FALSE currentlyPartitioned objects were created but may have been dropped. Oracle still counts the historical usage.Partitioning option required
Partitioning (system) = 3 uses, TRUEOracle internally used partitioning (e.g. partitioned indexes for XML). If user = 0 and only system = TRUE, Oracle may not enforce — nuanced point.Usually not charged if user = 0, but confirm
Adv. Index Compression = 1 use, TRUEAn index was created with compression. Any sub-feature use triggers the full option licence requirement.Advanced Compression option required
SecureFile Compression = 0 usesNot all sub-features were used — but doesn't matter since another sub-feature was. One part used = full option needed.Already covered above
TDE = 12 uses, TRUEEncrypted columns or tablespaces exist. TDE is part of the Advanced Security Option (ASO).ASO licence required — difficult to remediate since encryption may be a security requirement
Pay attention to "SUPPRESSED_DUE_TO_BUG" entries in the Feature Usage output. These indicate Oracle has acknowledged a known false positive for that feature. This can be a defence if Oracle mistakenly counts a usage — you have the data to discuss. Not all "TRUE" entries necessarily reflect genuine customer-driven usage.
5

LMS_DBA_USERS.csv — Database Users & Named User Licensing

This file lists every database user account (username, account status, creation date). It ties directly into Oracle's Named User Plus (NUP) licensing metric.

NUP Minimum Calculation

ScenarioCalculationNUP Licences Required
10 users on a 2-processor EE serverMinimum = 2 processors × 25 NUP = 5050 (minimum overrides actual count)
100 users on a 4-processor EE serverMinimum = 4 × 25 = 100; actual = 100100 (actual meets minimum)
120 users on a 4-processor EE serverMinimum = 100; actual = 120 (actual exceeds)120 (actual count governs)
Identify and exclude Oracle-maintained system accounts (SYS, SYSTEM, DBSNMP, OUTLN, ANONYMOUS, APEX_PUBLIC_USER, etc.) from your user count — these are not counted toward NUP licensing. Prepare documentation showing which accounts are system/service accounts versus actual named end-users. Lock or remove old employee accounts to reduce your count.
6

Common Red Flags in LMS Output

Red FlagWhat to Look ForRisk Level
Unlicensed options showing "Used"Partitioning, Advanced Compression, Advanced Security, RAC, OLAP, Database Vault, Label Security with TRUE statusCritical
Management packs enabledDiagnostics Pack or Tuning Pack = TRUE; AWR, ADDM, ASH, SQL Tuning Advisor usageCritical
RAC on standby/test systemsRAC enabled on standby or test nodes without separate licences — Oracle requires RAC licensing on all nodesCritical
High CPU on Standard EditionSE2 on a machine exceeding 2 sockets or core limits — Oracle could insist on EE licensingCritical
Unexpected products installedGoldenGate, Spatial and Graph, or other products in Installed_Products.txt that you didn't licenceHigh
NUP minimums not metFew users on large servers with EE — Oracle's per-processor minimums still apply regardlessHigh
Multiple features on same DBPartitioning + TDE + RAC all TRUE on one instance — compounded exposure if unlicensedCritical
Edition mismatchInstalled_Products shows Enterprise Edition but you only purchased Standard EditionCritical
Virtualisation (VMware)Server names indicating VMs — Oracle may demand licensing all physical hosts in the clusterCritical
The biggest compliance culprits in LMS audits are Partitioning, Diagnostics Pack, and RAC. These three features are frequently enabled or accessed without the organisation realising it requires separate licensing. A single AWR report, one partitioned table, or an accidental RAC configuration can each trigger substantial licence costs.
7

Cross-Referencing LMS Output with Entitlements

Interpreting the data is only half the battle. The next step is comparing findings against your contracts and licences. Here's a systematic reconciliation process:

🎯 Compliance Matrix Template

For each database, create a row with columns for: Instance Name, Server, Edition, Cores, Processor Licences Required, Processor Licences Owned, each Option (Partitioning, RAC, Adv. Compression, Adv. Security, Diagnostics Pack, Tuning Pack, etc.) with Used/Licensed columns, NUP Count, NUP Minimum, NUP Owned. Any row with a shortfall is highlighted for action. This single document becomes your audit-readiness report card.

8

Actions for Unexpected or Unlicensed Usage

1
Validate the findings. Engage a DBA to confirm the LMS report. Check if partitioned tables actually exist, if AWR snapshots were generated, if RAC is truly configured. Occasionally there are false positives or Oracle internal uses that don't count.
2
Investigate scope and impact. Was it dev/test or production? One-time or ongoing? Which application or team caused it? Scope determines whether to remediate technically or purchase licences.
3
Immediate remediation. If the feature isn't business-critical: disable Diagnostics/Tuning Packs via CONTROL_MANAGEMENT_PACK_ACCESS = NONE; unpartition tables if Partitioning is unlicensed; break RAC clusters on test systems. Stop the bleeding to prevent further non-compliant use.
4
Document and quantify the gap. Record exactly which servers, databases, features, time periods, and processor counts are affected. This information is essential for procurement budgeting and for negotiation if Oracle audits.
5
Decide: purchase, reconfigure, or exception. If the feature delivers business value and will continue — purchase licences (ideally before Oracle audits, to negotiate better pricing). If accidental — disable and implement controls. In rare cases, Oracle may offer a waiver for minimal usage if you commit to not using it again.
6
Engage stakeholders. Brief IT management, procurement/finance, and legal. Quantify exposure: "Using Tuning Pack without a licence on 8 processors could cost $X in licences plus back support." Get approval for remediation actions.
7
Remediate and verify. After implementing fixes, run DBA_FEATURE_USAGE_STATISTICS again to confirm "currently_used" is now FALSE. Schedule periodic checks to catch reactivation.
8
Educate and prevent. Train DBAs about which features require extra licences. Restrict privileges. Set CONTROL_MANAGEMENT_PACK_ACCESS at instance level. Integrate licence checks into your change management process for any new Oracle deployment.
9

Best Practices for Reviewing & Organising LMS Output

PracticeDetails
Review internally before submitting to OracleAlways review LMS output internally (or with a trusted consultant) before handing it to Oracle. Find and fix issues proactively.
Use a structured analysis templateDevelop a checklist/spreadsheet for each instance: edition, cores, each option (Used Y/N, Licensed Y/N), user counts, notes. This becomes your internal audit report.
Run scripts periodically, not just at audit timeSchedule quarterly or annual LMS runs internally to catch compliance gaps early — not just when Oracle requests it.
Keep historical recordsMaintain a repository of past LMS outputs to track trends: if Partitioning wasn't used last year but is this year, something changed — investigate.
Cross-reference with CMDBEnsure every Oracle database server had the script run. Leaving a server out (intentionally or accidentally) is disastrous if Oracle finds it via other means.
Never edit raw output filesEditing files sent to Oracle could be seen as tampering. Manipulate copies for internal analysis only.
Leverage SAM toolsTools like Snow, Flexera, or Licenseware can import LMS output and produce digestible compliance reports. Always sanity-check tool results manually.
Prepare an audit-ready packetSummary report, DB-to-licence mapping table, remediation documentation, copies of licence documents. Be ready to produce an organised explanation at any time.
Translate for executivesLeadership doesn't need CSV details — they need "are we compliant?" and "what's the financial exposure?" Translate technical findings into business terms.
Implement preventive controlsDBAs run DBA_FEATURE_USAGE_STATISTICS monthly; restrict privileges for licensed features; use Oracle's built-in parameters to enforce compliance by configuration.
Every line in those output files tells a story about your Oracle usage — make sure you know the story and have the ending written in your favour. The goal is to avoid surprises for your organisation and when dealing with Oracle. A well-organised LMS review process ensures that when auditors come knocking, you are fully prepared.

How Redress Compliance Helps with Oracle Audits

🛡️ Oracle Audit Defence 📋 Oracle Licence Management 🤝 Oracle Contract Negotiation ☕ Java Audit Defence

Need Help Interpreting Oracle LMS Output?

Oracle's LMS Database script output can be overwhelming — hundreds of queries, dozens of files, and complex licensing rules that determine whether a "TRUE" flag costs you nothing or millions. Our Oracle licensing experts review LMS output for enterprises worldwide, identifying compliance gaps, challenging false positives, and building defensible positions before you submit data to Oracle. We've helped clients save millions by catching and remediating issues proactively. Don't submit your LMS output without expert review.

FF

Fredrik Filipsson

Co-Founder, Redress Compliance

Fredrik Filipsson brings over 20 years of experience in enterprise software licensing, including senior roles at IBM, SAP, and Oracle. For the past 11 years, he has advised Fortune 500 companies and large enterprises on complex licensing challenges, contract negotiations, and vendor management — consistently delivering outcomes that save clients millions across Oracle, Microsoft, SAP, IBM, Salesforce, and Broadcom engagements.

View all articles by Fredrik →