oracle数据库如何收费

oracle 数据库如何收费

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

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

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

按CPU(Process)收费

按CPU: License数=CPU 数*系数。系数来自Oracle的一个参数表,如IBM Power6的处理器为1,AMD和Intel的处理器为0.5,详细情况见下:

1
2
3
4
5
6
7
8
参数 处理器型号
0.25 Sun UltraSPARC T1 处理器
0.50 Sun UltraSPARC T1处理器
0.50 Intel、AMD处理器
0.50 Sun UltraSPARC T2+ 处理器
1.00 IBM POWER6、POWER7 处理器
0.75 其他多核处理器
1.00 单核处理器

则根据公式可以算出,一个SUN UltraSparc T1的48核处理器需要48*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 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

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

一般情况下,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查看。


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

1
2
3
4
5
6
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。

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计算是
License Number = 2 40.5= 4 而不是 License Number = 140.5= 2.