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.