我们学习的是ORACLE(甲骨文)公司(就是收购Sun公司的甲骨文公司)的Oracle数据库(Oracle Database)。Oracle数据库是关系型数据库中的大型数据库,存储量大,而且也非常安全。学习起来相对于其他关系型数据库来说比较难,但是关系型数据库的语言格式都基本保持一致,都是规范的使用SQL语句来编写的,所以在使用其他的关系型数据库时都基本很容易上手,因为语法都差不太多。在实际开发中,是根据需求来选择数据库的(比如:大项目采用Oracle/DB2,中型采用MsSQL,MySQL,小型采用Access)。总之呢,可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

  那么既然谈到了Oracle数据库自然就少不了了解ORACLE公司的发展史。

ORACLE的起源:

  1977年6月,Larry Ellison 与 Bob Miner 和 Ed Oates 在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的计算机公司(ORACLE公司的前身)。那个时候,32岁的Larry Ellison,这个读了三家大学都没能毕业的辍学生,还只是一个普通的软件工程师。公司创立之初,Miner是总裁,Oates为副总裁,而Ellison,因为一个合同的事情,还在另一家公司上班。没多久,第一位员工Bruce Scott(Oracle数据库软件中有个叫Scott的用户,就是这个Bruce Scott,至于Scott用户的密码为什么是Tiger,那是Scott的女儿养的猫的名字。Scott工号是4)加盟进来,在Miner和Oates有些厌倦了那种合同式的开发工作后,他们决定开发通用软件,不过他们还不知道自己能开发出来什么样的产品。Oates最先看到了埃德加·考特的那篇著名的论文连同其他几篇相关的文章并推荐Ellison和Miner也阅读一下。Ellison和Miner预见到数据库软件的巨大潜力(跟着IBM走),于是,SDL开始策划构建可商用的关系型数据库管理系统( RDBMS )。

  很快他们就弄出来一个不太像样的产品,或者具体的说更像一个Demo。根据 Ellison 和 Miner 他们在前一家公司从事的一个由中央情报局投资的项目代码,他们把这个产品命名为 ORACLE。因为他们相信,ORACLE(字典里的解释有"神谕, 预言"之意)是一切智慧的源泉。1979年,SDL 更名为关系软件有限公司(Relational Software,Inc.,RSI),毕竟"软件开发实验室"不太像一个大公司的名字。1983年,为了突出公司的核心产品,便再次更名为ORACLE (Oracle Systems Corporation)。

