Methodically counting Oracle licenses across different environments and infrastructure types is a critical pre-requisite to effective Oracle license management. I figured it would be helpful to gather the most important concepts in this quick reference. We will be limiting coverage here to “Processor” licenses, as discussions around NUPs, Application Users, and other current and legacy metrics can quickly become lengthy.
Oracle’s “Processor” definition can be reviewed here: License Definition and Rules (oracle.com) . I will not be reproducing it here, but it’s critical to the remaining discussion. The key thing to keep in mind is that all cores on all CPUs where Oracle programs are installed and/or running require licensing. Next, after counting all physical cores, we need to aggregate the number of cores and then multiply that by the appropriate Core Factor, as listed in the Processor Core Factor table here: Oracle Processor Core Factor Table. Simple enough so far. Below is a summarized table for counting Processor licenses in common environment types. As you will see, I have avoided going into contentious topics like Oracle’s policies for licensing in virtual environments and third-party cloud environments.
Server / Infrastructure Type |
License Counting Summary |
Physical machine
(like physical server or desktop). |
- Count all physical cores.
- Multiply total physical cores by Core Factor. Round up if needed.
|
Virtual Machine – VMware.
(The approach and concept applies to VDIs like Citrix as well). |
- Identify physical servers that support Oracle workloads. This may be either a standalone physical host that VMs with Oracle may be limited to, or clusters of physical hosts within which VMs may VMotion, or VCenters where such VMs may VMotion across clusters/hosts.
- Based on the above, determine if host-level, cluster-level, or VCenter level licensing will be applied.
- For the appropriate level, identify total physical hosts across which the VMs with Oracle programs reside. Count all physical cores across all CPUs on the hosts.
- Multiply total physical cores by Core Factor. Round up if needed.
Note: The above methodology ignores Oracle’s policy on licensing in virtual environments (Server Partitioning (oracle.com)) and instead relies on contractual definitions only. |
Virtual Machine – Oracle virtualization. |
- Identify virtual and physical servers that support Oracle workloads and the VM-to-CPU mapping or pinning between the VMs and cores on the physical hosts. Depending on the type of virtualization, count cores on physical hosts based on directions in the following documents:
– Linux KVM: Hard Partitioning with Oracle Linux KVM
– OVM x86: Hard Partitioning with Oracle VM Server for x86
– OVM SPARC: Hard Partitioning with Oracle VM Server for SPARC
The documentation above also provides instructions on how VMs can be pinned to specific cores to reduce or limit the license requirement.
- Based on the above, identify physical cores running Oracle programs.
- Multiply total physical cores by Core Factor. Round up if needed.
|
Hard partitions – IBM LPARs.
(Other hard partitioning technologies like HP nPARs are conceptually similar) |
- Identify all LPARs with Oracle programs.
- Analyze LPARs current and maximum allowed cores. This is typically done using the lparstat command and inspecting the mode to see if it’s capped or uncapped.
- For capped LPARs, count the capped core count. For uncapped LPARs, count the maximum cores the LPAR may access. Also ensure that the total core count for each Oracle product does not exceed the maximum core pool size.
- Based on the above, identify physical cores running Oracle programs.
- Multiply total physical cores by Core Factor. Round up if needed.
|
Cloud – Oracle Cloud Infrastructure |
- For OCI Compute and DBCS, count the number of OCPUs in the respective VMs or, in the case of bare metal, the total number OCPUs in the system.
- For OCI VMware Cloud Solution (OVCS), count total OCPUs for the configured hosts in the VMware SDDC.
- Multiply total physical cores by Core Factor. Round up if needed. The Core Factor for OCI is defined in the Processor Core Factor table referenced above.
|
Cloud – AWS, Azure, GCP. |
- For compute services (EC2, etc.), count the number of vCPUs in the VMs or in the physical host, in the case of bare metal systems.
- For VMware Cloud Solutions across the different cloud vendors, one of two approaches can be taken depending on your interpretation of the Oracle contract, and whether you decide to apply Oracle’s licensing policy in third-party clouds:
– If you apply Oracle’s policy document: Count total vCPUs in the VMware clusters and (if the systems are hyper-threaded), count 1 Processor license for each vCPU. Round up if needed.
– If you ignore Oracle’s policy document: Count total physical cores in the VMware clusters and apply the appropriate Core Factor for the CPU type. Round up if needed.
|
Hopefully the summary above will help with some basic navigation around counting Processor licenses and serve as a useful starting point.
As always, feel free to contact us for a complimentary consultation. Contact Us.