Oracle’s database product is offered with two types of licenses: Named User Plus (NUP) based on the number of users using the database and Processor based on the physical characteristics of the device (server) supporting the database process. Named User Plus licenses are used when the total number of users is identifiable and limited. (See the blog: Oracle’s Magic Ratio for more information on how to determine when to use NUP versus Processor based licensing). Processor licenses must be used when users cannot be counted or identified, for instance internet applications, or when the number of users is very high and makes the Named User Plus license cost prohibitive. The Processor license has few challenges, specifically when deployed in virtualized environments. The licensing impacts in a VMware virtual environment are considered below.
The Processor license for the Oracle Enterprise Edition is based on the number of physical cores in the processors installed in the device. The number of licenses required for a physical server is the number of cores multiplied by a factor tied to the processor type. Oracle publishes a core factor table here that is maintained over time. For instance, a server with 2 Intel Xeon E5620 processors, each of them having 4 cores will require (8 cores) * (.50 core factor) = 4 licenses. Oracle database Standard Edition and Standard Edition One consider the number of processor sockets: the Standard Edition can be only use for servers that have a maximum capacity of four sockets; the Standard Edition One is limited to servers with only two sockets.
Two major types of partitioning technologies have been identified by Oracle: hard partitioning that physically segments a server such as Solaris Containers, vPar, nPar, etc. Each partition acts as a physically independent, self-contained server with physical resources (CPU, memory…) allocated exclusively to it. Oracle only requires purchasing licenses for the hard partitions where an Oracle database is installed and/or running: only processors allocated to these partitions will be considered in the license calculation. The list of the supported hard partitioning technologies is published by Oracle here. Soft partitioning is a technology where an operating system limits the number of resources allocated to each partition. Solutions such as AIX Workload Manager, Microsoft Hyper-V or VMware ESX belong to that category and are not recognized by Oracle for licensing purposes. Installing an Oracle instance on a single virtual machine in these environments requires licensing all physical processor-cores on the host supporting it.
In the example shown above, if the virtual machines are hard partitions, the number of Oracle processor licenses required would be: 2 (virtual cores) x 0.5 = 1
If the virtual machines are soft partitions (e.g. VMware ESX), the number of Oracle processor licenses required would be: 2 (processors) x 4 (cores/processor) x 0.5 (Core factor) = 4
VMware hosts can be grouped into clusters. VMware ESX Clusters are used for load balancing and high availability (HA). Load balancing entails moving virtual machines from one host to another to regulate the load associated with each server for best performance. High availability is achieved by transferring virtual machines from one physical server to others in the event of a hardware failure. VMware VMotion performs the migration of live virtual machines between hosts with downtime unnoticeable to the end users. In this case scenario, a virtual machine supporting an Oracle instance could be moved from one server to another one at any time. All processors contained within all physical servers in the cluster must be licensed for Oracle if any virtual machine in the cluster carries an Oracle database instance.
VMware Distributed Resource Scheduler (DRS) VM-Host affinity rules set constraints that restrict placement of a group of virtual machines within a group of hosts in a cluster: virtual machines are limited to run on specific hosts within the cluster and cannot be moved by VMotion to other hosts. There have been many discussions, blogs and debates on whether or not DRS is a partition technology that is recognized by Oracle. When DRS is used, should the full cluster be licensed for Oracle or only the hosts available to virtual machines supporting Oracle through the DRS host affinity rules? Many Oracle licensing consultants believe the answer to this question is the latter—only license the subset of hosts available via host affinity rules. Without a public statement from Oracle, the recommendation is to validate the use of these technologies and their impact on Oracle licensing with an Oracle Sales representative or a member of the Oracle License Management Services (LMS) team. The same recommendation applies to the vSphere CPU affinity feature that restricts the assignment of virtual machines to the available processors in (single server) multiprocessor systems.