Oracle 10g RAC应用分析文档格式.docx
- 文档编号:16188825
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:13
- 大小:200.54KB
Oracle 10g RAC应用分析文档格式.docx
《Oracle 10g RAC应用分析文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle 10g RAC应用分析文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
六、OracleRAC并行服务器与双机热备份的比较12
七、总结14
八、部分官方技术问答14
1.为什么说OracleRealApplicationClusters10g要远远超过它的竞争对手?
14
2.OracleRAC的典型硬件配置是什么样的?
15
3.SQLServer和IBMDB2都有active-active的故障切换方式,为什么我要采用OracleRealApplicationCluster10g?
4.我的分布式应用系统运行非常好,为什么我要把我的数据库进行集中?
5.我们已经有了集群硬件环境,并且可以进行应用的切换,为什么我还需要OracleRealApplicationClusters10g?
16
6.我们使用DataGuard来实现故障切换,为什么我还需要OracleRealApplicationClusters10g?
7.为什么选择Linux?
为什么选择Linux环境下的OracleRealApplicationClusters10g?
17
引言
使用Oracle真正应用集群(RAC),Oracle数据库可跨一组集群服务器运行任何打包的或自定义的应用程序,不需对这些应用程序做任何改动。
这就提供了最高的可用性和最灵活的可伸缩性。
如果集群中的一个服务器故障,Oracle可继续在其余的服务器上运行。
当我们需要更多的处理能力时,只需添加服务器即可,无需用户下线。
为保证低成本,我们可使用标准化的普通硬件组建出最高端的系统。
OracleRAC为Oracle的企业网格计算体系结构提供了基础。
OracleRAC技术可为这一低成本硬件平台提供支持,使其提供优质的服务,并达到或超出昂贵的大型SMP计算机所能提供的可用性和可伸缩性等级。
通过显着降低管理成本和提供出色的管理灵活性,Oracle为企业网格环境提供了强有力的支持。
本文从技术层面对Oracle10gRAC进行了概述,着重介绍了涉及为企业应用程序提供高可用性和高可伸缩性方面的功能和特性,并与双机热备份架构的服务平台进行了比较,最后给出了部分官方技术问答,希望对大家了解与销售OracleRAC能够有所帮助。
一、什么是ORACLERAC?
OracleRAC是Oracle数据库的一个组件选项,在Oracle9i中首次推出。
OracleRAC现已发展成一项成熟的技术,其用户过千,遍及各个行业,涉及各类应用程序。
OracleRAC为伸缩应用程序以超越单个服务器的能力限制提供了一个选择。
这使得用户可以利用低成本的普通硬件来降低他们的总体拥有成本,并提供一个可伸缩的计算环境来支持其应用程序负载。
二、OracleRAC体系结构
RAC数据库是一个集群数据库。
集群是一组独立的服务器,协同合作如同一个系统。
集群提供了比单对称多处理器(SMP)系统更好的容错和模块增量系统。
发生系统故障时,集群可确保向客户提供高可用性。
对关键任务数据的访问不会丢失。
冗余的硬件组件(如额外的节点、互联和磁盘)使得集群能够提供高可用性。
此类冗余硬件体系结构避免了单点故障并提供了异常故障恢复。
在OracleRAC中,我们将Oracle实例(运行在一个服务器中的流程和内存结构,以充许数据访问)与Oracle数据库(驻留在存储器上的实际用于保存数据的物理结构,通常称为数据文件)进行了分离。
集群数据库是一个可由多个实例访问的数据库。
每个实例运行于集群中的一个独立服务器上。
当需要更多的资源时,可以在不停机的情况下轻松地向集群中添加节点和实例。
当启动新实例后,应用程序可立即使用这一新实例,无需对应用程序或应用服务器进行任何改动。
真正应用集群是Oracle数据库的一个扩展,所以它利用了Oracle数据库10g的可管理性、可靠性和安全性特性。
1.Oracle集群件
Oracle数据库10g开始提供有Oracle集群件,Oracle集群件是一个专门针对Oracle数据库而集成和设计的可移植集群件解决方案。
您不必再为构建一个RAC数据库而去购买第三方的集群件。
Oracle集群件与OracleDBA熟悉的OracleUniversalInstaller进行了集成。
支持也比以往更为简便,因为现在有一个专门的组织处理涉及集群件和集群数据库的支持问题。
您可以选择使用第三方集群件来运行OracleRAC,Oracle产品可与经认证的第三方集群件共同使用,但Oracle集群件必须管理所有的RAC数据库。
Oracle集群件用于监管真正应用集群数据库。
当集群中的一个节点启动时,所有实例、监听程序和服务都将自动启动。
如果一个实例出现故障,集群件将自动重启该实例,这样通常可在管理员发现前恢复该服务。
在Oracle数据库l0g第2版中,Oracle提供了高可用性API,这样可使用Oracle集群件内高可用性框架来控制非Oracle的流程。
当向Oracle集群件注册流程时,需要提供如何启动、终止和监控这些流程的信息。
您还可以指定当执行流程的节点出现故障时,是否将该流程转移到另一个节点。
2.硬件体系结构
OracleRAC是一个全共享的体系结构。
集群中的所有服务器必须共享用于RAC数据库的所有存储器。
存储用的磁盘类型可以是网络连接存储(NAS)、存储区域网络(SAN)、或是SCSI磁盘。
存储器的选择受限于所选用的服务器硬件及硬件供应商所支持的存储器类型。
选择存储器的关键之处在于选择一个可向您的应用程序提供可伸缩I/O的存储系统,一个在向集群中添加服务器时可进行伸缩的I/O系统。
对于数据库服务器所连入的局域网(LAN),集群还需要另外一个网络连入该局域网,用于应用程序连接。
集群还需要一个专用的网络,即通常所说的互联。
Oracle建议您对这一网络使用两个网络接口,以实现高用性。
我们需要使用不属于Oracle的网络接口来提供故障切换和负载均衡。
集群使用这一互联来进行节点间消息传递。
RAC则使用这一互联来实施缓存融合技术。
对于集群互联,Oracle建议使用UDP,不建议使用GigE。
在实际应用环境中,RAC数据库不支持将交叉线缆用作互联。
集群由1到多个服务器组成,每个服务器有一个LAN连接、一个互联连接,必须连接到共享存储器。
在Oracle数据库10g第2版中,Oracle集群件和真正应用集群可支持多达100个集群节点。
集群中的每个服务器不需要完全相同,但是必须使用同样的操作系统和同一版本的Oracle产品。
所有服务器必须支持同一体系结构,如全部为32位或全部为64位。
3.文件系统和卷管理
因为RAC是一个全共享式的体系架构,卷管理和文件系统必须能够识别集群。
Oracle建议使用自动存储器管理(ASM),它是Oracle数据库10g包含的一个特性,能够自动管理用于数据库的存储器。
使用ASM可以方便地管理文件系统,提供异步I/O的性能。
ASM通过跨所有可用资源分配I/O负载来优化性能,且免除了手动调整I/O的需要。
Oracle也支持原始设备和某些集群文件系统,如Oracle集群文件系统(OCFS),这一文件系统可用于Windows、Linux和Solaris(用于Solaris的OCFS将于Oracle数据库10g第2版之后推出)。
4.虚拟互联网协议地址(VIP)
Oracle真正应用集群10g要求集群中的每个服务器都使用一个虚拟IP地址。
虚拟IP地址即是与局域网所属子网相同的子网中的一个未使用的IP地址。
应用程序使用这一地址连接RAC数据库。
如果一个节点出现故障,该虚拟IP将自动切换到集群中的另一个节点,这样就可以快速响应针对故障节点的连接请求。
这提升了应用程序的可用性,因为他们的连接请求可自动切换到集群中的另一个实例,此前不再需要等待网络超时。
5.集群验证实用程序
Oracle数据库10g第2版引入了一个新的集群配置验证工具。
该集群验证工具通过对前后安装步骤和/或配置变化进行验证,避免发生错误。
它还可用于现有的集群验证。
该工具可以通过命令行接口调用,也可由其它程序通过API进行调用,如OracleUniversalInstaller(OUI)程序。
6.远距离集群RAC
在远距离集群RAC这一体系结构中,集群中的各节点位于不同的地理位置。
远距离集群RAC提供了非常快速的站点故障恢复,允许所有站点中的所有节点作为单个数据库集群的一部分主动进行事务处理。
当该体系结构受到世人瞩目并成功实施后,关键是要了解这一体系结构最适用的情形—距离、延迟时间,及其提供的保护程度。
延迟时间会产生巨大的影响,所以距离便对这一体系结构的适用情形有一些实际限制。
这一体系结构适用于2个数据中心间的距离相对较小(小于等于100公里),且有资金在两个站点间建立带专用通道的直连线缆的情况。
远距离集群RAC提供了比本地RAC更高的可用性,但并不能达到企业所需的完全灾难恢复要求。
合理分区可以很好地防御某些灾难事件(局部断电、飞机失事、机房被淹),但并不是所有灾难事件。
如地震、飓风、区域性洪灾会影响更大的区域。
客户应通过分析确定一个灾难事件是否会同时影响两个站点。
要实现全面的灾难防御(包括防御数据出错和区域性灾难),Oracle建议用户结合DataGuard使用RAC,如Oracle高可用性体系结构文档中所述。
DataGuard还提供了其它的一些功能,如支持跨Oracle版本进行滚动升级。
远距离集群的配置也较本地集群复杂。
需要精心考虑节点的布局、表决磁盘和数据磁盘的布置.妥善实施这一体系结构后,它将提供比本地RAC数据库更高的可用性。
Oracle集群件、Oracle真正应用集群和自动存储器管理可用于构建远距离集群。
三、ORACLERAC的优势
1.高可用性
Oracle真正应用集群10g提供了实现数据中心高可用性的基础架构。
它还是Oracle高可用性体系结构不可或缺的一部分,提供了构建高可用性数据管理解决方案的最佳实践。
Oracle真正应用集群针对高可用性解决方案的主要特性提供了保护功能。
可靠性—Oracle数据库以其稳定性著称。
真正应用集群将这一优点发扬光大,能够以单点故障方式移除服务器。
如果一个实例故障,集群中的其它实例将仍然保持运行和活动状态。
恢复能力—Oracle数据库包含许多有助于从各类故障中轻松恢复的功能。
如果RAC数据库中的一个实例出现故障,集群中的另外一个实例将察觉到这一故障,随后自动进行故障恢复。
利用快速应用程序通知,快速连接故障转移和透明应用程序故障切换这三个功能,应用程序可以很方便地掩藏组件故障,使用户无法察觉。
错误检测—Oracle集群件自动监控RAC数据库并可对环境中的错误进行快速检测。
在用户不知不觉中自动完成故障恢复。
使用快速应用程序通知功能,应用程序能够在集群组件出现故障出现时立即得到通知,然后将事务切换至无故障节点,从而掩藏这一故障,让用户无法察觉。
持续运行—使用真正应用集群,在计划和意外停机期间仍可持续提供服务。
如果一个节点(或实例)出现故障,数据库将仍然保持运行状态,应用程序仍可访问数据。
大多数的数据库维护操作可在不中断运行的情况下完成,并且对用户透明。
其它维护任务可以通过滚动方式完成,所以可将应用程序中断时间降至最少,或完全消除。
快速应用程序通知和快速连接故障切换可帮助应用程序达到服务水平和掩藏组件故障。
2.可伸缩性
Oracle真正应用集群提供了独一无二的应用程序伸缩技术。
传统上,当服务器容量不足时,我们会使用更大的新服务器来替换它。
但服务器容量越大,其价格也愈加昂贵。
而对于使用了RAC的数据库,我们可选择其它方法进行增容。
原先运行于大型SMP服务器上的应用程序可移植到小型服务器集群中运行。
或者,您也可以选择保留现有硬件的投资,在集群中加入新服务器(或创建一个集群)来增加容量。
通过Oracle集群件和RAC向集群中添加服务器时并不需要停机,且在启动新实例后,应用程序就可立即利用这些增加的容量。
集群中的所有服务器必须使用同一操作系统和相同版本的Oralce软件,但其容量不需要一样。
现在,客户可以根据自己的需要来选择集群,可以是由每台服务器含2个cpu的普通服务器组成的集群,也可以是每台服务器含32或64个cpu的服务器组成的集群。
Oracle真正应用集群可以自动适应快速变化的业务要求和由此带来的负载变化。
应用程序用户,或中层应用程序服务器客户端可使用服务名连接到数据库。
Oracle可在集群中的多个节点中自动进行负载均衡。
在不同节点上的真正应用集群数据库实例订阅了所有或部分数据库服务。
这样DBA就可以灵活地选择某个连接到特定数据库服务是否可以连接到某个或所有数据库节点。
当应用需求上升时,管理员可以很方便地增添处理能力。
RAC的缓存融合体系结构可立刻使用新节点的CPU和内存资源。
DBA不需要手动对数据进行重新分区。
在Oracle数据库中分配负载的另一个方法通过Oracle数据库的并行执行特性。
并行执行(如并行查询或并行DIIL)在多个进程间划分SQL语句执行工作。
在Oracle真正应用集群环境中,可在多个实例间均衡分配这些进程。
Oracle提供了基于成本的优化程序,它以并行执行作为其基础元素来制定最佳的执行方案。
在真正应用集群环境中,明智的决策都要考虑到节点内和节点间的并行性。
例如,完成某个查询需要6个查询进程,本地节点中(用户连接到的节点)有6个闲置的CPU,则只需使用本地资源来处理该查询即可。
这演示了高效的结点间并行性,且消除了在多个节点间协调查询的开销。
但是,如果该本地结点中只有两个CPU,那么就由这两个CPU再加上其它节点中的4个CPU来处理这一查询。
这样就利用了节点内和节点间并行性来加快查询的处理。
四、管理ORACLE真正应用集群数据库
为便于配置和管理,Oracle真正应用集群提供了一个系统镜像。
用户可在一个位置完成RAC数据库的安装、配置和管理。
用于管理数据库的工具和实用程序都可识别集群,从OracleUniversalInstaller(OUI)到EnterpriseManager,包括数据库配置助理(DBCA)、数据库升级助理(DBUA)、网络配置助理(NETCA)和命令行,如srvctl。
1.EnterpriseManager10g
EnterpriseManager10gDatabaseControl是Oracle提供的一个用于管理Oracle数据库的GUI管理工具。
在创建数据库时,DBCA会自动配置DatabaseControl。
EnterpriseManager10gGridControl是Oracle提供的一个用于管理企业的GUI管理工具。
用户可通过Oracle数据库CD包内的一张CD来安装该GridControl。
这些工具都可识别集群且提供了一个中央控制台来管理您的集群数据库。
在ClusterDatabasePage中,您可以:
●查看整体系统状态,例如,集群数据库内节点的数量及其当前的状态。
●查看所有实例的警报,同时详细观察每一警报的根源和其它信息。
●在集群数据库基础上设置警报阈值。
●监视所有实例的性能标准或逐个显示,以便逐个进行比较,或在需要时了解更详细的信息。
●监视集群缓存一致性情况(例如:
全局缓存获取等)。
●执行集群数据库操作,包括启动备份与恢复,以及开始/停止实例等。
●管理服务,执行创建、更改、启动/终止、启用/禁用等操作,重新部署服务并监控服务性能。
OracleEnterpriseManager10gGridControl还提供了一个集群页面来查看集群硬件和整个操作系统的状态。
在集群支持多个数据库时,这一特性非常实用。
用户可以轻松了解整体集群平台状态,同时也可根据需求详细了解每个独数据库的性能。
OracleEnterpriseManager10gRelease2GridControl中提供了一个实用工具,该工具可用于自动将Oracle数据库实例转换为RAC数据库实例。
OracleEnterpriseManager10gRelease2GridControl还提供了其他简化真正应用集群供应的功能。
使用EnterpriseManager可以轻松地完成创建集群时涉及的一些工作,如部署Oraclehome、配置集群件。
OracleHome软件可以置于EnterpriseManager中作为“黄金镜像”,该软件也可以从其它已知的基准主机中获得。
“黄金镜像”使用一个已知正常的OracleClusterware10gRelease2或OracleRealApplicationClusters10gRelease2环境实施副本创建而成。
在GridControl10gRelease2中,该克隆应用程序将支持创建完全的端到端新RAC和Oracle集群件软件,包括执行超级用户操作(root.sh)和可自定义的前期和反续步骤。
在向当前集群中添加新节点时也可以使用它。
对Linux操作系统,Oracle还可以向裸节点供应“镜像”。
该镜像可以由操作系统、OracleEnterpriseManager代理、Oracle集群件和带真正应用集群的Oracle数据库组成。
该镜像可以和硬件配置文件关联。
这一镜像的各部分都将作为“黄金镜像”存储在EnterpriseManager中。
用户可以使用向导程序来选择硬件并将所有镜像供给新硬件。
该新节点将自动添加到这一集群中。
2.滚动补丁应用
Oracle现在支持以滚动方式向RAC数据库的节点应用补丁,而不需要停机。
补丁一次应用到一个节点,而RAC系统中的其它节点可正常运行和操作。
这要求每个节点都有独立的OracleHome。
根据补丁所做的更改,将补丁标记为是否作为滚动升级进行安装。
一些更改实例间共享的公共结构或数据库内容的补丁将不会标记为以滚动升级方式安装。
此外,只能滚动升级单个的补丁,而不是补丁集。
这一功能最早在Oracle9.2.0.2中提供。
所有Oracle集群件补丁都可以滚动方式应用。
3.滚动版本升级支持
Oracle集群件支持从第1版(即ClusterReadyServices)滚动升级到第2版。
这就可以在集群不停止服务的情况下升级集群件,实现全天候的业务运行。
OracleRAC10g第2版支持使用DataGuardSQLApply以滚动方式进行数据库软件升级(从Oracle数据库10g第1版的补丁集1起),几乎无需数据库停机。
这些步骤包括将逻辑备用数据库升级到下一个版本、在一种混合的模式下运行,以测试和验证升级、通过切换到已升级的数据库来执行角色转换,然后最终升级旧的主数据库。
当为了测试而运行在一种混合模式下时,可以终止升级,降级软件,而不会有数据丢失。
为了在这些步骤中提供额外的数据保护,可以使用第二个备用数据库。
通过支持具有最小停机时间的滚动升级,DataGuard缩小了一般包含许多管理任务的大维护窗口,并实现了全天候的业务运行。
五、使用真正应用集群进行负载管理
使用RAC数据库的应用程序需要跨集群管理负载。
Oracle真正应用集群10g提供了创新的技术来管理工作负载,通过对应用程序进行妥善配置并实现高可用性,可提供最好的应用程序吞吐能力。
1.服务
负载管理依赖于服务的使用,服务是Oracle数据库的10g的特性。
服务通过提供一个系统镜像来管理负载,隐藏了RAC数据库的复杂性。
服务使得应用程序能够获益于集群的稳定性。
通常,数据库提供一个服务且该名称即是赋予SQL*NET的连接数据。
使用Oracle数据库10g,DBA可以定义多达100个由一个数据库提供的数据库服务。
这使得您可以基于业务需求(如服务水平和优先级)将应用程序的负载分解为可管理的部分。
服务与Oracle数据库10g的许多特性进行了集成。
应用程序用户可以自动分配到一个ResourceManager用户组,这一用户组限制了成员可使用的资源,如cpu。
批量作业可基于其服务分配到特定的作业类。
在使用OracleStreamsAdvancedQueuing时,可使用服务来实现队列的位置透明性。
一个服务可以跨越一个Oracle数据库的一个或多个实例,一个实例可以支持多个服务。
提供服务的实例数量是由DBA动态控制的,独立于该应用程序。
当发生故障时,服务将自动恢复到正常运行的实例中。
当实例恢复后,任何未运行的服务都将自动恢复。
2.连接负载均衡
OracleNetServices为数据库连接提供了连接负载均衡。
客户端负载均衡跨集群中所有监听程序进行连接请求均衡,方法是将集群中的所有服务器列入客户连接字符的地址表。
SQL*NET将随机选择其中的一个服务器。
如果选中的服务器不可用,将尝试列表中的下一个服务器。
服务器端负载均衡是在监听程序中实现的。
每个监听程序会识别出集群中刺探每个服务的所有实例。
基于为服务定义的目标,监听程序会选择与目标最符合的实例,然后连接到该实例。
3.快速应用程序通知(FAN)
快速应用程序通知提供了RAC数据库和应用程序间的集成。
利用这一特性,应用程序能够识别任意给定时间下的集群当前配置,从而仅连接至可响应当前应用程序请求的实例。
当集群内的状态改变时,OracleRAC10g高可用性框架将快速地发出一个FAN事件。
集成客户端收到这些事件后迅速做出响应。
对于故障事件,通过清除到故障实例的连接可以将应用程序中断降至最低,进行中的事务中断后,将向应用程序返回一个出错提示。
尝试连接的应用程序将仅指向活动实例。
服务器端调出可用于记录故障单或页,通知管理员出现故障。
对于正常运行事件,将创建一个新连接,让应用程序立即利用新增的资源。
OracleJDBC、ODP.NET和OCI客户端与FAN进行了集成。
其它应用程序可以利用FAN,方法是使用应用程序编程接口直接订阅FAN事件。
4.负载均衡顾问程序
数据库负载会随着时间而变化,集群配置也可以更改,因此,基于最新信息创建和分配数据库连接很重要。
OracleRealApplicationClusters10g第2版提供了一个负载均衡顾问程序。
通过由每个实例刺探服务,RAC始终不停的监视针对每个服务执行的负载。
该信息将通过FAN事件发布到AutomaticWorkloadRepository和应用程序。
FAN事件包含当前所提供的服务水平,并建议了指向每个实例的连接的百分比。
集成的Oracle客户端使用这些事件合理地进行应用程序请求负载均衡。
当应用程序要获取一个连接时,大多数的连接池使用随机或循环算法从池中选出一个空闲连接。
使用来自负载均衡顾问程序的FAN事件,连接池将选择当前提供最佳服务的连接。
OracleJDBC和ODP.NET通过集成负载均衡顾问程序来均衡运行时连接负载。
六、OracleRAC并行服
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 10g RAC应用分析 10 RAC 应用 分析