ORACLE的历史:

  1979年,RSI公司(那时候公司叫“RSI”还不叫“ORACLE”)在夏季发布了可用于DEC公司的PDP-11计算机上的商用ORACLE产品,这个数据库产品整合了比较完整的SQL实现,其中包括子查询、连接及其他特性。出于市场策略,ORACLE公司宣称这是该产品的第二版,但却是实际上的第一版。这就是ORACLE这种“要命”的市场策略,事实上,这种策略有时候也是非常成功的。

  1983年3月,RSI发布了Oracle第3版。Miner和Scott历尽艰辛用C语言重新写就这一版本。要知道,C语言当时才刚推出不久,用它来写ORACLE软件也是具有一定的风险的,但除此之外,别无他法。很快就证明了这样做是多么的正确:C编译器便宜而又有效,还有很好的移植性。从现在起,ORACLE产品有了一个关键的特性:“可移植性”。同样是1983年,IBM发布了姗姗来迟的Database 2(DB2),但只可在MVS上使用。不管怎么说,ORACLE已经占取了先机。(在开发第三版还没有结束的时候,Scott离开了ORACLE。当时用C语言改写ORACLE的压力很大,无休止的软件调试终于让Scott不堪重负,选择了一走了之。把剩下的重担交给了Miner一个人。在出售了自己的%4的股票之后,Scott后来创建了Gupta公司(现更名为Centura Software)和PointBase公司(提供百分之百纯Java嵌入式数据库),都是开发和数据库相关的产品。多年后有人问到他的%4的ORACLE股票的时候,Scott也只能报以一笑了。如果能坚持下来,那是一笔几亿美金的财富。不过当时的Scott没有那么多的想法,他只是太累了。很长一段时间里,公司研发由Miner独力承担。Miner视金钱如无物,为人低调,和Ellison的锋芒必露形成鲜明的对比。在公司里,大家一致认为他是老好人,他也深受员工爱戴。Ellison是公司的大脑,Miner则当之无愧的成为公司的心脏。他是个沉默的英雄,正如Steve Jobs背后的Steve Wozniak一样。)

  1984年10月,ORACLE发布了第4版产品。产品的稳定性总算得到了得到了一定的增强,用Miner的话说,达到了“工业强度”。

  1985年,ORACLE发布了5.0版。有用户说,这个版本算得上是Oracle数据库的稳定版本。这也是首批可以在Client/Server模式下运行的的RDBMS产品,在技术趋势上,Oracle数据库始终没有落后。(就在这一年,当时曾经的最大的独立软件公司Cullinet(主要销售网状数据库)已经如流星般陨落。ORACLE的主要竞争对手是Ingres数据库。Ingres在加州大学伯克利分校诞生,主要的设计者是当时鼎鼎大名的Michael Stonebraker教授。可以说Ingres数据库软件是上个世纪80年代技术上最好的数据库,Ingres市场分额的快速增长已经给ORACLE造成了很大的压力。巧的是,这个时候IBM公司再一次伸出了“上帝之手”。Ingres使用的是Stonebraker发明的QUEL(Query Language)的查询技术,这和IBM的SQL大不相同。在某些地方QUEL甚至要优于SQL。IBM当时担心Ingres把QUEL变成标准会对自己不利。经过一番衡量,决定把自己的SQL提交给数据库标准委员会。而Stonebraker教授可不打算把QUEL提交给数据库标准委员会,学院派的他认为这么做实际上是扼杀了创新精神。可以看出,学院派的思想大都会把事情搞杂。)

  1986年3月12日,ORACLE公司以每股15美元公开上市,当日以20.75美元收盘,公司市值2.7亿美元。3月13日,微软以每股21美元的发行价上市,以28美元收市,公司市值达到7亿美元。远远超过了ORACLE。套有成功光环的微软和比尔·盖茨遮盖住了ORACLE和Ellison的光芒,可能这也是Ellison敌视微软的开始。

  1988年,Oracle第6版发布。由于过去的版本在性能上屡受诟病,Miner带领着工程师对数据库核心进行了重新的改写。引入了行级锁(row-level locking)这个重要的特性,也就是说,执行写入的事务处理只锁定受影响的行,而不是整个表。这个版本引入了还算不上完善的PL/SQL(Procedural Language extension to SQL)语言。第6版还引入了联机热备份功能,使数据库能够在使用过程中创建联机的备份,这极大地增强了可用性。(在第六版刚发布之后,很多迫不及待开始使用的用户就怨声载道。这是个根本就没有测试好就进行发布的产品(也怪Ellison,大话总要说在前头,只好自尝苦果)。用户开始对ORACLE大肆抨击,ORACLE的一些对手也开始落井下石,针对ORACLE产品的一些弱点进行攻击,噩梦一直延续到Oracle第七版的推出才结束。)

  1992年6月,Oracle第7版终于闪亮登场。这一次公司吸取了第六版匆忙上市的教训,听取了用户的多方面的建议,并集中力量对新版本进行了大量而细致的测试。该版本增加了许多新的性能特性:分布式事务处理功能、增强的管理功能、用于应用程序开发的新工具以及安全性方法。(Oracle第七版是ORACLE真正出色的产品,取得了巨大的成功。这个版本的出现真是好时机,当时Sybase公司的数据库已经占据了不少份额,ORACLE借助这一版本的成功,一具击退了咄咄逼人的Sybase。公司的销售人员这次算到了给用户兑现空头许诺的时候。公司经过两三年的治理,终于摆脱了种种麻烦,重新开始健康发展,销售额也从92年的15亿美元变为四年后的42亿美元。)

  1997年6月,Oracle第8版发布。Oracle 8支持面向对象的开发及新的多媒体应用,这个版本也为支持Internet、网络计算等奠定了基础。同时这一版本开始具有同时处理大量用户和海量数据的特性。

  1998年9月,ORACLE公司正式发布Oracle 8i(“i”代表Internet)。这一版本中添加了大量为支持Internet而设计的特性。这一版本为数据库用户提供了全方位的Java支持。Oracle 8i成为第一个完全整合了本地Java运行时环境的数据库,用Java就可以编写Oracle的存储过程(只要是能够打击微软的武器,ORACLE都要派上用场)。

  2001年6月,在ORACLE OpenWorld大会中,ORACLE发布了Oracle 9i。在Oracle 9i的诸多新特性中,最重要的就是Real Application Clusters(RAC)了。说起Oracle集群服务器,早在第五版的时候,ORACLE就开始开发Oracle并行服务器(Oracle Parallel Server ,OPS),并在以后的版本中逐渐的完善了其功能,不过,严格来说,尽管OPS算得上是个集群环境,但是并没有体现出集群技术应有的优点。

  2003年6月初,ORACLE突然宣布51亿美金收购仁科(PeopleSoft),业内再次震动。此举又一次露出ORACLE 一贯善于进攻的本性。(要知道,ORACLE在发展过程中很少对企业进行收购的,那么收购仁科目的何在?首先,ORACLE觊觎企业应用软件市场已久,但苦于不能进一步扩大市场份额,尤为重要的是,一旦成功,可以直接对最大的敌人IBM进行打击,还可以阻击SAP等巨头的强势。时至今日,ORACLE依然以不达目的不罢休的态势和仁科缠斗)。

  2003年9月8日,在旧金山举办的ORACLE World大会上,Ellison宣布下一代数据库产品为“Oracle 10g”(“g”代表“grid ,网格”)。Oracle应用服务器10g(Oracle Application Server 10g)也将作为甲骨文公司下一代应用基础架构软件集成套件。这一版的最大的特性就是加入了网格计算的功能。ORACLE宣称10g可以作为网格计算的基础,矛头直指最大的敌人IBM的"随需应变"!看来,ORACLE公司已经把这一次的"赌注"押在了网格计算的大市场上。(如果说,IBM是IT产业中的一头巨鲸,那么ORACLE一定就是一条大鲨鱼:咄咄逼人,善于进攻。Ellison绝对是造概念的能手,只要是能引领出新的卖点,出些新概念,那也是值得的。那么何谓网格计算?网格计算可以把分布在世界各地的计算机连接在一起,并且将各地的计算机资源通过高速的互联网组成充分共享的资源集成。通过合理调度,不同的计算环境被综合利用并共享)。

  2004年12月13日,ORACLE公司宣布签订了以每股26.50美元、总计约 103 亿美元的代价收购 仁科(PeopleSoft) 的最终协议。历时十八个月的争斗终于尘埃落定。

  2005年,ORACLE在数据库的市场的份额首次超越IBM与微软的总和,同年又以58亿美元收购了Siebel公司,推动其ERP和CRM应用程序以及商业智能领域的扩展。

  2007年11月,Oracle 11g正式发布,功能上大大加强。11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(Information Lifecycle Management)等多项创新。大幅提高了系统性能安全性,全新的Data Guard最大化了可用性,利用全新的高级数据压缩技术降低了数据存储的支出,明显缩短了应用程序测试环境部署及分析测试结果所花费的时间,增加了RFID Tag、DICOM医学图像、3D空间等重要数据类型的支持,加强了对Binary XML的支持和性能优化。

  2008年,ORACLE又以72亿美元收购了BEA公司。

  2010年,ORACLE在数据库系统市场的份额首次突破50%,同年又完成了对SUN(Java的创始公司)公司的收购,并以SUN公司的的专利状告Google专利侵权,诉求高达61亿美元的损失补偿。但是此案最后被判不成立,除了律师费以外,ORACLE还掏了一百多万美金的法庭费。

  2011年,ORACLE开始大量收购基于云计算的企业级软件和服务公司,并高调进入云计算领域。

  2012年12月20日,软件巨头ORACLE公司宣布已与上市公司Eloqua达成协议,并将收购这家基于云的自动化营销与营收绩效管理软件公司。

  2013年2月4日以每股29.25美元作价收购网络传输产品制造商Acme Packet,交易规模约为17亿美元。

  2013年6月26日,ORACLE发布了Oralce 12C。云(cloud)计算设计。12C引入了CDB与PDB的新特性,在Oracle 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在Oracle 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入Oracle 12C后,实例与数据库可以是一对多的关系。

  2013年7月15日起ORACLE公司正式由纳斯达克转板至纽约证券交易所挂牌上市。转板至纽交所后,ORACLE公司将沿用“ORCL”这一交易代码。

  2013年,ORACLE已超越 IBM,成为继微软后全球第二大软件公司。

  2014年,Ellison辞去CEO一职,将甲骨文交给了Hurd和Catz。

  2015年,ORACLE营业额高达382亿美元。

  2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位,营业收入370.47亿美元。

  2017年7月,从此年开始ORACLE改变了以往的数据库软件发布流程,采用年度Release和季度更新的策略。

  2018年2月16日,Oracle 18C发布。还是秉承着 Oracle 的 Cloud first 理念,Oracle 18C 现在 Cloud 和 Engineered Systems 上推出。Oracle 18C号称是一款自治性的数据库,可以减少很多DBA的工作,很多从事DBA工作的人员是不是要担心自己的工作受到影响?其实Oracle 18C上并未体现的特别明显,不过这是未来的一个趋势和信号!

  目前Oracle已更新到ORACLE 19C版本。

