Oracle CPU Licensing
For their relational database, Fusion middleware, E-Business Suite, and other applications, Oracle charges a per-CPU license. For the purpose of this article, we will use the Oracle Database Enterprise Edition license as an example, which is currently listed at a cost of $47,500 per processor.
Modern servers often come with a lot more horsepower than is needed by a typical application or database, and this is more true with mainframe systems from companies like IBM and HP. These systems offer partitioning, which is the logical separation of resources so they can be assigned to separate operating system instances, like nPars and LPARs. These partitions offer compliance with Oracle CPU license rules so that a large system with many physical CPUs can be utilized as smaller systems.
The same is true for Oracle Solaris systems that offer LDOMS, and Solaris zones are also compliant. However, when virtualizing on x86 systems, Oracle only recognizes Oracle VM and Oracle Linux KVM (according to the partitioning guide). Using Oracle VM Server (OVS) allows you to provision virtual machines, assign virtual CPUs, and pin the VM to those allocated CPUs. OVS uses the Xen hypervisor (likely to switch to KVM in the next major release, accounting for the addition of the KVM partitioning rules) which will prevent live migrations if CPU pinning is enabled, and this makes Oracle very happy.
So what about VMware? It's the most widely used hypervisor and the standard for virtualization in businesses large and small. So what does Oracle say about virtualizing database and applications on vSphere servers?
It's pretty simple, but many hosting companies get it so very wrong and often cost their clients tens or hundreds of thousands of dollars in additional fees for being out of compliance.
Since Oracle does not recognize vSphere VMs as being properly partitioned, it means that for a single instance of vSphere, one that is not a member of a vCenter cluster, you must license every CPU on that host if a database or application is running on it regardless of the number of CPUs assigned to the VM. So if your single vSphere server has two sockets, with 8 CPUs per processor and 32 total vCPUs, you would require 16 CPU licenses to be compliant, or $760,000 in licenses.
And that's without clustering the vSphere servers. What if you have a cluster of 4 brand new servers with the latest Intel Gold processors? For this example, lets use the Xeon Gold 6210U processor which has 20 cores and 40 total threads. Each of your servers has two sockets, for a total of 8, which brings the total number of virtual CPUs to 320. If you were to run one Oracle Enterprise database on that cluster, you would require 160 licenses or $7,600,000. This is a very extreme example, but if you are the license holder you are responsible for the configuration of the virtual environment, and while you could negotiate that fee down, it's a much better and safer practice use Oracle VM and be compliant from the beginning, rather than have Oracle leverage that fee to force your migration into their public cloud.
Some articles you will find, likely on the VMware web site, will say that the partitioning guide is not a contract document and doesn't matter or you can use Named User Plus licensing instead, but having been through audits with Oracle this just isn't the case. While you can fight against Oracle there is no way out of paying something to them for being out of compliance, so be sure you understand the platform your hosting company is using. It's your responsibility.
A real life example
We had a client hosted in a third party data center with an application using an instance of Oracle DB Enterprise Edition with Named User Plus (NUP) licensing. Because they had NUP licenses they insisted they were compliant running on a VMware cluster. What they hadn't realized is that the NUP license is a metric that ties in to the physical CPUs of the server the applications are hosted on, which is essentially 25 users per CPU. They ended up being 4 processor licenses short and Oracle invoiced them for $190,000 for each year they were running that configuration.
Oracle also offers licensing for AWS services (EC2 and RDS), and Azure. Standard licenses may be available for an hourly rate, but Enterprise Edition are still 'bring your own'. See the oracle cloud licensing document for more information.
While there are companies that offer Oracle license services and will help you fight these enormous fees, they will cost you as well. BlueDot Technology are experts in hosting and managing Oracle databases and applications and are leaders in architecting and managing Oracle VM clusters. If you would like more information on hosting and managed virtualization for your Oracle applications contact us today.
Note: Oracle licensing is nuanced, seemingly by design, and the Oracle LMS team is the authority on the rules and costs for compliance exceptions. The Oracle sales teams do not have any authority to set rules so always follow the most extreme interpretation of the guides published by Oracle.