ORACLE数据库技术实用详解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 Oracle 10g网格计算简介

Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年。Oracle提供的产品和服务非常多,是全球唯一一家可全面完整地实施从前台办公的客户关系管理应用到后台办公管理应用及平台基础结构的公司,为用户提供最完整最先进的电子商务解决方案。Oracle公司最著名的产品就是Oracle数据库,也是全球最流行的关系型数据库产品。根据权威机构(包括Gartner和IDC等)的调查,Oracle数据库占市场份额的45%~50%。到目前为止,Oracle公司推出的Oracle 10g数据库是其最新、最稳定的数据库产品。

注 意 2007年7月,Oracle公司已经正式发布了11g版本的数据库。但目前该版本还远没有大规模的广泛应用。应该说,Oracle 9i和Oracle 10g是目前主流的数据库版本,同时Oracle 10g已经开始逐步地、全面地替代Oracle 9i。对于Oracle 10g版本的数据库来说,Oracle推出过两个版本:Release 1和Release 2。本书中所指的Oracle 10g版本,如无特殊描述,均指Oracle 10g Release 2版本。

Oracle 10g是业界推出的第一个支持网格计算的数据库,这里的g表示网格(grid)的意思。10g所使用的网格计算架构可以将网络上的多个服务器资源(包括CPU、内存和硬盘等)整合使用,将它们作为一个整体对外提供服务。并能将所有服务器合并起来作为一个整体来管理。

以前我们需要购买特定的小型机甚至大型机作为后台数据库服务器,以支撑企业业务的运行。而有了网格运算以后,我们就可以购买多台PC服务器,将它们组成一个网格,从而对企业业务提供支持服务。

这样的话,一方面可以降低硬件的购买成本,同时后期的维护成本更是大幅下降。因为小型机甚至大型机由于其内部结构的复杂性,往往都需要生产厂商派专人进行维护。而一般的PC服务器的维护则要简单方便得多;另一方面,在成本下降的同时,整个系统的可用性和稳定性并没有下降。因为多台服务器中,当其中一台或多台出现故障时,只要有一台服务器能够正常工作,整个系统就没有停止对外服务。因此基于网格服务器的系统也能达到基于小型机或大型机之上的系统所具有的稳定性。

Oracle 10g的网格运算技术主要体现在存储、数据库服务、应用以及管理这四个方面。

存储方面,采用的技术叫自动存储管理(即所谓的ASM:Automatic Storage Management)。ASM实际是跳过操作系统,而直接由Oracle数据库来管理硬盘。ASM将多个磁盘组成一个磁盘组,而Oracle数据库相关的物理文件则均匀地分布在磁盘组中的多个磁盘上。ASM支持条带化(stripe)以及镜像(mirror)功能,支持动态热插拔磁盘。一块或多块磁盘的损坏不会引起整个磁盘组上文件的丢失。可以简单地将ASM所管理的磁盘组理解为采用了RAID0+1的磁盘冗余技术的存储设备。

在数据库服务方面,采用的技术叫做实时应用集群(即所谓的RAC:Real Application Cluster)。这表示网络上的多台服务器同时管理同一个数据库。多台服务器可以同时对外提供服务,接收用户的连接请求、处理用户发出的命令等。假如一台服务器最多可以同时处理500个用户的请求,则配置5台服务器的RAC就可以同时处理2500个用户的请求,从而可以使RAC的处理容量大大提高。同时RAC中的一台或多台服务器出现故障时,只要还有一台服务器在运行,整个RAC数据库服务就不会停止,其可用性也可大大提高。

在应用方面,采用的技术叫做流复制(即所谓的stream)。Oracle 10g里的流技术是一个统一的技术框架,把信息共享、数据复制、消息队列等技术合并成了一个单独的技术体系。它用来使两个或多个数据源保持同步。采用流技术能够自动捕获一个数据库里数据的变化,并将该变化分发到预先定义好的其他数据库里去。

在管理方面,Oracle提供了一个图形界面工具来帮助DBA管理网格上的多个数据库。该工具叫做企业管理网格控制器(即Enterprise Manager Grid Control)。它是一个网页形式的工具,能够将网格上的数据库、硬件资源、应用程序组成一个逻辑整体来管理,并能监控不同数据库上的性能情况。