Oracle licensing
From Oracle FAQ
Contents |
[edit] Introduction
Oracle database software can be very expensive or very cheap (even free), depending on what you buy/use:
- Oracle Enterprise Edition is very expensive - and it should be: It is the most powerful database management system on the planet! [Note: The neutrality of this statement is disputed!]
- Oracle Standard Edition costs about the same as Microsoft SQL Server. It can only be licensed on servers, or server clusters, that have a maximum capacity of 4 processor sockets.
- Oracle Standard Edition One is less expensive than SQL Server. It may only be licensed on servers that have a maximum capacity of 2 processor sockets.
- Oracle PE is very inexpensive, full-featured version of Oracle DB, but is restricted to one user per database (server, not instance, most likely). The license however allows a developer to use all of the features of the EE (with the exception of the Options and Management Packs).
- Oracle XE is provided free of charge.
- Oracle Enterprise Manager (OEM) Database Control and Grid control is provided free of charge, however, the management packs needs to be licensed for the number of users or CPU's that you "monitor" with it.
- Oracle Application Server (iAS) Standard Edition One may only be licensed on servers that have a maximum capacity of 2 processor cores.
A great comparison document showing what is included and what isn't for all of the editions of the Database is available at Oracle.com. See page 10 for the beginning of the comparison table.
[edit] What is a license
A license is the "right to use" (RTU) the software and not the software itself. If you have a license, you can obtain a copy of the software through whatever means - order, download, use the CDs from your last project, etc.
Please note that Oracle doesn't use software keys. You can just install the software and use it. It is up to you and your consciences to license the software before using it.
Licenses are not tied to the product version. For example, an Enterprise Edition database license is equally valid for Oracle 9i, Oracle 10g or Oracle 11g. However, you are only entitled to new versions if you have a valid maintenance and support contract in place.
[edit] Licensing Cost Metrics
Oracle provides a summary of their licensing metrics in http://www.oracle.com/corporate/pricing/sig.pdf
Oracle licenses can be obtained by speaking directly with Oracle, through an ISV (in the case of ESL or ASFU licenses), or through an Oracle Partner (i.e., Oracle License Store).
The following licensing metrics are available:
[edit] Processor licensing
You pay per Processor you run the Oracle software on; however Oracle has a special definition of Processor which is consistent with Intel, AMD, HP and IBM but does not match Sun's one.
Intel Hyperthreading technology that makes one core look like two counts as 1 processor for this purpose. Other soft partitioning technologies are treated differently; for example, the Solaris OS has a concept of Containers, this is similar to hard partitioning on an HP machine; however Oracle does not recognize software partitioning with Solaris Containers prior to Solaris 10; and even then there are stipulations. Hard partitioning methods such as Sun's Domains, IBM's Logical partitioning are recognized as legitimate methods to limit the amount of resources that can run the Oracle software. If you are a MS or VMWare virtual machine user, the following document is a must read; Oracle Partitioning Policy document
Multi-core processors are priced as (number of cores)*(multi-core factor) processors, where the multi-core factor is:
- 0.25 for SUN's UltraSPARC T1 processors (1.0 GHz or 1.2 GHz)
- 0.50 for other SUN's UltraSPARC T1 processors (e.g. 1.4 GHz)
- 0.50 for Intel and AMD processors
- 0.50 for SUN's UltraSPARC T2 processors (updated Oct 1 2009 - previously 0.75, see note below)
- 1.00 for IBM's POWER6 processors
- 0.75 for all other multi-core processors
- 1.00 for single-core processors
For example, a SUN UltraSparc T1 system with 4 x eight-core processors will require 4*8*0.25 = 8 licenses. This is just an example. Sun UltraSparc T1 and T2 are not SMP capable, only Sun UltraSparc T2+ is SMP capable. Similarly, an IBM AIX system with 4 x eight-core processors will require 4*8*0.75 = 24 licenses.
License requirements were updated in Dec 2005. Original document could be found by this URL: http://www.oracle.com/corporate/press/2005_dec/multicoreupdate_dec2005.html
As at February 13 2006, Oracle still did not recognise "soft partitioning" technologies such as VMWare and Microsoft Virtual Server when licensing by processor/CPU. Instead you must licence by the physical processor in the underlying hardware. (see http://www.oracle.com/corporate/pricing/partitioning.pdf) "hardware partitioning" technologies are recognised, but Oracle places some caveats on this also.
Oracle's licensing policies last updated in May 2009. Original document can be found here: http://www.oracle.com/corporate/pricing/databaselicensing.pdf
Oct 1 2009 - Sparc T2 Update Oracle Processor Core Factor Table has been revised with respect to Processor Licensing Factor for Sun UltraSPARC T2+ from 0.75 to 0.50. The rationale for change is that the benchmark for T2+ is more in line w/ Intel Xeon; hence the factor aligns with the factor for Intel Xeon on this table.
[edit] Named User Plus Licensing
Pay per user, however user is defined as any end-node that receives data from or creates data for that Oracle DB including human users. The classic case would be a grocery store system that is taking data from refrigerator thermometers and point of sale systems; in one case a user is a thermometer and in another case the user is the check out clerk, or in the case of newer self-check out terminals it would be the customer; thus in this example one would explore processor based licensing. You are required to adhere to the following Oracle user minimums:
- Oracle Database Standard Edition ONE: 5 Named User Plus licenses
- Oracle Database Standard Edition: 5 Named User Plus licenses
- Oracle Database Enterprise Edition: 25 Named User Plus licenses per CPU
- Oracle Application Server Standard Edition ONE: 5 Named User Plus licenses
- All other Oracle Application Server products: 10 Named User Plus licenses per CPU
[edit] Named User Licensing
Named User (NU) licensing limits the number of individuals authorized to use Oracle on the specified computer.
NU licensing is not available for new contracts anymore. Although, some customers may still maintain/renew their NU license agreements.
[edit] Concurrent Device
Concurrent Device (CD) licenses were defined as the 'Maximum amount of input devices connecting to the designated system at any given point in time'. There is a Network version of this license which has slightly different terms.
For Oracle Database Enterprise Edition, a minimum of 8 Concurrent Device licenses per Processor applied. This is a very old licensing metric and anyone using it on multi-core processors, or moving to such,lice should conduct a license a cost assessment.
This model is not available anymore. Although, some customers still maintain/renew their CD license agreements.
[edit] Application Specific Full Use Licensing
An Application Specific Full Use (ASFU) license is a restricted type of license sold by a Solution Provider in conjunction with its third-party Application Package.
For example, you can buy a ASFU license from SAP AG to use Oracle with the SAP/R3 system. This license would then be application specific and cannot be used for anything else.
[edit] Embedded Software License
An Embedded Software License (ESL) is a very restrictive license type available from Independant Software Vendors (ISVs) who embed Oracle technology into their product. An end-user may not even be aware that the software package contains Oracle technology and should not be able to access it directly as a developer or system administrator.
An example of this licensing model in use may be a Point of Sale system that requires a database to log transactions.
[edit] Other Considerations
Note that the standard Oracle License and Services Agreement only allows use of Oracle software for internal business operations. Other uses, such as a hosting service or an ASP, will require an agreement that extends the usage rights to cover such scenarios.
[edit] Oracle License and Support Compliance
Situations may arise where options in the Oracle technology or applications stack are being used that were not paid for, or where use may be extending beyond the scope of the contractual terms. Most of these cases occur due to lack of knowledge of the Oracle licensing scheme and a failure of managers to regularly audit license usage.
Some possible license compliance cases are:
- More users than what are licensed.
- More CPU's than what are licensed.
- A less expensive edition of a product even though a server's size would necessitate high end licenses (SE1 vs. SE vs. EE).
- Mixed support: licenses with active support and others where support has not been paid for.
- Using options such as the Tuning and Diagnostics Packs that are part of GRID Control, which is free, but need a separate license. Same goes for Partitioning and RAC (except for in SE) it is an extra cost.
- Customizing and modification of E-Business Suite components may necessitate full use Oracle Application Server and Database licenses.
- Stand-by and back up servers.
- Old license metrics that do not account for new business realities.
- NUP versus Processors.
Typically, when your Oracle rep. gains knowledge of such a situation a company could face an audit by Oracle. It is highly advisable to conduct a yearly audit of servers with a partner that understands Oracle licensing.
[edit] License detection
This section lists some scripts that can be executed to see (some of) the components that should be licensed:
Number of users and CPU/Processors:
select * from v$license;
Database edition installed:
select banner from v$version where BANNER like '%Edition%';
Oracle Partitioning installed:
select decode(count(*), 0, 'No', 'Yes')
from dba_part_tables
where owner not in ('SYSMAN', 'SH', 'SYS', 'SYSTEM') and rownum = 1;
Oracle Spatial installed:
select decode(count(*), 0, 'No', 'Yes') from all_sdo_geom_metadata where rownum = 1;
Oracle RAC installed:
select decode(count(*), 0, 'No', 'Yes') from v$active_instances where rownum <= 2;