Oracle的发展历程的更多相关文章

  1. Oracle数据库的发展历程

    前言 1970年的6月,IBM 公司的研究员埃德加·考特 (Edgar Frank Codd) 在 Communications of ACM 上发表了那篇著名的<大型共享数据库数据的关系模型& ...

  2. Linux实战教学笔记03:操作系统发展历程及系统版本选择

    标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...

  3. Java起源、发展历程、环境变量、第一个Java程序等【1】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: 本文原创作者:pipi-changing 本文原创出处:http://www.cnblogs.com/pi ...

  4. unix及Linux发展历程

    unix及Linux发展历程 版权申明:本文资料为网上收集,由本人整理而成,转载请注明 一,unix诞生: Ken Thompson肯·汤普森 -------- unix之父 在1969年到1970间 ...

  5. 自学工业控制网络之路1.1-工业控制系统发展历程CCS DCS FCS

    返回 自学工业控制网络之路 自学工业控制网络之路1.1-工业控制系统发展历程CCS DCS FCS 工业控制系统是对诸如图像.语音信号等大数据量.高速率传输的要求,又催生了当前在商业领域风靡的以太网与 ...

  6. 不权威的国产CPU发展历程

    最近进行了一些国产化相关工作 趁着周末有时间,自己整理一下这段时间的学习内容. 毕竟不是处理器和芯片的业内人士,里面多有纰漏,请谅解. 希望可以作为入门学习的简单知识. 1.0 远古时代 unix 世 ...

  7. Java语言的发展历程

    前言 自1946年2月14日世界上首款计算机ENAC问世,第一代计算机语言“机器语言”便诞生了,它使用的是最原始的穿孔卡片,这种卡片上使用的语言只有专家才能理解,与人类语言差别极大.这种语言本质上是计 ...

  8. 码农飞升记-00-Java发展历程

    目录 1.Java发布历程 2.Java发展史 Oak 的出现( Java 的雏形) 1995年 Java 的诞生 1996年 Sun 公司发布第一个 JDK 1998年12月用 J2SE 取代 JD ...

  9. mysql发展历程 各分支版本溯源

    首先为什么要了解mysql的历史,了解一个软件的前生后世有时候还是很有必要,特别是对于走在架构之路或者是想深入了解一个软件的时候,在不同版本中由于进行了很多的改进或者说加入了新的功能,也有可能是软件本 ...

