第2章 Oracle 11g概述
Oracle 11g是由Oracle公司开发的、面向Internet网格计算的、支持关系以及对象模型的数据存储管理产品;它是一个高度集成的互联网应用基础平台,为企业数据存储提供了高性能的数据库管理系统;在数据关键领域、业务关键领域它是首选的数据库产品。本章主要介绍数据库的基础知识以及Oracle数据库的演化历史,同时结合Oracle最新数据库产品Oracle 11g来介绍其最新特征,以及未来的产品走向。
2.1 Oracle数据库发展演进史
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集群服务器第五版时,Oracle就开始开发Oracle并行服务器(Oracle Parallel Server,OPS),并在以后的版本中逐渐完善了其功能,严格来说,尽管OPS可以称为集群环境,但是并没有体现出集群技术应有的优点。在完全吸收了Rdb(Oracle公司在1994年收购了Compaq公司的Rdb数据库,此前Rdb属于DEC公司,DEC公司在VAX上实现了第一个可以商用的Rdb集群数据库)的一些技术优势之后,Oracle终于推出了真正的应用集群软件RAC。RAC使得多个集群计算机能够共享对某个单一数据库的访问,以获得更高的可伸缩性、可用性和经济性。
Oracle 9i的RAC在TPC-C的基准测试中打破了数项记录,被业内瞩目,这个新的数据库包含了集成的商务智能(BI)功能。Oracle 9i第2版还做出了很多重要的改进,使Oracle数据库成为一个本地的XML数据库;此外还包括自动管理、DataGuard等高可用方面的特性。
2003年9月8日,在旧金山举办的Oracle World大会上,Ellison宣布下一代数据库产品为“Oracle 11g”。2004年春季,Oracle 11g发布版本10.1.0.2,此版本引进了许多新特性,其中管理的简易性、增强的可缩放性及改进的性能管理最为引人注目。
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数据库继续专注于网格计算,通过由低成本服务器和存储设备组成的网格提供快速、可扩展的、可靠的数据处理,支持最苛刻的数据仓库、交易处理和内容管理环境。
2.2 Oracle版本号的含义
Oracle产品版本号由5部分数字组成,如图2-1所示。
◎ 主发布版本号:是版本的最重要的标识号,表示重大的改进和新的特征。
◎ 主发布维护号:维护版本号,一些新的特性的增加和改进。
◎ 应用服务器版本号:Oracle应用服务器(Oracle Application Server)的版本号。
◎ 构件特定版本号:针对构件升级的版本号。
◎ 平台特定版本号:标识操作系统平台相关的发布版本。当不同的平台需要相同层次的补丁时,这个数字将会是一样的。
图2-1 Oracle版本号组成
2.3 Oracle网格技术
Oracle 10g或Oracle 11g中的g代表grid,即“网格”的意思。
2.3.1 网格概述
目前,各种企业、组织内部的计算孤岛使得资源的利用率非常低、系统运行缓慢,而维护费用昂贵。因此企业在不断寻找降低成本和提高流程及系统效率的方法,网格计算恰好提供了这一方法。网格计算提供了一种以池的形式管理硬件的方法,提高了企业资源的利用率,而且消除了计算机的彼此分离状态。可以创建集中的计算资源池,然后按照企业的优先级动态地分配这些计算资源。
网格计算的中心理念是作为公用设施进行计算,而不必关心数据的位置,或者哪台计算机处理请求。这与电网(grid)设施工作的方式类似,因为使用者不知道发电机的位置,以及电网的连接方式。使用者只要求供电,并获得电力。计算的目标是使计算也成为一项公用设施,一种商品,且无处不在,因此将其命名为“网格计算”。
这种公用设施计算的观点是从客户端的角度来看的。从服务器端来看,网格计算是关于资源分配、信息共享及高可用性的。资源分配确保满足需要或请求的资源被分配了信息共享确保用户和应用程序所需的信息能够在需要的地点和时间提供;高可用性确保所有的数据和计算可随时提供,像一个公用设施公司必须始终提供电力。
网格计算改变了企业使用资源的方式,使数据中心等系统可以跨服务器使用资源。
1.推动网格计算的趋势
(1)硬件趋势
◎ 处理器:新的低成本、高容量的处理器提供的性能等于或者优于在高端SMP服务器中使用的处理器。
◎ 服务器:刀片服务器技术降低了硬件成本,提高了服务器的密度,这进一步降低了昂贵的IT系统需求。这些刀片服务器还自带了远程管理功能,使得数据中心管理员可以很容易地管理这些系统。
◎ 网络化存储:网络固有存储(NAS)和存储区域网(SAN)使共享整个系统的存储成为可能,从而进一步降低成本。
◎ 网络互联:千兆位以太网和无限带宽互联技术正不断降低连接服务器集群的成本。
(2)虚拟化
虚拟化是指将网格中的每一个物理和逻辑实体都抽象为一项服务。例如,所有的单个服务器可以被虚拟化为一个大型服务器,所有的存储可以被虚拟化为一个存储。它使得网格组件(如存储器、处理器、数据库、应用服务器和应用程序)能够紧密集成,且不会使系统僵化。
此外,Sun、HP、IBM和Topspin等公司正在开始提供硬件虚拟化和供应技术。这些技术允许动态分组或者连接一系列的服务器和存储组件,还可以动态地将服务器和存储组件从一个组转移到另一个组。其中的一些技术还允许在这些服务器上动态加载和启动OS及应用程序。
(3)软件趋势
只有当运行在硬件上的软件能够有效利用硬件革新时,这些革新才是有用的,软件的发展已经开始利用这些硬件革新。目前,大部分软件存在的一个问题是,能够使用提供给它的资源,但并不能释放或放弃不再需要的资源。Oracle目前提供的软件——Oracle数据库和Oracle应用服务器——能够利用这些硬件革新。Oracle数据库和Oracle应用服务器能够利用提供给它们的资源,并且可以很容易地释放不再需要的资源。
软件的另一个发展趋势是模块化、开放性。网格内的各种软件能够需要集成,作为一个整体对外提供服务,因此,需要开放的接口和可重用模块。
2.网格的发展
(1)在技术方面,网格发展迅速。主要供应商已经开始提供基于网格的技术,网格标准组织GGF已经成立,并且得到了所有主要技术供应商的支持。
(2)在企业IT机构中,网格的发展同样很快。网格技术提高了现有硬件的利用率。网格能够分配资源来满足业务需求,而不会有闲置或超载的计算孤岛。由于现有硬件需要更换,而刀片服务器提供了合适的性价比,这种经济性促使企业开始将刀片服务器用于网格计算。
2.3.2 网格的基本属性
网格计算基于5个基本属性:虚拟化、动态供应、资源集中、自适应系统和统一管理。
1.虚拟化
虚拟化使得网格组件(如存储器、处理器、数据库、应用服务器和应用程序)分别作为一个整体,一起工作,不会造成系统僵化和脆弱。虚拟化使得网格的每个组件都能够更快地对不断变化的环境作出反应,以及在不损害系统总体性能的条件下适应组件故障,而不是创建固定的连接来确定哪一个服务器结点将处理来自某个特定应用程序的请求。
2.动态供应
简单地说,就是按需分配资源。就网格而言,“资源”的意思可能是需要访问和使用的数据,或者是执行的计算能力(CPU、内存等)。网格环境中的供应意味着网格服务引擎——它了解一个元素的资源需求,以及另一个元素的资源可用性——自动且动态地将二者连接在一起,以有效地动态利用资源。然后它随着环境的变化调整这种关联。策略(如,响应时间阈值或预期的高峰需求)能够进一步优化资源请求者与资源提供者之间的关联。
3.资源集中
网格要实现更好的资源利用率(降低成本的关键因素),就需要合并和集中资源。通过将单个磁盘集中于存储器矩阵中,以及将单个服务器集中于刀片服务器群中,动态地连接服务消费者与服务提供者的网格运行过程,以拥有更大的灵活性来优化这种关联。
4.自适应软件
由于人工成为IT成本最重要的部分,所以,如果没有自动化或简化管理员日常的任务,那么,更高的硬件利用率或更好的系统响应性所带来的节省将变得无关紧要。如果每个结点都要求持续的人工调整和干预,网格基础架构将无法工作。一个关键的网格基础架构需求是自动执行传统上由IT工作人员执行的大部分维护和调整任务的系统,更多的过去由管理员执行的任务现在必须由系统自己来处理。
5.统一管理
即使使用自我管理的系统,企业网格的管理也常常需要人工介入,但需要由人工执行的管理任务将利用单个工具得到简化,该工具能够供应、监控和管理网格中的每一个元素。这种工具将从用户的角度来评估可用性和性能,从而任何系统瓶颈或任何不可用组件都将引起警报。最重要的是,利用网格基础架构,IT专业人员必须能够将系统群组当作单个逻辑实体来处理,从而任务可以一次性执行,并在多台计算机上运行。
2.3.3 Oracle网格基础架构
Oracle网格基础架构包含三个产品:
◎ Oracle数据库网格;
◎ Oracle应用服务器网格;
◎ Oracle企业管理器网格控制(Grid Control)。
1.Oracle数据库网格
Oracle数据库网格是在Oracle 9i数据库基础上构建的,增加了许多网格专用的功能,它基于真正应用集群(Real Application Clusters)。
(1)真正应用集群
真正应用集群使单个数据库能够跨网格中的多个集群化的结点运行,从而可以利用几台计算机服务器的处理资源。Oracle在跨计算机供应工作负荷的能力方面具备独特的灵活性,因为它是不需要随着工作负载变化对数据进行再分区或分配的数据库技术。
在Oracle数据库中,当一个新的服务器资源得到供应时,数据库能够利用新的处理容量开始跨一个新的结点均衡工作负荷,且当不再需要某台计算机资源时,能够释放它,这就是按需提供容量。
Oracle数据库网格中的新的集成集群件消除了购买、安装、配置和支持第三方集群件的要求,从而使组成集群变得容易。可以轻松地将服务器添加到一个Oracle集群中(或从中删除),且可以不造成停机时间。Oracle为所有主流操作系统都提供了集群件的数据库技术。
(2)自动存储管理
自动存储管理为Oracle数据库简化了存储管理。通过使存储管理的细节抽象化,Oracle利用先进的数据供应改善了数据访问性能,且不需要DBA的额外工作。Oracle DBA仅管理少量的磁盘组,而不是管理数据库文件。一个磁盘组是一组磁盘设备的集合,Oracle将其作为单个逻辑单元来管理。管理员可以定义一个特别的磁盘组作为数据库的默认磁盘组,Oracle自动为数据库分配存储资源。
自动存储管理还提供了其他存储技术(如RAID或逻辑卷管理器LVM)方面的功能。Oracle能够跨磁盘组中的所有设备均衡来自多个数据库的I/O,并且它实施条带化和镜像来改善I/O性能和数据可靠性。此外,Oracle能够从结点到结点和从集群到集群重新分配磁盘,并自动地重新配置磁盘组。
(3)信息供应
除了跨多个结点供应资源和跨多个磁盘供应数据外,Oracle数据库网格中还有另一种类型的供应——信息自身的供应。根据信息的容量和访问的频率,可能必须将数据从它目前所处的位置转移,或者跨多个数据库共享数据。Oracle数据库网格包含了各种工具来提供对信息随时随地的按需访问,从而使信息提供者和信息请求者相互配合。这些工具中最细粒化和实时化的是Oracle Streams,它可以将数据从一个数据库移植到另一个数据库,且同时两个数据库都保持在线。在某些环境中可能更适宜进行批量数据传输,Oracle为这些环境提供了数据传输和传输表空间。在Oracle数据库中,所有的信息供应工具都能够将数据转移到运行在不同操作系统上的数据库中。
(4)自管理数据库
网格环境的可管理性使每个单独的系统需要的人工关注更少一些。利用新的自管理数据库,数据库网格减少了需要由管理员执行的维护和调整任务。Oracle数据库网格包含一个智能数据库基础架构,该基础架构生成重要的统计和工作负荷数据的快照,并进行分析,以执行自调整和为管理员提供建议。Oracle数据库网格修补某些诊断出来的问题,并在一些情况下向DBA提供关于简单的纠正方法的建议。
2.Oracle应用服务器网格
Oracle应用服务器网格提供了一个完整的基础架构平台,用于开发和部署企业应用程序及集成,包括J2EE和Web服务运行时环境、企业门户、企业流程管理、商务智能、Web高速缓存和身份管理服务。
Oracle应用服务器网格运行时服务能够通过应用服务器集群来集中和虚拟化。Oracle应用服务器内部的每一项服务——HTTP、J2EE、Web高速缓存、Web服务、LDAP、门户等,都能在一个网格中跨多台计算机分配。Oracle网格允许定义性能阈值,当超过该阈值时,能够增加和启动(或释放)新的应用服务器例程来处理网格的新结点上的额外工作,从而实现按需提供容量。
3.Oracle企业管理器网格控制
网格控制是完整集成的集中式管理控制台和底层框架,该框架使网格环境中的跨系统集合的管理任务自动化,网格控制通过自动化和基于策略的标准化来帮助降低管理成本。利用Oracle网格控制,IT专业人员能够将多个硬件结点、数据库、应用服务器和其他对象分组为单个逻辑实体。通过跨一组对象(而不是单独在许多系统上)执行作业、实施标准策略、监控性能和使许多其他的任务自动化,网格控制使得IT工作人员能够随着不断成长的网格进行扩展。
利用网格控制,使得跨多个结点的应用服务器和数据库服务器的安装、配置和克隆实现自动化。Oracle企业管理器提供了一个用于软件供应和管理的公共框架,它允许管理员按需要来创建、配置、部署和使用新的服务器。这个框架不仅可以用来供应新的系统,而且还可以用来补丁和升级现有的系统。
2.4 Oracle 11g新特性
Oracle 11g主要在帮助应对大数据量下的众多挑战:如何在服务器、存储器或站点出现故障时保持用户的服务水平?如何防止数据泄露并确保合规性?如何存储、管理和保护所有类型的信息,并将其轻松集成到日常业务操作中?如何伸缩大型事务处理和数据仓库系统并确保性能、可靠性和可管理性?如何升级软件和硬件,同时尽量降低更改的风险?
Oracle利用Oracle 11g中的大量新特性和增强功能帮助解决这些挑战。Oracle 11g扩展了Oracle具有的提供网格计算优势的功能,可以利用它来提高用户服务水平、减少停机时间及更加有效地利用IT资源,同时,还可以增强全天候业务应用程序的性能、可伸缩性和安全性。
2.4.1 企业网格管理的高可用性
2003年,Oracle在Oracle 10g中引入了网格计算,从根本上改变了数据中心的外观和操作方式,将它们从不同资源的孤岛转换为服务器和存储器的共享池。通过将低成本的商品服务器和模块化的存储阵列集群到一个网格中,组织能够构建提供最高级别的可管理性、可用性和性能的IT系统。Oracle 11g扩展了Oracle网格计算的功能。
1.满足用户服务水平预期
管理服务水平目标是一个持续的挑战。用户期望快速、安全地访问全天候应用程序,IT管理人员必须在不增加成本和资源的情况下提供该服务。Oracle 11g中的可管理特性旨在帮助组织轻松管理基础架构网格并成功地满足其用户的服务水平期望。其新增的可管理性特性和增强功能可以帮助提高数据库管理员(DBA)的效率,减少管理成本,同时还可以增强全天候业务应用程序的性能、可伸缩性和安全性。
2.利用真正应用测试尽量降低更改的风险
Oracle 11g降低了数据库升级及其他硬件和操作系统更改的成本,显著简化了更改前后的系统测试以便可以识别和解决问题。例如:
(1)利用Database Replay,可以在数据库级别轻松捕获实际的生产负载并在测试系统上重新播放,这样就可以全面测试系统更改(包括关键的并发特性)的影响。
(2)SQL Performance Analyzer识别结构化查询语言(SQL)执行计划更改和性能回退。然后,可以使用SQL Tuning Advisor解决识别的问题,方法是还原到原始的执行计划或进一步优化。
3.利用管理自动化提高DBA效率
Oracle 11g继续致力于(从Oracle 9i开始一直到Oracle 10g)显著简化和完全自动化DBA任务。新功能包括:
(1)利用自学功能自动进行SQL优化。
(2)系统全局区(SGA)和程序全局区(PGA)的内存缓存区的自动、统一调整。
(3)新的advisor用于分区、数据恢复、流性能和空间管理。
(4)针对自动数据库诊断监视器(ADDM)的增强,能够提供Oracle真正应用集群(Oracle RAC)环境中的更好的性能全局视图及改进的性能比较分析功能。
4.利用故障诊断快速解决问题
Oracle 11g中新增的故障诊断功能使客户在发生错误后捕获更简单的诊断所需的数据,可以加速解决问题,减少客户对重现问题的需要。
5.尽量降低停机成本
在当今的全天候全球经济中,组织承担不起IT系统停机的成本。因此,系统必须可靠,并且在出现故障时可以快速恢复。Oracle 11g可防止系统出现所有常见原因引起的计划和意外停机事件,包括服务器、存储器和站点故障及人为错误,其中,人为错误是出现错误的最大原因。利用Oracle 11g的高可用性特性,可以极大降低停机和数据丢失的风险。
6.通过Oracle DataGuard快速恢复数据
Oracle DataGuard在本地和远程服务器之间协调数据库的维护和同步,以便从灾难或站点故障快速恢复。Oracle 11g提供了大量显著的Oracle DataGuard增强功能,包括:
(1)可以在物理备用系统上运行实时查询以用于报表或其他应用。
(2)可以通过将物理备用系统暂时转换为逻辑备用系统执行联机的、滚动的数据库升级。
(3)支持测试环境的快照备用系统。
(4)此外,物理和逻辑备用的性能都有提高。逻辑备用支持可扩展标记语言(XML)的字符大型对象(CLOB)数据类型和透明的数据加密,也支持自动的、快速启动的故障切换,以支持异步传输。
7.利用自动存储管理保护数据
利用自动存储管理,Oracle 11g可以在可用的存储设备间自动镜像和平衡数据以保护数据并优化性能,即使添加或移除新磁盘时也可以。Oracle 11g提供了几个针对自动存储管理的重要的高可用性增强,包括:
(1)支持滚动升级。
(2)自动坏块检测和修复。
(3)快速镜像重新同步,该功能可以有效地重新同步存储网络连接性暂时丢失时自动存储管理镜像的存储阵列。
(4)自动存储管理的性能增强使得大型数据库可以更快地打开SGA并减少内存消耗,这些增强还允许DBA增加存储分配单元大小以加快大型序列输入/输出(I/O)。
8.显著增加正常运行时间
Oracle 11g可以应用很多一次性数据库补丁(包括诊断补丁),而没有停机时间,在集群和单个服务器环境中也是如此。此外,新的数据恢复advisor通过快速识别故障根本原因、为DBA提供可用的恢复选项,极大地减少了停机时间,在某些情况下,还可以通过“自我恢复”机制自动纠正问题。
9.加快数据库升级
利用Oracle 11g,补丁集和版本升级现在都通过使用平行和延迟PL/SQL对象编译而显著加快。
10.改进联机操作
Oracle 11g数据库包含大量对联机重新定义操作的改进,如更细粒度依赖项跟踪、允许增加新的列和过程而不会引发不必要的相关对象重编译。
(1)易于执行的联机更改表操作。
(2)带默认值的快速“添加列”。
(3)联机索引构建,不必暂停数据处理语言(DML)操作。
11.其他高可用性的增强
Oracle 11g还有其他高可用性的增强,包括:
(1)Oracle闪回事务查询,提供带其他相关事务更改的按钮更改。
(2)具有更多可传输选项的增强的平台移植和数据移动,包括可传输分区、模式和跨平台数据库。
(3)Oracle恢复管理器(RMAN)支持Windows Volume Shadow Copy Service(VSS)快照,从而实现与Windows备份更紧密的集成。
2.4.2 更加优化的性能
合规、法律取证及整合数据仓库的趋势导致数据库的大小每两年就会增加两倍,这极大地影响了大型数据库的存储成本和性能、可靠性及可管理性。Oracle 11g使组织可以使用低成本的服务器和模块化的存储器轻松伸缩大型的事务和数据仓库系统,并提供快速的全天候数据访问。Oracle 11g提供新的特性以进一步提高要求极严格的环境的性能和可伸缩性。
1.利用SecureFiles安全、高性能地存储数据
SecureFiles是Oracle用于在数据库中存储大型对象(LOB),如图像、大型文本对象或包括XML、医学成像及地理空间栅格对象在内的高级数据类型的下一代产品。SecureFiles提供能够完全与文件系统相媲美的卓越性能。此外,它还提供高级功能,如智能压缩、透明加密及透明的重复删除。
2.通过联机事务处理压缩提高性能并尽量降低存储成本
Oracle 11g支持联机事务处理(OLAP)应用程序中常用的更新、插入和删除操作的数据压缩。以前的Oracle数据库版本支持数据仓库应用程序常用的批量数据加载操作的压缩,Oracle 11g OLTP表压缩通过更加高效地使用内存来缓存数据及减少表扫描的I/O提高了数据库性能。利用OLTP表压缩,可以使得最小的处理开销达到2~3倍的压缩比。
3.Oracle RAC更加完善的性能
Oracle RAC可以利用小型的、低成本的服务器构建大型的系统,从而减少硬件成本。Oracle 11g优化了Oracle RAC缓存融合协议以便为许多常用情景,例如访问主读数据、运行时间较长的查询及访问存储为SecureFiles的LOB数据类型,提供更加完善的性能。
4.利用结果缓存快速响应
结果缓存加快了访问只读或主读数据的查询和函数调用的重复执行。新的服务器结果缓存存储查询、查询块或PL/SQL函数调用的结果以供所有用户即时透明地重用,新的客户端查询缓存通过允许共享相同客户端应用程序服务器的用户重用存储的查询结果而不必将其往返。
5.利用Oracle TimesTen加快响应速度
Oracle内存数据库TimesTen提供瞬间快速响应和实时数据缓存。新的Oracle TimesTen版本与Oracle数据类型、SQL、PL/SQL、Oracle调用接口(OCI)、全球化和管理基础架构的兼容性得到了提高,同时该版本还提供了更加完善的缓存和故障切换功能以进一步提高性能和可用性。
6.其他性能的提高
Oracle 11g的其他性能得到了提高,包括:
(1)自动编译数据库中的PL/SQL和Java。
(2)更快的触发器,包括更加有效地调用每行触发器。
(3)更快的简单SQL操作。
(4)更快的Oracle DataGuard和Oracle Streams复制。
(5)与网络文件系统(NFS)存储设备更快、更可靠的直接连接。
(6)更快的升级。
(7)大型文件更快的备份/还原。
(8)更快的备份压缩。
2.4.3 简化的信息管理
以Oracle网格计算为基础,Oracle 11g可以使用最低的成本支持快速、准确的业务决策,方法是通过强健的安全性、信息生命周期管理和集成的业务智能分析管理所有企业信息。
1.单个数据库中支持所有的数据类型
组织越来越意识到将不同类型的信息(从Office文档和电子表格到医学成像和地理数据)集成到日常业务操作的需要。在一个公用的信息库中存储、处理和保护所有类型的信息可以帮助显著降低存储成本,从而增加总收益。
Oracle 11g使用行业标准界面提供了一个安全、可伸缩的平台,便于对所有类型的数据进行可靠、快速的访问。它支持XML、空间、多媒体、医学成像和语义技术等高级数据类型(它们是许多企业的快速成长区)的强健内容管理。
2.XML
Oracle 11g提供了新的XML存储和查询增强,包括:
(1)针对无模式XML文档的二进制XML存储和XML路径索引。
(2)针对XML查询(XQuery,1.0 Java)内容等标准的扩展支持信息库(JCR,1.0 SQL 2007)和面向服务的体系结构(SOA)。
(3)XML信息库增强,例如事件、XML链接语言(XLink/XML Inclusions XInclude)和NFS 4.0。
(4)针对XML类型(CLOB)的流复制和逻辑备用支持。
3.Oracle Text
新的Oracle Text增强包括:
(1)查询性能和可伸缩性改进。
(2)高级多语言搜索。
(3)在线索引操作。
(4)支持Oracle企业管理器以简化管理。
(5)用户定义的相关性评分。
4.Oracle Spatial
Oracle Spatial增强包括支持:
(1)更丰富、更交互的地图应用程序开发。
(2)用于空间操作的Web服务应用程序编程接口(API)。
(3)业务智能工具集成。
(4)路由应用程序的动态输入。
(5)针对地形和城市模型以及虚拟世界的3D支持。
5.多媒体和医学成像
Oracle 11g中的Oracle interMedia增强包括:
(1)常用图像处理操作的性能增强3倍。
(2)针对广播、医疗和安全性应用程序的大型媒体处理(最多128TB)。
(3)针对安全的、多TB区域和国家归档的医学数字成像及通信(DICOM)医学成像支持。
(4)支持新的Java高级图像(JAI)标准。
6.语义技术
Oracle 11g是业内第一个开放的、可伸缩的、安全的、可靠的语义数据库,它支持资源描述框架(RDF)和Web本体语言(OWL)标准,能够管理比专业的RDF和OWL数据库大10倍的数据集。Oracle 11g提供更加完整和准确的查询功能,可以通过语义搜索和查询轻松扩展现有的SQL应用程序。
2.4.4 集成的信息
要简化业务流程和管理使业务独具特色信息,必须能够使用熟悉的应用程序和桌面接口轻松地将所有类型的数据集成到每天使用的业务流程中。Oracle 11g包含的许多新的增强和特性可以帮助更好地集成整个企业中的数据,减少内容管理成本并提高员工效率。
1.增强的流复制和消息队列
Oracle 11g增强了流复制,使得SQL Apply的性能提高了30%~50%并支持XML类型(CLOB)和透明的数据加密。新的可管理性改进包括:
(1)流性能advisor。
(2)拓扑视图。
(3)自动负载信息库(AWR)和ADDM支持。
(4)数据比较实用程序和同步捕获。
(5)新的高级队列(AQ)特性。
◎ Java消息服务(JMS)性能得到提高;
◎ Java数据库连接(JDBC)中的直接流AQ支持;
◎ 可伸缩的事件通知。
2.通过Oracle SQL网关支持传统的数据库
Oracle SQL网关特性的增强提高了性能、增强了统计收集以形成更好的执行计划,并可以针对批量负载执行并行操作。新的SQL网关支持传统的数据库,例如信息管理系统(IMS)、虚拟存储访问方法(VSAM)和适应数据库系统(ADABAS)。
3.利用调度程序支持企业扩展
Oracle 11g包含一个增强的调度程序,可以提供企业扩展、跨分布式系统调度数据库级别和操作系统级别的作业。
4.利用Oracle网络服务改进数据传输
(1)增强了Oracle网络服务支持。
(2)大型数据传输的性能得到提高。
(3)针对网络命名的非匿名轻型目录访问协议(LDAP)。
(4)更好的诊断和跟踪。
5.通过强健的安全性功能降低风险
组织逐渐发现他们的信息处于危险之中,数据泄露会使组织损失惨重,有时会削弱整个企业的生存能力。此外,遵守Sarbanes-Oxley等法规和支付卡行业数据安全性标准要求组织保护其数据库安全。Oracle 11g是在30年安全实践的基础上构建的,它可以通过许多强健的安全功能帮助保护信息并确保合规性。这些功能包括:
(1)改进的透明数据加密可以支持表空间加密。
(2)与硬件安全性模块更紧密的集成可以形成保险性较高的主键保护。
(3)对LOB数据类型、LogMiner和逻辑备用的更好的支持。
(4)提高了可管理性,针对安全性功能提供全面的Oracle企业管理器支持。
(5)增强的密码安全性,支持区分大小写、多字节密码和强壮的密码散列算法,例如,安全散列算法(SHA-1)和salt。
(6)支持密码策略和审计选项的其他默认安全的配置设置。
(7)针对数据库系统管理员(SYSDBA)和数据库系统操作员。
(8)使用(SYSOPER)连接的强大身份验证支持。
(9)针对Kerberos的增强支持。
6.提供综合的信息生命周期管理
要在信息生命周期的每个点获取信息的最大价值,需要根据数据对企业不断变化的价值提供不同级别的访问性和保护。Oracle 11g增强了对信息生命周期管理(ILM)的支持,使用户可以确保合规性、优化存储、简化业务流程和识别新的收入机会。Oracle 11g包括大量新的ILM特性。
(1)新的分区功能,包括:
◎ 按父/子引用分区;
◎ 按虚拟列分区;
◎ 更多的组合分区选项,包括范围/范围、列表/范围、列表/散列和列表/列表;
◎ 间隔分区,使用户可以根据间隔(如每个月或每天)自动创建新的分区;
(2)支持可移植分区,以便用户可以轻松、有效地在系统间移动分区。
(3)Oracle ILM Assistant使得管理员可以针对数据放置、安全性和合规性定义ILM要求,此外还可以提供即时建议和脚本来帮助DBA满足这些要求。
7.使用Oracle闪回历史数据
Oracle 11g具有带Oracle闪回数据的Total Recall功能,可以在选定的表中查询以前的数据,从而提供了一种简单实用的向数据中添加时间维度的方法,以便于更改跟踪、ILM、审计和合规。Oracle闪回数据归档提供自动、有效的“更改”数据存储,以支持对旧版数据的快速查询访问。DBA可以将保留策略设置为在系统达到指定的年限阈值后自动清除数据。
2.4.5 内置的业务智能
Oracle 11g增强了Oracle的数据仓库(DW)和业务智能(BI)功能,以提高可管理性和性能,并使在线分析处理(OLAP)和数据挖掘等先进技术更容易被主流用户接受。
1.提高数据仓库的可管理性
Oracle 11g使用户能够通过以下功能优化Oracle网格计算,以提高DW的可管理性。
(1)特定于DW的管理屏幕和全面的DW功能,如并行和分区,使Oracle企业管理器完全“支持DW”。
(2)增强了ADDM对Oracle RAC和并行操作的支持。
(3)将并行操作与自动负载管理集成。
2.利用Oracle OLAP提高复杂查询的性能
通过Oracle 11g可将Oracle OLAP功能可与Oracle的物化视图(MV)工具完全集成。用户可以像使用MV一样从关系数据刷新Oracle OLAP多维数据集,并使用SQL通过自动查询重写,以透明方式访问多维数据集数据。通过使用Oracle OLAP多维数据集,用户可以实现更快的查询性能、加快聚合的构建和维护并通过SQL进行高级OLAP业务计算。
3.通过强大的数据挖掘功能获得实时业务洞察
Oracle 11g使得Oracle数据挖掘更易于使用并且功能更强大。
(1)具备SQL/Java API级别的自动数据准备。
(2)改进的Oracle数据挖掘GUI管理工具。
(3)与数据库的更紧密集成。
(4)将数据准备过程与挖掘模型组合在一起的超级模型。
(5)新的通用线性模型。
(6)更具预测性的分析。
2.4.6 开发平台
Oracle 11g提供了一个单一、集成的平台,该平台提供高性能和高可伸缩性,并支持应用程序开发人员使用的所有核心技术。Oracle 11g向所有大型应用程序开发环境中添加了大量新功能,可以缩短上线时间并提高应用程序性能。
1.PL/SQL
Oracle 11g通过PL/SQL的原生“编译”使性能得到显著的提高,通过设置参数即可方便地打开原生编译。不需要C编译人员进行管理,也不需管理任何文件系统DLL。原生编译可使纯PL/SQL代码的性能提高50%~100%,使包含SQL的更典型的应用程序代码的性能提高10%~30%(与非编译代码比较)。其他增强包括:
(1)针对触发器的性能提高。
(2)更细粒度的依赖项跟踪。
(3)动态SQL增强。
(4)更强大的性能分析工具。
2.Java/JDBC
新的Java JIT原生编译器使性能显著提高,并且完全是自动的。与以前的原生编译(NCOMP)技术相比,JIT性能得到显著提高,纯Java代码的速度提高100%使包含SQL的典型应用程序的速度提高30%~100%,通过Oracle 11g,可以实现以下功能。
(1)允许JIT编译作为后台活动“随时”进行(该活动对用户透明)。
(2)无须使用C编译器。
(3)以永久方式存储编译的Java代码以避免重新编译。
(4)使用新的类似Java开发工具包(JDK)的界面增强传统Java开发人员的用户体验。
(5)利用新的数据库特性,例如数据库更改通知、在第一个往返中预取及用于瘦客户端JDBC的Advanced Oracle Security。
(6)通过AQ/JMS操作提高性能。
(7)减少数据库往返行程。
(8)Oracle 11g符合JDBC驱动程序和Oracle Java虚拟机(JCM)的JDBC 4.0和Java SE 5.0 。
3..NET和Windows
Oracle 11g中新的Oracle Data Provider for. NET特性包括:
(1)通过行级跟踪更改实现更细粒度的数据库更改通知。
(2)数据访问整体性能更高。
(3)支持64位(x64和Itanium)ActiveX Data Object(ADO .NET)和Oracle Provider for OLE DB的性能得到提高。
(4)新的Windows特性:
◎ 支持具有Volume Shadow Copy Service(VSS)写入器的Windows备份基础架构;
◎ Active Directory集成改进;
◎ 支持Windows Vista。
4.PHP
新的数据库驻留连接池特性可以更快地连接到不提供连接池的应用程序环境,例如PHP超文本预处理器(PHP)的数据库。
5.Oracle SQL Developer
Oracle SQL Developer是Oracle中提供的免费的数据库开发生产工具,它包括以下特性。
(1)可视化查询构建。
(2)针对SQL Server、MySQL和Microsoft Access等数据库的移植工作台扩展。
6.Oracle Application Express
Oracle Application Express是Oracle用于构建以数据库为中心的应用程序的声明式、基于浏览器的快速应用程序开发工具,它将在Oracle 11g数据库中得到增强,这些增强包括以下几个方面。
(1)针对常用功能(如网站、论坛、调查、错误跟踪和店面)的新的预打包应用程序。
(2)与Oracle Business Intelligence Publisher集成的报表。
(3)Microsoft Access移植助手。
(4)声明式Ajax支持。
(5)拖放表单布局。
2.5 本章小结
本章主要介绍了Oracle数据库的发展演进历史、Oracle数据库的特点,以及最新数据库版本Oracle 11g中新增的面向管理员的一些特性和功能。