1.2 初识Oracle
Oracle数据库系统是美国Oracle公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(Client/Server)或B/S体系结构的数据库之一。Oracle数据库是目前世界上使用最广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
1.2.1 Oracle数据库系统的特点
Oracle数据库系统主要有四大特点,如下。
1.完整的数据管理功能
● 数据的大量性;
● 数据的保存持久性;
● 数据的共享性;
● 数据的可靠性。
2.完备关系的产品
● 信息准则:关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
● 保证访问的准则;
● 视图更新准则:只要形成视图的表中的数据变化了,相应的视图中的数据同时变化;
● 数据物理性和逻辑性独立准则。
3.分布式处理功能
Oracle数据库自第5版起就提供了分布式处理能力,到第7版就有了比较完善的分布式数据库功能了,一个Oracle分布式数据库由oracle rdbms、sql*Net、SQL*CONNECT和其他非Oracle的关系型产品构成。
4.使用Oracle能够轻松地实现数据仓库的操作
Oracle数据仓库解决方案主要包括Oracle Express和Oracle Discoverer两个部分。Oracle Express由4个工具组成:Oracle Express Server是一个MOLAP(多维OLAP)服务器,它利用多维模型,存储和管理多维数据库或多维高速缓存,同时也能够访问多种关系数据库;Oracle Express Web Agent通过CGI或Web插件支持基于Web的动态多维数据展现;Oracle Express Objects前端数据分析工具(目前仅支持Windows平台)提供了图形化建模和假设分析功能,支持可视化开发和事件驱动编程技术,提供了兼容Visual Basic语法的语言,支持OCX和OLE;Oracle Express Analyzer是通用的、面向最终用户的报告和分析工具(目前仅支持Windows平台)。Oracle Discoverer即席查询工具是专门为最终用户设计的,分为最终用户版和管理员版。
1.2.2 发展历史
Oracle公司经过20多年的发展,成为了数据库及相关领域的领导者。
1978年,Oracle 1诞生了,它是使用汇编语言在Digital Equipment计算机PDP-11上开发成功的,但是它的出现并没有引起太多的关注。
随着Oracle 3的出现,一切都发生了改变。这是第一个能够运行在大型和小型机上的关系型数据库。由于Oracle 3是使用C语言编写的,因此这种跨平台的代码移植能力使Oracle在竞争中取得了较大的优势。
随着Oracle版本的不断攀升,其功能和可用性也不断增强,1993年Oracle公司推出了基于UNIX版本的Oracle 7,使Oracle正式向UNIX操作系统进军,并为以后Oracle统治UNIX市场奠定了坚实的基础。
1997年Oracle又推出了基于Java语言的Oracle 8,并在两年以后推出了基于Internet平台的Oracle 8i,“i”代表Internet,这一版本中添加了大量为支持Internet而设计的特性。并且为数据库用户提供了全方位的Java支持。
Oracle 8i成为第一个完全整合了本地Java运行时环境的数据库,使用Java就可以编写Oracle的存储过程。此外,Oracle 8i添加了SQLJ(一种开放式标准,用于将SQL数据库语句嵌入客户机或服务器Java代码)和Oracle interMedia(用于管理多媒体内容)及XML等特性。
同时,Oracle 8i极大程度上提高了伸缩性、扩展性和可用性以满足网络应用需要。接下来的几年中,Oracle陆续发布了8i的几个版本,并逐渐添加了一些面向网络应用的新特性。
面对开源运动的蓬勃发展,Oracle不甘落后,1998年10月Oracle发布了可用于Linux平台的Oracle 8及Oracle Application Server 4.0,随后不久,Oracle又发布了Oracle 8i for Linux。
在2001年6月的Oracle OpenWorld大会中,Oracle发布了Oracle 9i。在Oracle 9i的诸多新特性中,最重要的就是Real Application Clusters(RAC)。说起Oracle集群服务器,早在第5版时,Oracle就开始开发Oracle并行服务器(Oracle Parallel Server,OPS),并在以后的版本中逐渐地完善了其功能,不过,严格来说,尽管OPS算得上是个集群环境,但是并没有体现出集群技术应有的优点。在完全吸收了Rdb(Oracle在1994年收购了Compaq公司的Rdb数据库,此前Rdb属于DEC公司,DEC公司在VAX上实现了第一个可以商用的Rdb集群数据库)的一些技术优势之后,Oracle终于推出了真正的应用集群软件。RAC使多个集群计算机能够共享对某个单一数据库的访问,以获得更高的可伸缩性、可用性和经济性。
Oracle 9i的RAC在TPC-C的基准测试中打破了数项纪录,一时间业内瞩目。这个新的数据库还包含集成的商务智能(BI)功能。Oracle 9i的第2版还做出了很多重要的改进,使Oracle数据库成为一个本地的XML数据库;此外还包括自动管理和Data Guard等高可用方面的特性。
2003年9月8日,旧金山举办的Oracle World大会上,Ellison宣布下一代数据库产品为“Oracle 11g”。在2004年春季,Oracle 11g发布版本10.1.0.2,Oracle公司在该旗舰式数据库产品的新版本中引进了许多新增特性,其中有3个特性最为引人注目:管理的简易性,增强的可缩放性及改进的性能管理。
Oracle 11g中的g代表grid,即“网格”的意思,这一版的最大的特性就是加入了网格计算的功能。何谓网格计算?网格计算可以把分布在世界各地的计算机连接在一起,并且将各地的计算机资源通过高速的因特网组成充分共享的资源集成。通过合理调度,不同的计算环境被综合利用并共享。
管理的简易性特性包括分配给数据库的磁盘存储器的自动管理,数据库内存结构的前瞻性监视与自调节,预配置的数据库报警,以及用于监视和管理整个Oracle体系结构的增强型Web工具。
可缩放性和性能改进主要以Oracle的网格计算(Grid Computing)模型为基础。网格计算的设计意图是让企业能够转变将许多单独的服务器专用于少量应用的观念。当用这种方式配置应用软件时,应用软件要么不能充分利用服务器的可用硬件资源,比如内存、CPU和磁盘,要么在高峰使用期间缺乏这些资源,通过比较,在Oracle的网格计算模型下运行的数据库,能够根据需要被分布在任意少或者任意多的服务器上,进而始终最有效地利用每个可用的硬件资源。与此同时,Oracle 11g的自动性能监视与调节机制动态地调整数据库的这些资源分配,以便于性能改善。
2007年7月12日,甲骨文在美国纽约宣布推出Oracle数据库11g,这是Oracle数据库这个全球最流行的数据库的最新版本。Oracle数据库11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。迄今为止,在甲骨文推出的产品中,Oracle数据库11g是最具创新性和质量最高的软件。Oracle 11g数据库是最具创新性和质量最高的软件。Oracle数据库11g继续专注于网格计算,通过由低成本服务器和存储设备组成的网格提供快速、可扩展的及可靠的数据处理,支持最苛刻的数据仓库、交易处理和内容管理环境。
1.2.3 Oracle版本号的含义
Oracle产品版本号由5部分数字组成,如图1-1所示。
图1-1 Oracle产品组成
● 主发布版本号:版本最重要的标识号,表示重大的改进和新的特征。
● 主发布维护号:维护版本号,一些新特性的增加和改进。
● 应用服务器版本号:Oracle应用服务器(Oracle Application Server)的版本号。
● 构件特定版本号:针对构件升级的版本号。
● 平台特定版本号:标识操作系统平台相关的发布版本。当不同的平台需要相同层次的补丁时,该数字将会是一样的。
1.2.4 Oracle 11g的新特性
Oracle数据库11g可以帮助企业管理企业信息,更深入地洞察业务状况并迅速自信地做出调整以适应不断变化的竞争环境。新版数据库增强了Oracle数据库独特的数据库集群、数据中心自动化和工作量管理功能。甲骨文客户可以在安全的、高度可用和可扩展的、由低成本服务器和存储设备组成的网格上满足最苛刻的交易处理、数据仓库和内容管理应用。
11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(Information Lifecycle Management)等多项创新。大幅提高了系统性能安全性,全新的Data Guard最大化了可用性,利用全新的高级数据压缩技术降低了数据存储的支出,明显缩短了应用程序测试环境部署及分析测试结果所花费的时间,增加了RFID Tag、DICOM医学图像和3D空间等重要数据类型的支持,加强了对Binary XML的支持和性能优化。
1.实时应用测试组件缩短变化所需时间、降低有关风险和成本
Oracle数据库11g具有先进的自助式管理功能和自动化功能,可帮助企业满足服务级别协议的要求。例如,对需要定期升级数据库和操作系统并改变硬件和系统的企业来说,Oracle数据库11g的Oracle实时应用测试(Oracle Real Application Testing)组件非常适用。这一功能使Oracle数据库11g成为有史以来第一个能够帮助企业以可控和经济的方法迅速地测试并管理IT环境变化的数据库。
2.提高灾难恢复解决方案的投资回报
Oracle数据库11g的Oracle Data Guard组件可帮助客户利用备用数据库,以提高生产环境的性能,并保护生产环境免受系统故障和大面积灾难的影响。Oracle Data Guard组件可以同时读取和恢复单个备用数据库,这种功能是业界独一无二的,因此Oracle Data Guard组件可用于对生产数据库的报告、备份、测试和“滚动”升级。通过将工作量从生产系统卸载到备用系统,Oracle Data Guard组件还有助于提高生产系统的性能,并组成一个更经济的灾难恢复解决方案。
3.增强信息生命周期管理和存储管理能力
Oracle数据库11g具有极新的数据划分和压缩功能,可实现更经济的信息生命周期管理和存储管理。很多原来需要手工完成的数据划分工作在Oracle数据库11g中都实现了自动化,Oracle数据库11g还扩展了已有的范围、散列和列表划分功能,增加了间隔、索引和虚拟卷划分功能。另外,Oracle数据库11g还具有一套完整的复合划分选项,可以实现以业务规则为导向的存储管理。
Oracle数据库11g以成熟的数据压缩功能为基础,可在交易处理、数据仓库和内容管理环境中实现先进的结构化和非结构化数据压缩。采用Oracle数据库11g中先进的压缩功能,所有数据都可以实现2x~3x或更高的压缩比。
4.全面回忆数据变化
Oracle数据库11g具有Oracle全面回忆(Oracle Total Recall)组件,可帮助管理员查询在过去某些时刻指定表格中的数据。管理员可以用这种简单实用的方法给数据增加时间维度,以跟踪数据变化、实施审计并满足法规要求。
5.最大限度提高信息可用性
在保护数据库应用免受计划停机和意外宕机影响方面,甲骨文一直领先于业界。Oracle数据库11g进一步地增强了这种领先地位,数据库管理员现在可以更轻松地达到用户的可用性预期。新的可用性功能包括:Oracle闪回交易(Oracle Flashback Transaction),可以轻松地撤销错误交易及任何相关交易;并行备份和恢复功能,可改善非常大数据库的备份和存储性能;“热修补”功能,不必关闭数据库就可以进行数据库修补,提高了系统可用性。另外,一种新的顾问软件——数据恢复顾问,可自动调查问题、充分智能地确定恢复计划并处理多种故障情况,从而可以极大地缩短数据恢复所需的停机时间。
6.Oracle快速文件
Oracle数据库11g具有在数据库中存储大型对象的下一代功能,这些对象包括图像、大型文本对象或一些先进的数据类型,如XML、医疗成像数据和三维对象。Oracle快速文件(Oracle Fast Files)组件使数据库应用的性能完全比得上文件系统的性能。通过存储更广泛的企业信息并迅速轻松地检索这些信息,企业可以对自己的业务了解得更深入,并更快地对业务做出调整以适应市场变化。
7.更快的XML
在Oracle数据库11g中,XML DB的性能获得了极大的提高,XML DB是Oracle数据库的一个组件,可帮助客户以本机方式存储和操作XML数据。Oracle数据库11g增加了对二进制XML数据的支持,现在客户可以选择适合自己特定应用及性能需求的XML存储选项。XML DB还可以通过支持XQuery、JSR-170和SQL/XML等标准的业界标准接口来操作XML数据。
8.透明的加密
Oracle数据库11g进一步地增强了Oracle数据库无与伦比的安全性。该新版数据库增强了Oracle透明数据加密功能,将这种功能扩展到了卷级加密之外。Oracle数据库11g具有表空间加密功能,可用来加密整个表、索引和所存储的其他数据。存储在数据库中的大型对象也可以加密。
9.嵌入式OLAP行列
Oracle数据库11g在数据仓库方面也引入了创新。OLAP行列现在可以在数据库中像物化图那样使用,因此开发人员可以用业界标准SQL实现数据查询,同时仍然受益于OLAP行列所具有的高性能。
新的连续查询通知(Continuous Query Notification)组件在数据库数据发生重要变化时,会立即通知应用软件,不会出现由于不断轮询而加重数据库负担的情况。
10.连接汇合和查询结果高速缓存
Oracle数据库11g中各项提高性能和可扩展性的功能可帮助企业维护一个高性能和高度可扩展的基础设施,以向企业的用户提供质量最高的服务。Oracle数据库11g进一步地增强了甲骨文在性能和可扩展性方面的业界领先地位,增加了查询结果高速缓存等新功能。通过高速缓存和重用经常调用的数据库查询及数据库和应用层的功能,查询结果高速缓存功能改善了应用的性能和可扩展性。数据库驻留连接汇合(Database Resident Connection Pooling)功能通过为非多线程应用提供连接汇合,提高了Web系统的可扩展性。
11.增强了应用开发能力
Oracle数据库11g提供多种开发工具供开发人员选择,它提供的简化应用开发流程可以充分地利用Oracle数据库11g的关键功能,这些关键功能包括:客户端高速缓存、提高应用速度的二进制XML、XML处理及文件存储和检索。另外,Oracle数据库11g还具有新的Java实时编译器,无须第三方编译器就可以更快地执行数据库Java程序;为开发在Oracle平台上运行的.NET应用,实现了与Visual Studio 2005的本机集成;与Oracle快捷应用配合使用的Access迁移工具;SQL Developer可以轻松地建立查询,以快速编制SQL和PL/SQL例程代码。
12.增强了自助式管理和自动化能力
Oracle数据库11g的各项管理功能用来帮助企业轻松地管理企业网格,并满足用户对服务级别的要求。Oracle数据库11g引入了更多的自助式管理和自动化功能,将帮助客户降低系统管理成本,同时提高客户数据库应用的性能、可扩展性、可用性和安全性。Oracle数据库11g新的管理功能包括:自动SQL和存储器微调;新的划分顾问组件自动向管理员建议,如何对表和索引分区以提高性能;增强的数据库集群性能诊断功能。另外,Oracle数据库11g还具有新的支持工作台组件,其易于使用的界面向管理员呈现与数据库健康有关的差错及如何迅速地消除差错的信息。