随机推荐

  1. 在3G移动通信网络信令流程里获取用户电话号的一种方法(中国电信cdma2000)

    首先这些关于电话号的的寻找都是在分组域进行的 然后是首先在rp接口的A11接口寻找,没有看到,于是到pi接口,研究radius协议 发现在协议里也不含有与用户电话号码mdn相关的元素 然后偶遇一篇文档 ...

  2. SSM项目使用拦截器实现登录验证功能

    SSM项目使用拦截器实现登录验证功能 登录接口实现 public User queryUser(String UserName, String Password,HttpServletRequest ...

  3. PyCharm破解无限试用

    一:安装插件 1.打开PyCharm,进入后,点击左上角File,在点击Settings(设置). 2.进入后,点击Plugins,在点击(2.设置图标),然后点击Manage Plugin Repo ...

  4. 微服务架构 | 4.2 基于 Feign 与 OpenFeign 的服务接口调用

    目录 前言 1. OpenFeign 基本知识 1.1 Feign 是什么 1.2 Feign 的出现解决了什么问题 1.3 Feign 与 OpenFeign 的区别与对比 2. 在服务消费者端开启 ...

  5. 利用Jemalloc进行内存泄漏的调试

    内存不符预期的不断上涨,可能的原因是内存泄漏,例如new出来的对象未进行delete就重新进行复制,使得之前分配的内存块被悬空,应用程序没办法访问到那部分内存,并且也没有办法释放:在C++中,STL容 ...

  6. pycharm中操作git

    pycharm操作git 1.找到VCS 2.

  7. ApacheCN - 关于我们

    1.简单介绍一下 ApacheCN? ApacheCN 是 2016 年 8 月份就开始搭建网站雏形, 2017 年 6 月份正式全职来做,是国内第一个有组织性.敢带人装逼.敢真的分享.并且敢戴绿帽的 ...

  8. Linux之shell入门

    一.编写规范 代码规范: #!/bin/bash [指定告知系统当前这个脚本要使用的shell解释器] shell相关指令 文件命名规范: 文件名.sh .sh是linux下bash shell 的默 ...

  9. JAVA类加载器一 父类委托机制

    感谢原文作者:不将就! 原文链接:https://www.cnblogs.com/byron0918/p/5770653.html 类加载器负责将.class文件加载到内存中,并为之生成对应的Clas ...

  10. java基础之抽象类的介绍

    抽象类的特点: 1.当方法只有声明没有具体实现的时候,需要用abstract修饰符修饰.抽象方法必须定义在抽象类当中,所以抽象类也需要用abstract修饰 2.抽象类不可以被实例化,为什么呢?   ...