2.1 Oracle数据库的发展
2.1.1 Oracle数据库的应用现状
Oracle数据库系统是Oracle(甲骨文)公司于1979年发布的世界上第一个关系数据库管理系统。经过30多年的发展,Oracle数据库系统已经应用于各个领域,在数据库市场占据主导地位。Oracle公司也成为当今世界上最大的数据库厂商和最大的商用软件供应商,向遍及全球的145个国家和地区的用户提供数据库、工具和应用软件,以及相关的咨询、培训和支持服务。
Oracle数据库产品是当前市场占有率最高的数据库产品,约为49%。如图2-1所示描述了2010年几大数据库产品的市场占有率情况。Oracle数据库客户遍布工业、金融、商业、保险等各个领域,从大型企业(如AT&T、雪铁龙、通用电气等)到纯粹的电子商务公司(如亚马逊、eBay等)。在当今世界500强企业中,70%企业使用的是Oracle数据库,世界十大B2C公司全部使用Oracle数据库,世界十大B2B公司中有9家使用的是Oracle数据库。
在所有的IT认证中,Oracle公司的Oracle专业认证OCP(Oracle Certified Professional)是数据库领域最热门的认证。如果取得了OCP认证,就会在激烈的市场竞争中获得显著的优势。对Oracle数据库有深入了解并具有大量实践操作经验的Oracle数据库管理员(DBA)和开发人员,将很容易获取一份环境优越、待遇丰厚的工作。
2.1.2 Oracle 数据库的版本变迁
从1979年Oracle数据库产品Oracle 2的发布,到今天Oracle 11g的推出,Oracle功能不断完善和发展,性能不断提高,其安全性、稳定性也日趋完善。
下面简单介绍Oracle数据库产品的版本变迁历程。
1)1979年,Oracle公司推出了世界上第一个基于SQL标准的关系数据库系统Oracle 2。它是使用汇编语言在Digital Equipment计算机PDP-11上开发成功的。Oracle 2的出现当时并没有引起太多的关注。
2)1983年3月,Oracle公司发布了Oracle 3。由于该版本采用C语言开发,因此Oracle产品具有了可移植性,可以在大型机和小型机上运行。此外,Oracle 3还推出了SQL语句和事务处理的“原子性”,引入非阻塞查询等方法。
3)1984年10月,Oracle公司发布了Oracle 4。这一版增加了读取一致性(Read Consistency),确保用户在查询期间看到一致的数据。也就是说,当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。
4)1985年,Oracle公司发布了Oracle 5。这是第一个可以在Client/Server(客户机/服务器)模式下运行的RDBMS产品。这意味着运行在客户机上的应用程序能够通过网络访问数据库服务器。1986年发布的Oracle 5.1版还支持分布式查询,允许通过一次性查询访问存储在多个位置上的数据。
5)1988年,Oracle公司发布了Oracle 6。该版本支持行锁定模式、多处理器、PL/SQL过程化语言、联机事务处理(OnLine Transaction Process,OLTP)。
6)1992年,Oracle公司发布了基于UNIX版本的Oracle 7,从此,Oracle正式向UNIX进军。Oracle 7采用多线程服务器体系结构MTS(Multi-Threaded Server),可以支持更多用户的并发访问,数据库性能显著提高。同时,该产品增加了数据库选件,包括过程化选件、分布式选件、并行服务器选件等,具有分布式事务处理能力。
7)1997年6月,Oracle公司发布了基于Java的Oracle 8。Oracle 8支持面向对象的开发及Java工业标准,其支持的SQL关系数据库语言执行SQL3标准。Oracle 8的出现使得Oracle数据库构造大型应用系统成为可能,其对OFA(Optimal Flexible Architecture)文件目录结构组织方式、数据分区技术和网络连接的改进,使Oracle更加适用于构造大型应用系统。
8)1998年9月,Oracle公司正式发布Oracle 8i。Oracle 8i是随Internet技术的发展而产生的网络数据库产品,全面支持Internet技术。Oracle公司的产品发展战略由面向应用转向面向网络计算。Oracle 8i为数据库用户提供了全方位的Java支持,完全整合了本地Java运行时的环境,用Java就可以编写Oracle的存储过程。同时,Oracle 8i中还添加了SQLJ(一种开放式标准,用于将SQL数据库语句嵌入客户机或服务器的Java代码)、Oracle InterMedia(用于管理多媒体内容)和XML等特性。此外,Oracle 8i极大提高了伸缩性、扩展性和可用性,以满足网络应用需要。
9)2001年6月,Oracle公司发布了Oracle 9i。Oracle 9i实际包含3个主要部分:Oracle 9i数据库、Oracle 9i应用服务器及集成开发工具。作为Oracle数据库的一个过渡性产品,Oracle 9i数据库在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了突破,借助真正应用集群技术实现无限的可伸缩性和总体可用性,全面支持Java与XML,具有集成的先进数据分析与数据挖掘功能及更自动化的系统管理功能,是第一个能够跨越多个计算机的集群系统。使用户能够以前所未有的低成本,更容易地构建、部署和管理Internet应用,同时有效降低了系统构建的复杂性。
10)2003年9月,Oracle公司发布了Oracle 10g。Oracle 10g由Oracle 10g数据库、Oracle 10g应用服务器和Oracle 10g企业管理器组成。Oracle 10g数据库是全球第一个基于网格计算(Grid Computing)的关系数据库。网格计算帮助客户利用刀片服务器集群和机架安装式存储设备等廉价的标准化组件,迅速而廉价地建立大型计算能力。Oracle 10g数据库引入了新的数据库自动管理、自动存储管理、自动统计信息收集、自动内存管理、精细审计、物化视图和查询重写、可传输表空间等特性。此外,Oracle 10g数据库在可用性、可伸缩性、安全性、高可用性、数据库仓库、数据集成等方面得到了极大的提高。Oracle 10g数据库产品的高性能、可靠性得到市场的广泛认可,已经成为大型企业、中小型企业和部门的最佳选择。
11)2007年7月11日,Oracle公司发布了Oracle 11g。Oracle 11g是Oracle公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(Information Lifecycle Management)等多项创新,大幅提高了系统性能安全性,全新的Data Guard最大化了可用性。利用全新的高级数据压缩技术降低了数据存储的支出,明显缩短了应用程序测试环境部署及分析测试结果所花费的时间,增加了对RFID Tag、DICOM医学图像、3D空间等重要数据类型的支持,加强了对Binary XML的支持和性能优化。
2.1.3 Oracle数据库的技术领先优势
Oracle数据库之所以能够在数据库市场上占主导地位,市场占有率远远高于其他数据库产品,关键在于其技术不断发展创新,创造了数据库领域的多个“第一”。
1)1985年Oracle发布第一个支持Client/Server架构的数据库产品Oracle 5.0。
2)1987年Oracle 推出第一套集成Case 和4GL 的工具集。
3)1989年Oracle成为第一个支持OLTP 的关系数据库。
4)1991年Oracle成为第一个支持MPP 的关系数据库。
5)1991年Oracle成为第一个并行服务器数据库。
6)1993年Oracle发布第一套跨平台的GUI 工具集。
7)1994年Oracle成为第一个多媒体数据库服务器。
8)1994年Oracle成为第一个全面并行数据库。
9)1996提出以网络为中心的NCA体系结构。
10)1996年Oracle成为第一个全能数据库服务器产品。
11)1997年Oracle发布第一个对象–关系型数据库产品Oracle 8。
12)1998年Oracle发布第一个Internet数据库Oracle 8i。
13)2001年Oracle发布第一个真正意义上的RAC(真正应用集群)数据库Oracle 9i 。
14)2003 年Oracle发布第一个实现网格计算的数据库Oracle 10g。
2.1.4 Oracle数据库的高市场占有率
Oracle数据库经过30多年的发展,由于其优越的安全性、完整性、稳定性,以及支持多种操作系统、多种硬件平台等特点,得到了广泛的应用。从工业领域到商业领域,从大型机到微型机,从UNIX操作系统到Windows操作系统,到处都可以发现成功的Oracle应用案例。
Oracle之所以得到广大用户的青睐,其主要原因如下:
支持多用户、大事务量的事务处理。Oracle数据库是一个大容量、多用户的数据库系统,可以同时支持20000个用户同时访问,支持数据量达百吉字节的应用。
提供标准操作接口。Oracle数据库是一个开放的系统,它所提供的各种操作接口都遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。
实施安全性控制和完整性控制。Oracle通过权限设置限制用户对数据库的访问,通过用户管理、权限管理限制用户对数据的存取,通过数据库审计、追踪等方法监控数据库的使用情况。
支持分布式数据处理。Oracle支持分布式数据处理,允许利用计算机网络系统,将不同区域的数据库服务器连接起来,实现软件、硬件、数据等资源共享,实现数据的统一管理与控制。
Oracle Real Application Clusters(RAC,真正应用集群)实现可用性和可伸缩性。使单个数据库能够跨网格中的多个集群化的节点运行,从而集中几台标准计算机的处理资源。
具有可移植性、可兼容性和可连接性。Oracle产品可运行于很宽范围的硬件与操作系统平台上,可以安装在70种以上不同的大、中、小型机上,可在VMS、DOS、UNIX、Windows等多种操作系统下工作。Oracle应用软件从一个平台移植到另一个平台时,不需要修改或只需修改少量的代码。Oracle产品采用标准SQL,并经过了美国国家标准技术所(NIST)的测试,能与多种通信网络相连,支持各种网络协议(如TCP/IP、DECnet、LU6.2等)。