前言

首先感谢大佬的分享:https://wangbinbin0326.github.io/,原文可以在这里查看到。

Oracle软件本身是免费的,所以任何人都可以从Oracle官方网站下载并安装Oracle的数据库软件,收费的是License,即软件授权,如果数据库用于商业用途,就需要购买相应Oracle产品的License。

与免费的下载版本不同,正式版的Oracle在购买后,用户会得到一个产品服务码,凭此Oracle服务码,可以得到Oracle的在线升级等服务,Oracle的服务分为好多级,不同级别提供相对应的在线或是现场服务。

现在Oracle有两种授权方式,按CPU(Process)数和按用户数(Named User Plus)。前一种方式一般用于用户数不确定或者用户数量很大的情况,典型的如互联网环境,而后一种则通常被用于用户数确定或者较少的情况。

查看服务器上物理CPU总数以及核数:

SQL> select CPU_COUNT_CURRENT,CPU_CORE_COUNT_CURRENT,CPU_SOCKET_COUNT_CURRENT from v$license;
CPU_COUNT_CURRENT CPU_CORE_COUNT_CURRENT CPU_SOCKET_COUNT_CURRENT

----------------- ---------------------- ------------------------
                2                      2                        1
以上通过v$license 视图反应了数据库服务器当前的逻辑CPU总数为2,而总的核数也是2,实际的物理CPU Socket是1,那么说明是1个双核的物理CPU。

按CPU(Process)收费

按CPU: L i c e n s e 数 = C P U 数 × 系 数 License数=CPU 数 \times 系数 License=CPU×。系数来自Oracle的一个参数表,如IBM Power6的处理器为1,AMD和Intel的处理器为0.5,详细情况见下:

参数处理器型号
0.25Sun UltraSPARC T1 处理器
0.50Sun UltraSPARC T1处理器
0.50Intel、AMD处理器
0.50Sun UltraSPARC T2+ 处理器
1.00IBM POWER6、POWER7 处理器
0.75其他多核处理器
1.00单核处理器

则根据公式可以算出,一个SUN UltraSparc T1的4个8核处理器需要 4 × 8 × 0.25 = 8 4 \times 8 \times 0.25=8 4×8×0.25=8个CPU licenses

按用户数(Named User Plus)

按用户数: Oracle用户数的官方定义是每一个访问Oracle数据库的用户,无论是自然人还是设备(如工业环境中的传感器之类),都算作一个用户(Named User)。

英文官方定义:Named User Plus: is defined as an individual authorized by you to use the programs which are installed on a single server or multiple servers, regardless of whether the individual is actively using the programs at any given time. A non human operated device will be counted.

按用户数购买则对应相应的产品有对应的License的最低购买量限制,如下:

产品最低License数
Oracle Database Standard Edition ONE5 Named User Plus licenses
Oracle Database Standard Edition5 Named User Plus licenses
Oracle Database Enterprise Edition25 Named User Plus licenses per CPU
Oracle Application Server Standard Edition ONE5 Named User Plus licenses
All other Oracle Application Server products10 Named User Plus licenses per CPU

当然用户应该根据自己的实际用户数订购,且不少于相应版本所要求的最低用户数。

一般情况下,1CPU的费用约等于50user的费用,所以如果用户数>CPU数系数50,则按CPU订购反而更为经济。

每个License还有有效期的分类[不论是User License还是CPU License],分别为:1年、2年、3年、4年、5年、永久。当然价格也是依次增加。

当前Oracle 11G的User License无限使用期的价格为人民币3千5左右,按50个User License无限使用期的购买量则价格为17.5万;每个CPU License无限使用期的价格为17万9千,按IBM小机的系数计算,则购买价格为17万9千,和50个User License的价格相近。

关于服务价格:一般地,购买Oracle的License都包含首年的服务费,以后的费用按每年原价的22%计算。

更多的产品价格可以访问http://shop.oracle.com查看。


VMware上Oracle license的计算

如果Oracle 安装在VMWARE 上,是否也是按照这个方式计算呢? 也就是说,在虚拟机VMWARE上Oracle的License计算是否也是按照分配CPU核数来计算的呢? 关于虚拟机上ORACLE的License计算,ORACLE 引入了下面 Soft partitioning (软分区)和Hard partitioning (硬分区)概念(如下所示),而且明确规定 VMware是软分区,并且规定Soft partitioning is not permitted as a means to determine or limit the number of software licenses required for any given server。
也就是说在一台物理机上,假如如下所示,虚拟了一台Linux服务器做Oracle Database Server, 虚拟了另外一台Windows服务器做SQL Server服务器,物理机上有2个物理CPU,每个4 Core,平均分配给这两个服务器,此时Oracle的License计算是
L i c e n s e N u m b e r = 2 × 4 × 0.5 = 4 License Number = 2 \times 4 \times 0.5= 4 LicenseNumber=2×4×0.5=4 而不是 L i c e n s e N u m b e r = 1 × 4 × 0.5 = 2 License Number = 1 \times 4 \times 0.5= 2 LicenseNumber=1×4×0.5=2

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