I have received many questions recently concerning license costs of Oracle Database running under VMware, and there seems to be a great deal of confusion on this issue. Let me try to clarify this here.
First, understand that Oracle Database software is always priced on the physical CPU hardware on which the software runs. There is no exception to this, regardless of whether the software is running under a hypervisor or on normal hardware. This is made abundantly clear by Oracle's Global Price List, which states as follows:
Processor: shall be defined as all processors where the Oracle programs are installed and/or running.... The number of required licenses shall be determined by multiplying the total number of cores of the processor by a core processor licensing factor specified on the Oracle Processor Core Factor Table....
Then, examining the Oracle Core Processing Factor Table, you see:
AMD Opteron Models ... or earlier Multicore chips 0.5
Intel Xeon Series ... or earlier Multicore chips 0.5
These two entries control the vast majority of x86-64 chips sets that we deal with on a daily basis. Thus, you can pretty much count on your Oracle license cost being 50% of the number of physical cores on the box where Oracle is running, multiplied by the license cost for the Oracle Database software version you are running. For example, using Oracle Database 11g R2 Enterprise Edition, running on a dual-socket, quad-core processor box, this would be:
4 * 2 * 0.5 * $47,500 = $190,000
Note: Standard Edition and Standard Edition One are special cases. They are priced on a processor socket, not a core basis. The essential idea remains the same: Oracle software is always licensed on the physical processor hardware.
When using VMware, this can be either very advantageous or very disadvantageous to you, depending on how you manage your VMs. Take two scenarios:
This shows the worst case. We have created a four-node VMware DRS / HA cluster in which Oracle VMs are allowed to migrate willy-nilly pretty much wherever they want. In this case, you owe Oracle the license fee for all of your physical boxes, in this case $280,000. Given the high cost of Oracle software, that's definitely not the way you want to go.
Now the second scenario:
Here, you have physically isolated all Oracle VMs to their own dedicated VMware DRS / HA cluster. That's how you want to do this. This way, you only pay the Oracle license on hardware that is dedicated to running Oracle.
The advantage to doing this is that you can typically get more transactional throughput on the same physical hardware by running Oracle virtualized under VMware ESX than you can when running physically booted. This is because the utilization of Oracle database servers is typically fairly low. That is what virtualization is largely about after all: Improving utilization of resources by pooling workloads. Because of the high cost of Oracle database software, this effect is amplified, making Oracle one of the most attractive workloads for virtualization, at least from a cost perspective.
Hi,
I think, that the way, how you calculate the number of Oracle SE licenses in your example is not correct. I'm not commenting about the way how you license Oracle in a VMWare environment, but the way, how you describe Oracle licensing on one server.
When licensing Standard Edition or Standard Edition One, you don't care about cores and factors. The important sentence from the Oracle Price list is in the definition of "Processor":
"When licensing Oracle programs with Standard Edition One or Standard Edition in the product name, a processor is counted equivalent to an occupied socket; however, in the case of multi-chip modules, each chip in the multi-chip module is
counted as one occupied socket.".
So if you licence Standard Edition (or SE One) for dual-socket, quad-core processor box, you only need 2 CPU licenses of DB SE in my opinion.
Of course, when licensing any other Oracle product (for example Database Enterprise Edition), you calculate the number of CPU licenses by multiplying the cores and factor as you did (2 sockets x 4 cores x factor 0.5).
As usually: this is my personal opinion only and it may not necessarily reflect the views of Oracle Corp.
Posted by: David Krch | May 26, 2010 at 05:41 PM
"Oracle Database software is always priced on the physical CPU hardware on which the software runs. There is no exception to this".
Except...
"For the purposes of licensing Oracle programs in the [Amazon Web Services – Amazon Elastic Compute Cloud (EC2)] Cloud environment, customers are required to count each virtual core as equivalent to a physical core. This policy applies to all programs available on a processor metric."
www.oracle.com/corporate/pricing/cloud-licensing.pdf
Posted by: Gary | May 26, 2010 at 10:05 PM
Also keep in mind that different virtual server technologies have different rules if oracle determines that your virtulisation technology is hard partitioning or soft partitioning, vmware is classes as soft but some other technologies count as hard so you just licence the CPUs available to the VM hosting oracle.
Oh and remember not to licence 26 virtual cpus on a machine with only 20 real cpus.
Posted by: chris_c | May 27, 2010 at 03:36 AM
VMWare is considerate as a software partition by Oracle. That's why you need to license all the physical processor/cores of the server.
http://www.oracle.com/corporate/pricing/partitioning.pdf
Hard partition is feasible on other type of servers if you considerate consolidation as a requirement.
Posted by: alain | May 27, 2010 at 09:49 AM
"Also keep in mind that different virtual server technologies have different rules if oracle determines that your virtulisation technology is hard partitioning or soft partitioning...".
And as far as I understand: Oracle's own hypervisor is the only software hypervisor classified as supporting hard partitioning - via a rather arbitrary construction - and thus potentially saving license costs. VMware and the rest are classified by Oracle as supporting soft partitioning only, typically implying more license costs.
Posted by: Bert Bouwhuis | May 27, 2010 at 03:51 PM
I couldn't have said it better myself. Thanks for posting this. Like you suggest, we run all our Oracle instances in a 2 node HA/DRS cluster vs in the larger general 16 node cluster. I hesitate to even try and calculate the cost if we licensed all 16 nodes.
Posted by: Jay Weinshenker | May 28, 2010 at 11:22 AM
Jeff, I expanded on your blog post with a real world example of the dedicated VMware cluster you specified. Savings in Oracle licensing costs? 2.7 MILLION dollars.
Look forward to seeing you at VMWorld and Openworld.
http://tinyurl.com/32hs6am
Posted by: Jay Weinshenker | May 28, 2010 at 12:05 PM
It seems like software companies like Oracle who are clinging to the CPU based pricing model in a world of Cloud Computing and SaaS are truly being slow to adapt to the new realities of how computing power is delivered. I make this point in mroe detail here:
http://thetechnologydirectorsoffice.blogspot.com/2010/06/software-licensing-models-must-evolve.html
Posted by: Tommy Alexander | June 06, 2010 at 05:47 PM
Great Jay Weinshenker..It is my pleasure that I am able to see to real world example. Thank you very much ! I am quite new in this field. I guess it will be helpful for me.
Posted by: software testing services | June 18, 2010 at 09:38 AM
In regards to licensing. As of the Intel 5600 series processors, there does not appear to be any dual core chips. We have several Oracle servers running on single dual core machines. As the hardware ages it appears that we can not legally upgrade the hardware due to the latest processors are quad core. Or a $5000 server replacement becomes $50,000 to keep the enterprise install legal. Not a way to keep customers, especially in these economic times.
Posted by: Stephen Price | July 15, 2010 at 06:07 PM
If one licence Standard Edition (or SE One) for 1 processor, (such as one of these HP Proliant Server)and say after some months you increase the processors to 2. Will the Oracle software stop working on this server?
I need an answer soon.
Thanks all.
Posted by: Segun | September 21, 2010 at 11:19 AM
"Here, you have physically isolated all Oracle VMs to their own dedicated VMware DRS / HA cluster." How have you done this? Have you configured the SAN or something? Is it not the case that all ESX Servers on a network can be seen by Virtual Centre, and added as a resource to your "physically isolated" Oracle servers, through a relatively simple configuration change? Not a VMWare expert, so excuse me if this sounds simplistic.
Oracle have not been clear on this, all they say publicly is that they do not recognise Soft Partitioning as a way of reducing the number of licences required for any given server (by which they also mean cluster, even though they don't specify this).
As an ex-Oracle LMS consultant, I have asked their internal pricing and licensing team about this for a variety of customers. They, in their typically non-committal way, have responded with variations on this statement "The configuration of the SAN is unimportant. If Oracle is configured to run, it must be licensed".
Starting from the position that Oracle do not recognise VMWare/Soft Partitioning AT ALL as a way of controlling where Oracle is configured to run (it doesn't matter if it can do it, the problem is that Oracle don't recognise the way in which VMWare does it), I am not convinced that your "physical separation" would actually be acceptable, especially if it involves LUNs or something.
Posted by: Uncle Arthur | October 07, 2010 at 10:30 AM
Hi,
Thanks for posting this.
The definition of cluster is because of automatic vMotion by DRS.
a. What if we use vSphere Standard (which does not have DRS)?
b. What if we disable DRS on the VM running Oracle?
Many thanks from Singapore
e1
e1
Posted by: iwan 'e1' Rahabok | October 09, 2010 at 10:12 PM
Stephen,
It is possible to enable only needed processors in most Unix operating systems.
Like this:
kernel /boot/vmlinuz-2.6.13-Ora10g root=/dev/sda1 ro maxcpus=2
Posted by: Gatis Visnevskis | January 07, 2011 at 03:27 AM
Does this pass as "hard partioning" by Oracle's licensing policy so that you can just license the "enabled" CPU/cores??
Posted by: Phillip Rudd | April 04, 2011 at 11:00 PM
Impressive blog! -Arron
Posted by: rc helicopter | December 21, 2011 at 07:48 AM