Oracle database software can be very expensive or very cheap (even free), depending on what you buy/use:
- Oracle Enterprise Edition is expensive - it is the most comprehensive Oracle database edition.
- 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 including the options (with the exception of Real Application Clusters).
- Oracle XE is provided free of charge, but limited to one database.
- 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.
 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.
 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:
 Unlimited License Agreements
A Unlimited License Agreements (ULA) is a time-based (2-3 year) unlimited use right license for a subset of Oracle technology or applications. At the end of the term, customers must count and declare usage to Oracle, and are granted that number of licenses for the products covered by the ULA.
 Processor licensing
You pay per Processor you run the Oracle software on; however Oracle has a special definition of "processor" which may or may not match that of your hardware vendor.
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
Oracle Standard Edition uses a per-socket licensing scheme, however, Enterprise Edition used a per-core licensing scheme.
 Standard Edition Per-socket licensing
If you use Standard Edition or Standard Edition One on a 2 processor system you simply need 2 licenses. However, if you use Enterprise Edition you need to take the number of cores into account as well.
 Enterprise Edition Per-core licensing
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 Intel Itanium Series 93XX or earlier Multicore chips (For servers purchased prior to Dec 1st, 2010)
- 0.50 for SUN's UltraSPARC T2+ processors (updated Oct 1 2009 - previously 0.75, see note below)
- 1.00 for IBM's POWER6, POWER7 and POWER8 processors
- 0.75 for all other multi-core processors
- 1.00 for single-core processors
- 1.00 for Intel Itanium Series 93XX (For servers purchased on or after Dec 1st,2010)
- 1.00 for Intel Itanium Series 95XX
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.
Here's the latest Oracle Processor Core Factor Table
 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
Note: As can be deduced from the above, in the case of Standard Edition One and Standard Edition there doesn't appear to be anything that specifies whether the minimum of 5 is per customer, per server or per processor (and if per processor, whether the core factor is considered despite the fact it isn't for Standard processor licensing).
 Named User Licensing
Named User (NU) licensing limits the number of individuals authorized to use Oracle on any server.
NU licensing is not available for new contracts anymore. Although, some customers may still maintain/renew their NU license agreements.
 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 a license, should conduct a cost assessment.
This model is not available anymore. Although, some customers still maintain/renew their CD license agreements.
 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.
 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.
 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.
 Deployment Identification
Oracle have a validation program which provides assurance that their LMS (License Management Services) team will accept data from certain third party vendor as being suitable for license review purposes.
 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.
 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;
Please note that the information provided by this command is not trustworthy on multi-threaded, multi-core or virtual systems. It is the number of processors understood to be available by the database - not the number of processors which must be licensed.
Database edition installed:
select banner from v$version where BANNER like '%Edition%';
Oracle Partitioning Used:
select decode(count(*), 0, 'No', 'Yes') Partitioning from ( select 1 from dba_part_tables where owner not in ('SYSMAN', 'SH', 'SYS', 'SYSTEM') and rownum = 1 );
Please note - on Enterprise Edition, Partitioning will almost always be installed. It is used by Oracle database itself - this command in isolation will not provide information on license requirement.
Oracle Spatial Used:
select decode(count(*), 0, 'No', 'Yes') Spatial from ( select 1 from all_sdo_geom_metadata where rownum = 1 );
Oracle RAC Used:
select decode(count(*), 0, 'No', 'Yes') RAC from ( select 1 from v$active_instances where rownum = 1 );
Active Data Guard Used:
select 'Using Active Data Guard' ADG from v$managed_standby m, v$database d where m.process like 'MRP%';
Options installed/not installed: (from 9i)
Col name format a50 heading "Option" Col value format a5 heading "?" justify center wrap Break on value dup skip 1 Spool option Select parameter name, value from v$option order by 2 desc, 1 /
Please note - Option installation does not NECESSARILY equate to license requirement. Each licensable option has a number of tests required - see "Deployment Identification for License Review Purposes" section below for more details.
Features used/not used: (from 10g)
Set feedback off Set linesize 122 Col name format a45 heading "Feature" Col version format a10 heading "Version" Col detected_usages format 999,990 heading "Detected|usages" Col currently_used format a06 heading "Curr.|used?" Col first_usage_date format a10 heading "First use" Col last_usage_date format a10 heading "Last use" Col nop noprint Break on nop skip 1 on name Select decode(detected_usages,0,2,1) nop, name, version, detected_usages, currently_used, to_char(first_usage_date,'DD/MM/YYYY') first_usage_date, to_char(last_usage_date,'DD/MM/YYYY') last_usage_date from dba_feature_usage_statistics order by nop, 1, 2 /
 Deployment Identification for License Review Purposes
It should be noted that the scripts above are not definitive and are not accepted by Oracle LMS (License Management Services) team. Oracle has a validation program which provides assurance that their LMS team will accept data from certain third party vendors as being suitable for license review purposes.
 External Links
In July 2010 iQuate became the first third party tool validated by Oracle LMS.
Flexera Software FlexNet Manager Suite for Enterprises solution has also been verified by Oracle LMS.
Lime Software the first Commercially available Oracle Licensing tool is also verified by Oracle LMS
eRunbook Oracle Database Engine has also been verified by Oracle LMS.