Oracle on vSphere – Licensing Myths

In this post, I’ll try to clear up the myths and untruths of licensing Oracle on vSphere, and provide a method for accurately asserting to Oracle the processors that do need to be licensed.

I’ve noticed a resurgence in Oracle licensing questions from customers and partners. Most people seem to believe they need to license every host in a cluster due to DRS. As of vSphere 6.x with shared nothing vMotion, many are being told they need to license every host in the vCenter data center.

Both of these beliefs are incorrect. From a licensing management perspective. It may be easier to presume a VM with Oracle installed and/or running in a DRS enabled cluster will eventually end up on every host in that cluster. In that case, you license the processors for every host in that cluster and you’re done.

But, you are not legally obligated to license a processor that a VM with Oracle installed and/or running MIGHT or COULD end up on. Only those hosts it has been, or is on. That is an important distinction to understand, because it also refutes the recent myth being communicated about vSphere 6.x.

House of Brick has an excellent whitepaper that I highly recommend reading. Long story short, you only need to license the processors that the VM has been, or is, installed and/or running on. Any licensing beyond that is a matter of evaluating the cost of managing the reporting for compliance over just licensing with the presumption a VM will run on a host.

My recommendation to any customer being told they need to license processors an Oracle VM MIGHT run on is to request Oracle have their legal department provide it in writing. Your legal team should refer to page eight of your OLSA where processor licensing requirements are defined. Know that anything can be said, it’s only what is said in your contract that is binding. Case in point, refer to this commonly communicated Oracle document on “soft partitioning”. Then read the fine print at the bottom of the last page.

With vRealize Log Insight, we can accurately report on all processors an Oracle VM has been installed and/or running on, over any time range. Since Oracle uses the “installed and/or running” verbiage, we will say that a VM has met this definition when it has been registered with a host.

When a VM is registered with a host (e.g. Initial host placement, vMotion action, etc.), an event is logged. We can use vRealize Log Insight to filter millions of log entries in minutes, returning the occurrences of this event for the Oracle VMs. With this, we have reasonable representation of which hosts have had those VMs on them over the specified period of time. We can then definitively assert that the processors for those hosts are those that are required to be licensed.

To create the report, we use the Interactive Analytics tab in Log Insight. We add two filters, one for VM name, and one for a specific text string. We then provide a VM value to collect only Oracle VMs (naming standards come in handy here) and the text string. To filter by VM name, use VMW_ESXI_VM_NAME – Contains. To filter for text string use Text – Contains. The text value we need to find is “Initialized virtual machine”.

In the picture below, I have filtered for VM’s with “Dev” in the name to return the hosts they have been on. This can then be exported to CSV, loaded into a spreadsheet or database, and the hosts processor counts calculated.

VMware also provides and maintains  a number of useful resources related to this topic. Here are a few:

Oracle on VMware vSphere & vSAN – Dispelling the Licensing myths
Oracle on VMware vSphere & vSAN – Preparing for an Oracle Audit
Oracle on VMware vSphere & vSAN – Asks the Oracles
VMware Oracle Support Policy

Hope this helps.