首发微信公众号:SQL数据库运维

原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd40da7a94e165ce4b4c6e70fb1360d51bed4b3566eee438b587fa231315d0a5a5b3&token=1491694448&lang=zh_CN#rd

Oracle数据库是收费的吗? 答案是模棱两可的,根据不同的使用环境或用途,可以分为收费和不收费两种。其实Oracle数据库软件本身是不收费的;任何人在已连接互联网的电脑上都可以从Oracle官方网站免费下载并安装Oracle的数据库软件(服务端和客户端),但是如果数据库用于商业用途就需要购买相应Oracle产品的License,也即软件授权,软件授权是收费的。所以如果只是自己下载学习及研究使用是免费的,仅限于个人学习的非盈利性使用。

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

按CPU:License数=CPU 数*系数。系数来自Oracle的一个参数表,如IBM的POWER6、POWER7和POWER8处理器为1,AMD和Intel的处理器为0.5,最新详细详细参数表如下:

例如,带有4个八核处理器的SUN UltraSparc T1系统将需要4*8*0.25 = 8个许可证。这只是一个例子。Sun UltraSparc T1和T2不支持SMP,只有Sun UltraSparc T2+支持SMP。类似地,一个带有4个八核处理器的IBM AIX系统将需要4*8*0.5 = 16个许可证。

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

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

可以执行以下脚本来查看应该获得许可的(一些)组件:

用户和CPU/处理器的数量:

  1. select * from v$license;

请注意,此命令提供的信息在多线程、多核或虚拟系统上不可信。这是数据库已知的可用处理器数量,而不是必须获得许可的处理器数量。

安装的数据库版本:

  1. select banner from v$version where BANNER like '%Edition%';

使用的Oracle分区:

  1. select decode(count(*), 0, 'No', 'Yes') Partitioning
  2. from ( select 1
  3. from dba_part_tables
  4. where owner not in ('SYSMAN', 'SH', 'SYS', 'SYSTEM', 'AUDSYS')
  5. and rownum = 1 );

请注意——在企业版上,几乎总是会安装分区。它由Oracle数据库本身使用——该命令单独使用时不会提供有关许可要求的信息。

使用的Oracle Spatial:

  1. select decode(count(*), 0, 'No', 'Yes') Spatial
  2. from ( select 1
  3. from all_sdo_geom_metadata
  4. where rownum = 1 );

使用的Oracle RAC:

  1. select decode(count(*), 0, 'No', 'Yes') RAC
  2. from ( select 1
  3. from v$active_instances
  4. where rownum = 1 );

安装/未安装的选项:(来自9i)

  1. Select parameter name, value
  2. from v$option
  3. order by 2 desc, 1

使用/未使用的功能:(来自10)

  1. Select decode(detected_usages,0,2,1) nop,
  2. name, version, detected_usages, currently_used,
  3. to_char(first_usage_date,'DD/MM/YYYY') first_usage_date,
  4. to_char(last_usage_date,'DD/MM/YYYY') last_usage_date
  5. from dba_feature_usage_statistics
  6. order by nop, 1, 2

参考资料:

http://www.orafaq.com/wiki/Oracle_licensing#Unlimited_License_Agreements

http://www.oracle.com/us/corporate/pricing/technology-price-list-070617.pdf

http://www.oracle.com/us/corporate/pricing/price-lists/index.html

http://www.orafaq.com/wiki/Oracle_Support

https://www.oracle.com/assets/processor-core-factor-table-070634.pdf

Oracle数据库的两种授权收费方式介绍!的更多相关文章

  1. .Net 中读写Oracle数据库常用两种方式

    .net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...

  2. Java连接oracle数据库的两种常用方法

    1. 使用thin连接 由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与平台无关的,你无需安装Oracle客户端,只 ...

  3. Java连接Oracle数据库的三种连接方式

    背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...

  4. plsql 连接oracle数据库的2种方式

      plsql 连接oracle数据库的2种方式 CreationTime--2018年8月10日09点50分 Author:Marydon 方式一:配置tnsnames.ora 该文件在instan ...

  5. Android开发之使用sqlite3工具操作数据库的两种方式

    使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...

  6. C++连接mysql数据库的两种方法

    本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...

  7. Windows Azure VM的两种shut down 方式

    今天在调查Azure的价格时,发现下面的语句,来自http://azure.microsoft.com/en-us/pricing/details/virtual-machines/ * If my ...

  8. sqlplus命令行登录oracle数据库的N种方法盘点

    欢迎访问我的个人博客IT废柴,本文永久链接移至:sqlplus命令行登录oracle数据库的N种方法盘点 sqlplus有几种登陆方式Oracle数据库, 比如: 1.以操作系统权限认证的oracle ...

  9. mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法

    win10很完美,用的也很舒服!当然人无完人,也总有不尽如人意的时候.比如说我们经常用的远程mstsc,就出现了一个坑,既然出现坑了,我们就得把坑解决掉吧!下面就记录一下这个坑的解决方法. 本文地址: ...

随机推荐

  1. 最佳实践 | 联通数科基于 DolphinScheduler 的二次开发

    点击上方 蓝字关注我们 ✎ 编 者 按 数据时代下,井喷的数据量为电信行业带来新的挑战.面对每日数百 TB 的新增数据,稳定可靠的调度系统必不可少. 中国联通旗下的联通数字科技有限公司(以下简称&qu ...

  2. SP104 Highways (矩阵树,高斯消元)

    矩阵树定理裸题 //#include <iostream> #include <cstdio> #include <cstring> #include <al ...

  3. MyBatis-Plus(二、常用注解)

    1.@TableName @TableName 用法:映射数据库的表名,如果数据库表名与实体类名不一致,用@TableName来映射. package com.example.mybatisplus. ...

  4. RabbitMQ 入门系列:5、基础编码:交换机的进阶介绍及编码方式。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

  5. 记一次twikoo引发的站点重大事故

    今天我测试私人博客的时候发现twikoo评论发生了错误,显示评论失败:0,我怀疑是我设置的twikoo安全域名有问题,所以我看了整个lssues,找到了我的解决方法! 1.关于配置安全域名后评论消失的 ...

  6. 第九十八篇:Web的储存机制LocalStorage

    好家伙 1.什么是LocalStorage? LocalStorage 是一种 web 端的存储机制, 它使得由 JavaScript 编写的网站或者应用可以无限期的在浏览器中存储并访问数据. Loc ...

  7. 【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?

    问题描述 在使用Azure Spring Cloud服务时,如果要收集应用程序的日志.有控制台输出(实时流日志),也可以配置Log Analytics服务. 日志流式处理 可以通过以下命令在 Azur ...

  8. 对比es6class类和构造函数

    构造函数 在原来class 类这个语法糖没有出来之前 我们一般会把方法挂在prototype 上 为了防止过多的开辟内存 1 // 构造函数------------------------------ ...

  9. WinUI 3 踩坑记:前言

    WinUI 3 (Windows App SDK 于 2021 年 11 月发布了第一个正式版 v1.0.0 [1],最新版本是 v1.1.5 [2].我的基于 WinUI 3 的个人项目 寻空 从年 ...

  10. Elasticsearch:IK中文分词器

    Elasticsearch内置的分词器对中文不友好,只会一个字一个字的分,无法形成词语,比如: POST /_analyze { "text": "我爱北京天安门&quo ...