Building a Java inventory before renewal is the single most effective thing you can do to control an Oracle Java SE bill. The inventory separates the Oracle JDK that creates liability from the free OpenJDK that does not, defines exactly who falls inside the Employee Metric, and arms you with evidence to contest Oracle's count — instead of accepting whatever number Oracle's renewal team puts in front of you.
Short answer: A Java inventory before renewal is a complete, vendor-classified record of every Java runtime in your estate. Its purpose is to prove how much Oracle JDK you actually run in production, separate it from free OpenJDK, and scope the Employee Metric accurately — so you walk into the renewal with evidence, not Oracle's assumptions.
You build a Java inventory before renewal because Oracle's renewal proposal is an opening position, not a measurement of what you owe. Without your own evidence, you are negotiating against Oracle's numbers with nothing to counter them. With a defensible inventory, you can show precisely where Oracle JDK runs, prove the rest of the estate is free OpenJDK, and challenge any inflated Employee Metric count line by line.
A Java estate inventory is a complete, classified record of every Java runtime across your organization — its vendor, version, environment, and the license it was obtained under. The reason it matters so much under the current model is that the Java SE Universal Subscription is priced on total employee headcount, so the central question at renewal is binary: do you run any Oracle JDK that obliges you to subscribe, and if so, for which legal entities? The inventory answers that question with facts.
The cost of skipping this work is real. Across our engagements, enterprises that arrive at renewal with an independent inventory reduce the proposed count by 15–40% compared with those who accept Oracle's figure (Oracle Licensing Experts, 2026). Our Java Licensing service builds this inventory for clients, and the broader method sits inside our Oracle Java Licensing Guide.
You scan the whole estate by discovering every Java runtime everywhere it can hide — not just the production server farm. Java embeds in places teams forget: desktops, VDI golden images, CI/CD agents, container base images, cloud marketplace images, third-party application bundles, and developer laptops. A scan that misses any of these leaves a blind spot that Oracle's LMS team will happily find for you.
Effective discovery combines several sources rather than relying on one. Endpoint management and software inventory tools (SCCM, Jamf, Tanium) catch installed runtimes; filesystem scans for java, release, and java -version output identify embedded JDKs that package managers miss; container registry scans surface JDKs baked into images; and cloud configuration scans catch instances launched from images with bundled Java. Java is frequently embedded inside third-party applications, so application bundle directories must be scanned as carefully as standalone installs.
| Environment | Common Java footprint | Discovery method |
|---|---|---|
| Production & non-prod servers | Standalone JDK/JRE, app server runtimes | Inventory agent + filesystem scan |
| Desktops & laptops | Oracle JRE, vendor-bundled Java | Endpoint management tool |
| VDI & golden images | Java baked into base image | Image inspection pre-deploy |
| Containers | JDK in base layers | Registry/image scan |
| Cloud instances | Marketplace-image Oracle JDK | Cloud config + image audit |
| Third-party apps | Embedded private JRE | Bundle directory scan |
| A scan that omits any row leaves an undocumented Java footprint that Oracle can use to challenge your count. | ||
For cloud-heavy estates, pair this discovery with the counting rules in our companion guide on Java SE cloud counting, which explains how the Employee Metric and legacy Processor models treat cloud instances differently.
The inventory takes weeks, not days. Start now and you negotiate from evidence; start late and you negotiate from Oracle's spreadsheet. Our compliance review team runs the discovery for you.
You separate Oracle JDK from OpenJDK by recording the vendor of every Java binary, because only Oracle JDK in production commercial use creates a subscription liability. OpenJDK distributions — Amazon Corretto, Eclipse Temurin, Microsoft OpenJDK, and Azul Zulu — are free for production use. Two installs can run identical Java code; one costs you a subscription and the other costs nothing, and only the vendor string tells them apart.
Oracle JDK is Oracle's branded Java SE distribution, which requires a Java SE subscription for production commercial deployment. OpenJDK is the open-source upstream project from which Oracle JDK and every free distribution are built. The fastest reliable signal of vendor is the runtime's own output: java -version and the release file name the implementor and build, distinguishing an Oracle build from a Corretto or Temurin build. Record that string verbatim for every host — it is the evidence that a given install is, or is not, Oracle's.
The most expensive blind spot: teams install Oracle JDK on production servers believing it is "free Java," because Oracle distributes some builds under a no-fee license that excludes production commercial use. Classify by license terms, not by download cost. An inventory that records vendor and the download license catches this before Oracle's audit does.
This classification is also what makes a migration decision rational. Once you know exactly how many production hosts run Oracle JDK, you can decide whether to migrate them to OpenJDK and drop the subscription entirely. We cover that decision in depth in our broader Java guidance and in the Java SE Universal Subscription per-employee math, which shows why even a small amount of stray Oracle JDK can oblige a full-headcount subscription.
The inventory scopes your employee count by establishing which legal entities actually run Oracle JDK and which corporate entities and contractors fall inside the Employee Metric. Because the subscription is priced on total headcount, the highest-value part of the inventory is often organizational, not technical: which subsidiaries, affiliates, and contractor populations does Oracle want to include, and which can you legitimately exclude?
The Employee Metric counts every employee of the subscribing entity plus contractors performing services for the organization, and typically extends to subsidiaries more than 50% owned. Oracle's renewal team will push for the broadest possible reading of every boundary. A well-built inventory pairs the technical Oracle JDK footprint with a corporate-structure map, so you can argue that an entity running no Oracle JDK should not be swept into the count, and that contractors merely providing a service to you are not "performing services" for you. We define these boundaries precisely in what counts as an "employee" for Java SE.
This scoping is where negotiation leverage is created. When you can demonstrate that Oracle JDK is confined to a defined set of entities, you change the conversation from "license your whole global headcount" to "license the population that actually uses Oracle Java." Combine that evidence with the tactics in our Oracle Negotiation Guide to hold the line at renewal.
You turn the inventory into evidence by producing a per-host record that documents vendor, version, patch level, environment, and download license, plus a reconciliation of corporate entities and contractors against the Employee Metric. Evidence is what distinguishes a negotiating position you can defend from a guess Oracle can dismiss. The record must be reproducible — captured with your own tooling, timestamped, and retained.
Crucially, build this with independent tooling before you let Oracle's scripts touch anything. Oracle's LMS and measurement scripts collect data that becomes the foundation of Oracle's compliance claim; once submitted, that data is hard to walk back. Run your own discovery first, understand your true position, decide on any migration, and only then engage Oracle. If an audit is already underway, our Oracle Audit Defense team reviews script methodology before any output leaves your organization.
The payoff is concrete. In the Telecom Java Audit Defense case study, a disciplined inventory and migration record reduced Oracle's claim from $4.2M to $0 — because the evidence proved the production estate had already moved off Oracle JDK.
Start at least six months before the renewal date. A defensible Java inventory takes weeks to scan, validate, and reconcile, and any OpenJDK migration you decide to make needs lead time to complete and document before the renewal conversation begins. Leaving it to the final month forces you to negotiate from Oracle's numbers because you have no time to build your own.
A practical timeline runs roughly: months six to five for full discovery and vendor classification; months five to three for entity and contractor scoping plus the migration decision; months three to one to execute any migration and capture evidence; and the final month to finalize your counting position and open the renewal discussion from a documented baseline. This sequencing keeps you in control of both the data and the calendar — the two things Oracle's renewal cycle is designed to take away from you.
Our former-Oracle team runs the discovery, classifies the estate, scopes the count, and negotiates the renewal — buyer-side, every time.
Start at least six months before the renewal date. A defensible Java inventory takes weeks to scan, validate, and reconcile, and any OpenJDK migration you decide to make needs lead time to complete and document before the renewal conversation begins.
Oracle JDK is Oracle's branded Java distribution and requires a Java SE subscription for production commercial use. OpenJDK distributions such as Amazon Corretto, Eclipse Temurin, Microsoft OpenJDK, and Azul Zulu are free for production use. A Java inventory must record the vendor of every binary, because only Oracle JDK creates a liability.
Scan for all Java, then classify by vendor. You only owe Oracle for Oracle JDK in production, but you must scan everything to prove the rest is free OpenJDK. An inventory that records only Oracle JDK cannot demonstrate that the remaining estate is not Oracle's.
Build your inventory with independent tooling first. Oracle's LMS scripts collect data that becomes the basis of Oracle's compliance claim. Run your own discovery, understand your position, and never submit Oracle script output during a renewal or audit without independent review.
Under the Employee Metric, the subscription is priced on total headcount, not installs. The inventory's job is to prove whether any Oracle JDK exists at all and to define which corporate entities and contractors fall inside the count, so you can scope the subscription accurately and challenge an inflated count.
A defensible inventory produces a per-host record of Java vendor, version, patch level, environment, and download license, plus a reconciliation of corporate entities and contractors against the Employee Metric. This evidence lets you contest Oracle's count rather than accept it.
Discovery checklists, Oracle-JDK-versus-OpenJDK classification, Employee Metric scoping, migration planning, and renewal negotiation scripts — built from 600+ Oracle engagements. Download free.
Download Free Guide →Java SE renewal intelligence, Employee Metric updates, OpenJDK migration guidance, and negotiation data from active engagements — every week, from former Oracle insiders.
Oracle Licensing Experts Team — Former Oracle licensing executives, LMS auditors, and contract managers, now working exclusively for enterprise buyers. Not affiliated with Oracle Corporation. About our team →