Oracle的许可计算确实比较复杂,本来在之前的的文章彻底看懂Oracle License 许可机制 - Oracle购买前必读一文中已经写了很多了,但是还是有朋友发邮件说是不懂,那么米乐就又找了些资料整理了下:
Oracle许可证类型
Oracle把产品分成两大类,技术类产品和应用。Oracl公司的技术类产品包括这几种类型:数据库,企业管理器,应用和系统管理,Internet应用服务器,商业智能,身份管理,工具,协同套件,数据仓库产品和集成产品
Oracle数据库产品的分类
Oracle数据库主要分成五种不同类型的版本,不同的版本适用于不同类型的场景,这五种版本是:企业版,标准版,标准一版,Lite和个人版。对于企业版Oracle还提供数据库选项增强数据库的功能
Oracle数据库许可证的度量方式
Oracle标准一版,标准版和企业版许可证有Named User Plus和处理器两种度量方式。Named User Plus度量方式适用于用户和设备都容易被区分和计数的环境中而处理器用于用户和设备不容易被区分和计数的环境中。
Named User Plus度量
使用这种许可证度量方式的环境,用户必须容易被识别和计数,Named User Plus包括人和不由人操作的设备。所有人和非人操作的设备只要是访问数据库就必须计入许可证。非人操作的设备可以有很多种类型,比如温度监控仪。重要的一点是,如果这个设备被人操作,使用者的人数必须计入许可证。看以下场景:
一个制造企业有15个温度监控设备控制仓库温度,温度监控设备在Oracle数据库中记录温度变化情况;
* 400个企业员工操作30个铲车在仓库中搬运货物
* 铲车使用传感器直接修改数据库
* Oracle数据库运行在一个6个单核处理器的服务器上
* 使用处理器度量方式,用户要付6个处理器的许可证费用
* 使用Named User Plus方式度量许可证,按一个处理器25个Named User Plus方式计算为6*25=150 Named User Plus,按真实使用数据库用户计算许可证为15温度监控仪+400企业员工=415 Named User Plus。所以按照最大原则用户如果使用Named User Plus方式购买许可证必须购买415Named User Plus的许可证
处理器度量
在某些环境中数据库的用户数无法准确的计算,比如在internet环境使用的数据库服务器,或者使用处理器方式度量许可证比用Named User Plus更节省成本,这种情况下可以使用处理器度量方式来购买许可证。Oracle个人版数据库和Lite不适用处理器度量方式。
对于Sun使用的UltraSPARC T1 1G的4核,6核或者8核的1.2G的CPU的服务器(在SUN的服务器列表上的服务器)用该CPU的内核数乘以0.25换算成单核CPU的数目;对于AMD和Intel的多核CPU,换算成单核CPU的换算因子为0.5,其它各种不同类型的多核CPU换算成单核CPU的换算因子为0.75,换算后取最大整数值为单核CPU数目。对于oracle标准版,使用CPU插槽数来计算数据库的license。
例如一个客户想购买一个运行在一个四路的机器上的oracle企业版数据库,总共有1000个用户,使用处理器为度量的购买方式是最节省成本的。因为如果使用Named user方式用付1000 Users * USD 800总共USD 800,000,而使用处理器度量方式要付的费用为4 processors * USD40,000,总共USD160,000。因此即使客户可以准确的计算出系统的总用户数,但是对他来说最有利的购买方式还是使用处理器方式购买license。
个人版和Lite只有Named User Plus一种度量方式。
Name User Plus: 这种度量方式适用于任何一种数据库的版本:
标准一版需要购买至少5个Named User Plus许可证或者根据实际使用数据库的用户数购买更多的Named User Plus许可证( 必须多于5个)。运行标准一版的服务器最多只能有两个处理器插口(Socket)。
Oracle 数据库标准版只能运行在最多有四个CPU的处理器插口(socket)的服务在上。从Oracle 10g开始,数据库包含了Real Applications Cluster选项。如果客户使用标准版的Real Applications Cluster,必需使用Oracle Clusterware和Oracle 自动存储管理管理所有的数据。在Oracle 10g标准版的环境种不支持使用第三方的存储管理软件和第三方的集群件。
Oracle数据库的许可证
* 生产环境
* 备份/Failover/容灾环境
* 测试环境
* 开发环境
为什么存在不同的环境
当今的软件系统应用于各种复杂的环境中,尤其是在一个用户不断增长的企业环境用,应用系统和web系统相结合,并且带有多个子系统,企业为了确保系统的安全性,数据的完整性,通常针对不同的环境中使用不同的数据库实例
数据库使用环境
一般来说,oracle的价格策略是不限制在一个服务器上的数据库实例的数目,也不区分单独的数据库实例和网络环境。多个不同的实例可以安装在同一个服务器上,但是所有的数据库使用环境都必须正确的付费
开发环境:客户可能使用一个FULL USE的开发环境,他们可能从OTN上下载oracle 数据库软件,在下载数据库软件的前,客户必须认可OTN开发许可证。开发许可证表明软件本身可以用于开发,但是不能用于部署生产系统,并且不能用于内部的数据处理,教学和其它生产以及商业目的。
OTN上的开发许可证只是一种有限许可证,它不属于Oracle许可和服务协议(OLSA)的一部分。
测试环境:在测试环境中使用的所有软件都必须适应OLSA或者其它Oracle认可的许可证协议;
生产环境:在商业环境中或者被称为生产环境中使用的数据库必需依据OLSA或者oracle认可协议购买许可证,参见以下的例子:
* 一台6处理器的数据库企业版服务器上运行Staging,测试和生产三种不同的系统
* 10个开发工程师使用这个环境
* 500个商务人员通过Web网站使用上面的生产系统
* 数据库的许可证可以使用处理器或者Named User Plus方式来购买
* 使用处理器方式需要购买6个处理器的许可证
* 使用Named User Plus 方式购买许可证的计算方法为:
1. 25*6处理器=150 Named Users Plus
2. 500商务用户+10个开发人员=510 Named Users Plus
如果使用Named User Plus 方式购买许可证,这个客户应该购买510 Named Users Plus许可证。
备份/Failover/Standby/远程镜像环境:这三种环境用于数据库恢复:
备份:生产数据库的数据库文件和数据备份存储设备上,比如磁带,在这种情况下不用购买附加的许可证;
Failover:在由多台服务器组成的集群环境中,其中的一台服务器运行oracle数据库实例作为主数据库实例,当这个数据库实例宕机时,集群中的某台服务器作为备份服务器可以启动未授权数据库实例,oracle公司允许在一个自然年中有10天(10天不是指240小时,如果某一天使用了1个小时的备用数据库也算一天)可以使用这个实例作为生产数据库实例,超过这个时间必需正常购买许可证,并且许可证的度量方式必须和主数据库的许可证度量方式一样;参见以下场景:
* 数据库企业版安装在Node1和Node2上,但是只在Node1上运行
* 如果node1宕机,node2接替node1的工作,在这种环境种一定会有一台空闲的机器作为备份机
* 如果使用处理器度量方式应该购买6个处理器的许可证,并且可以在一个自然年内使用10天的node2上的数据库而不需要购买许可证
* 使用Named User Plus 方式购买许可证的计算方法为:
1. 25*6处理器=150 Named Users Plus
2. 1000商务用户=1000 Named Users Plus
如果使用Named User Plus 方式购买许可证,这个客户应该购买1000 Named Users Plus许可证。
容灾(Standby):一个或者多个主数据库的拷贝运行在不同的服务器上作为容灾服务器,如果主数据库出现故障,备用的服务器上的数据库将被激活作为新的主数据库。在这种环境中,主备数据库必需购买完全的许可证;参见以下场景:
* 6处理器的数据库企业版服务器SRV上运行Staging,测试和生产三种不同的系统
* Standby服务器SRV2上有4个处理器
* 10个开发工程师使用这个环境
* 500个商务人员通过Web网站使用上面的生产系统
* 数据库的许可证可以使用处理器或者Named User Plus方式来购买
* 使用处理器方式需要购买6个处理器(SRV1)+ 4个处理器(SRV2)=10个处理器的许可证
* 使用Named User Plus 方式购买许可证的计算方法为:
在SRV1上:
1. 25*6处理器=150 Named Users Plus
2. 500商务用户+10个开发人员=510 Named Users Plus
所以在SRV1上需要购买510Named Users Plus的许可证
在SRV2上:
1. 25*4处理器=100 Named Users Plus
2. 500商务用户+10个开发人员=510 Named Users Plus
访问SRV1的510Named Users Plus用户也可以访问SRV2,SRV1和SRV2最少购买SRV1: 150 Named Users Plus + SRV2: 100 Named Users Plus=250 Named Users Plus 许可证,SRV2需要购买的附加Named UsersPlus许可证的个数为0
远程镜像:通过使用存储设备远程镜像或者主机控制的镜像可以使主数据库的变更镜像或者拷贝到其它远程的存储设备上,当主机出现故障时,Oracle数据库可以使用远程存储设备上的数据库。在这样的环境种,备用系统上如果安装了数据库,也必须购买许可证,并且许可证的度量方式必须和主数据库的许可证度量方式一样;参见以下场景:
* 生产环境的数据库运行在一个6处理器的服务器Server1上
* Server2为镜像环境,服务器有4个处理器,安装了企业版数据库但是没有运行
* 500个商务人员通过Web网站使用上面的生产系统
* 基于主机或者存储的容灾系统使用SAN环境
* 数据库的许可证可以使用处理器或者Named User Plus方式来购买
* 使用处理器方式需要购买6个处理器(Server1)+ 4个处理器(Server2)=10个处理器的许可证
* 使用Named User Plus 方式购买许可证的计算方法为:
在Server1上:
1. 25*6处理器=150 Named Users Plus
2. 500商务用户=500 Named Users Plus
所以在Server1上需要购买510Named Users Plus的许可证
在Server2上:
3. 25*4处理器=100 Named Users Plus
4. 500商务用户+10个开发人员=510 Named Users Plus
这个系统应该购买500 Named Users Plus许可证,Server1和Server2最少购买Server1 150 Named Users Plus + Server2 100 Named Users Plus=250 Named Users Plus 许可证,Server2上不需要购买附加的许可证。
Oracle分区环境下的许可计算:
硬件和软件分区
什么是分区?
分区意味着把服务器上的CPUs划分成多个独立的时间片(sections)作为独立的系统,有时候分区也被称为segmenting.
什么使用分区?
DBA经常使用分区服务器可以获得下面的好处:
在同一个服务器上可以运行多个操作系统或者多个版本的操作系统
可以通过管理应用和用户的分布来实现系统负载均匀分布和均衡
可以实现 “Capacity on Demand”和”Pay As you Grow”
分区类型
现在有两种类型的分区
软分区:
软分区是用操作系统的的资源管理软件对操作系统划分。数据库系统运行在操作系统的资源管理软件所限制的特定范围以内,在这个范围内有规定的数目的CPU资源并且其它的应用软件运行在同一操作系统其它的范围内。数据库管理员开始可以分配给数据库系统一定CPU,当系统需要更多的资源时,管理员根据情况可以灵活的管理和分配CPU资源给数据库系统。
下面是一些典型的软分区:Solaris 9 Resource Container, AIX Worlkload Manger, HP Process Resource Manger, Affinity Management, Oracle VM, VMware etc。以上不是完整的软分区系统列表。
Oracle 数据库如果运行在有软分区管理系统的机器上,必须按所在机器的实际CPU数目购买许可证。
硬分区:
硬分区是对一个服务器做物理划分使之从一个大的服务器分隔成多个独立的小系统。每个分离的小系统作为一个独立的,自我管理的服务器拥有自己的CPU,操作系统,独立的启动区,内存,输入输出子系统和网络。
典型的硬分区包括:Dynamic System Domains, Solaris 10 Containers,LPAR(在AIX5.2中增加了DLPAR),Micro-Partiktions,vPar,nPar,Integrity Virtual Machine,Secure Resource Partiontions,StaticHard partitioning等等。
Oracle认识到Hard Partitioning是目前一种发展趋势,和所谓“Capacity on Demand”和”Pany As you Grow”商业模式密切相关。Oracle允许客户根据Oracle数据库所在的小分区所使用的CPU数目购买许可证。
应该注意的是oracle不允许客户使用硬分区技术把一个多CPU的主机划分成多个小分区,每个小分区最多只有四个处理器插槽(socket),来购买oracle标准版数据库。
分区许可举例
某台服务器有32个CPU,但是它使用了硬分区,只有16个CPU运行Oracle。客户只需要付16个CPU的license费用。
一台运行Oracle的服务器有30个CPU,如果这台服务器没有使用硬分区,客户必须购买所有30个CPU的许可证。
硬件处于不断的发展和变化之中,目前这样的许可证政策不是最终的和不变的,另外oracle没有针对所谓”Pay Per Use”或者”Pay Per Forecast”商业模式的特殊的许可证政策。
注意:
Oracle许可政策是不停更新的,实际购买计算时,请与Oracle或其正规代理商联系确认。