Professional Documents
Culture Documents
2013 年 6 月
概要 ..............................................................................................................1
Oracle Real Application Clusters — 概述......................................................2
业务连续性和高可用性 ..................................................................................5
可伸缩性和敏捷性 .........................................................................................6
经济高效的负载管理 .....................................................................................7
标准化的部署和系统管理 ............................................................................ 11
Oracle Real Application Clusters 的新特性 .................................................12
Oracle RAC 支持 Oracle Multitenant.....................................................12
应用程序连续性和事务防护 ...................................................................13
Oracle Flex ASM ...................................................................................15
假设命令评估 ........................................................................................17
策略管理的数据库和集群管理 ...............................................................18
总结 ............................................................................................................20
Oracle Database 12c Real Application Clusters (RAC)
概要
业务连续性、高可用性、可伸缩性、灵活性和敏捷性与轻松的管理相结合,是成功 IT 基础架构
和云部署的支柱。十多年来,已有数以千计的 Oracle 客户选择包含 Real Application Clusters
(RAC) 的 Oracle 数据库作为其数据库系统解决方案。Oracle Real Application Cluster 12c 延
续了过去的成功,在各个领域中提供了大量对您的业务成功至关重要的增强功能。
业务连续性和高可用性
可伸缩性和敏捷性
经济高效的负载管理
标准化的部署和系统管理
1
Oracle Database 12c Real Application Clusters (RAC)
Oracle RAC 体系
2
Oracle Database 12c Real Application Clusters (RAC)
Oracle Clusterware
3
Oracle Database 12c Real Application Clusters (RAC)
Oracle ASM 12c 引进了 Oracle Flex ASM,这是一种新的 Oracle ASM 部署模型,可提高数据库
实例的可用性并降低 Oracle ASM 带来的资源占用。Oracle Flex ASM 简化了基于集群的数据
库整合,当特定服务器上的 Oracle Flex ASM 实例出现故障时,能够确保运行在该服务器上
的 Oracle Database 12c 实例继续运行。
Oracle 云文件系统简化并自动化存储管理功能,提高存储利用率、正常运行时间和敏捷性,
从而可为所有通用文件和数据库文件提供可预测的性能和可用性。CloudFS 包含集群卷管理
器和集群文件系统:
Oracle ASM 动态卷管理器 (ADVM) 是针对 Oracle ACFS 和第三方文件系统的通用集
群卷管理器。
Oracle ASM 集群文件系统 (ACFS) 是一个通用的与 POSIX 和 Windows 兼容的集群文
件系统,其中包含高级数据服务,如快照、复制、加密和安全性等。
4
Oracle Database 12c Real Application Clusters (RAC)
业务连续性和高可用性
Oracle Real Application Clusters (RAC) 是数据中心高可用性 (HA) 的基础。Oracle RAC 体系以
Oracle Grid Infrastructure 作为自己的管理框架,该框架提供计划、意外以及运行时和按需容
量管理方法,因此可确保数据中心针对各种应用程序的操作不会中断。
o 大多数数据库维护操作无需停机即可完成,而且对用户透明。很多维护任务
都可以滚动方式执行,因此可最大限度地减少应用程序停机,或消除停机。
通过确保业务关键型应用程序在系统出现故障时仍能继续运行来促进业务的成功,该功能
是 Oracle Database 12c 中的新特性。
5
Oracle Database 12c Real Application Clusters (RAC)
可伸缩性和敏捷性
为了动态分配应用程序负载,应用程序用户或中间层应用服务器客户端应通过动态数据库服
务连接到 Oracle 数据库。动态数据库服务将代表用户负载的服务分配给一个或多个数据库实
例,通过此方法来支持 Oracle 软件自动在一个服务器池中的多个服务器间平衡用户负载。
6
Oracle Database 12c Real Application Clusters (RAC)
经济高效的负载管理
性能和可用性方面除了包括高可用性和高性能管理之外,还包括在响应时间或整体质量无
明显变化的情况下,确保数据库服务可供应用程序使用的能力。
服务器池介绍
(动态数据库)服务介绍
为了管理负载或一组应用程序,可定义动态数据库服务并分配给特定应用程序或部分应用
程序操作。这允许您根据服务级别和优先级等业务需求,将应用程序负载细分为更易于管
理的部分。例如,在线用户可使用一个服务,而批处理可使用另外的服务,报告可使用再
另外的服务,但都连接到同一个数据库。
7
Oracle Database 12c Real Application Clusters (RAC)
SCAN 介绍
连接负载平衡
快速应用程序通知
8
Oracle Database 12c Real Application Clusters (RAC)
对于启用实例事件,系统将创建新连接,以允许应用程序立即使用新增的资源。Oracle
JDBC、Oracle Universal Connection Pool、ODP.NET 和 OCI 客户端与 FAN 集成。通过使用
Oracle Database 11g 第 2 版 JDBC 驱动程序中提供的 Oracle RAC FAN API 或 Oracle Call
Interface 的回调功能,自己拥有连接池的应用程序可以利用 FAN。通常,Oracle 建议将
Oracle Universal Connection Pool 用作连接 Oracle 数据库的标准池。
9
Oracle Database 12c Real Application Clusters (RAC)
Oracle Database Quality of Service (QoS) Management 特性随 Oracle Database 12c 一起生
效,它是标准 Oracle RAC 许可的一部分,可用于对支持服务器池的所有 Oracle 数据库进行
基于策略的管理(需要 Oracle Grid Infrastructure 和 Oracle Database 11g 第 2 版或更高版本)。
10
Oracle Database 12c Real Application Clusters (RAC)
标准化的部署和系统管理
由策略管理的数据库使用服务器池(集群的一种逻辑分区)和动态数据库服务来灵活地分
配和自动管理集群中一个或多个数据库中的负载。策略管理基于预定义的用户输入自动调
整关键负载的资源分配。如果发生计划或意外中断或者需求变化,这些策略将驱动资源分
配和容量调整,从而不再需要通过编程来对集群进行重新配置。
11
Oracle Database 12c Real Application Clusters (RAC)
12
Oracle Database 12c Real Application Clusters (RAC)
应用程序连续性和事务防护
在发生使数据库会话失效的可恢复错误后,应用程序连续性能够以不间断、快速方式重放
针对数据库的请求。请求中可以包含对数据库的事务性和非事务性调用。成功重放后,应
用程序可从数据库会话中断的位置继续运行。
这会让用户、开发人员和管理员同时受益。用户不会怀疑他们的资金转账、航班预订或其
他事务是否已成功完成,而管理员也无需重新启动中间层计算机来从登录风暴中恢复。
事务防护是一个可靠的协议和工具,在发生使数据库会话失效的故障后,它返回上一个运
行中事务的结果。如果没有事务防护,发生故障后,应用程序和用户会重试操作,可能会
提交重复的事务或乱序事务,而这会导致逻辑损坏。
事务防护可防止出现不明错误,而这样的错误会导致用户受到困扰,需要致电客户支持,
而且可能导致机会流失。相对于自行开发的、只追求众所周知的结果和一次性执行的解决
方案而言,事务防护更加安全,并且性能更好,开销更低。
数据库会话的丢失会对用户产生多方面的影响。例如:
混乱 — 用户不知道他们的应用程序请求(如资金转账、订购、支付、预订等等)
出现了什么情况。
可用性 — 用户可能丢失未提交的数据,需要重新登录,然后重新输入或重新提交
其数据。
中断 — 出现故障后,管理员可能需要重新启动中间层计算机来处理负载平衡和传
入的登录风暴,从而会给用户带来另一种故障体验。
工作原理 — 概述
应用程序连续性能够起作用、应用程序无需保留各自错误处理功能的基本前提是,所遇到
的故障是“可恢复的错误”。可恢复错误定义如下:
可恢复错误 是因外部系统故障而引起的错误,与执行的应用程序会话逻辑无关。
在计划或意外的前台进程、网络组件、服务器、存储组件或数据库实例故障之后,
可能会出现可恢复错误。出现可恢复错误后,应用程序通常会收到一个错误代码,
但应用程序不知道上次提交操作的状态如何。这种情况下,将调用 AC,从而使应
用程序无需分别在自己的代码中维护错误编号就可应对各自的故障。
13
Oracle Database 12c Real Application Clusters (RAC)
鉴于上述的基本前提,所以应用程序必须应一直包含针对以下情况的错误处理功能:
1. 不可恢复的错误,如无效的输入数据。
2. 当重放遇到一个记录的限制时出现的可恢复错误。
总结 — 应用程序连续性和事务防护
如果数据库会话因可恢复错误而失效,应用程序连续性将尝试重新构建此会话,任何打开
的事务将恢复至正常状态。如果事务已成功完成,不需要重新执行,那么将向应用程序返
回一个成功状态。
如果重放成功,将安全地继续执行该请求,而不会重复该请求。
如果重放不成功,则数据库拒绝该重放并且应用程序会收到原始错误。为能成功重放,重
放返回给客户端的数据必须与之前客户端在请求中收到的数据完全相同,而且这些数据必
须是应用程序潜在用来作为制定决策依据的数据。5
图 5:应用程序连续性的 用户体验
5有关应用程序连续性的更多信息,请参阅:
http://www.oracle.com/technetwork/products/clustering/ac-overview-1967264.html
14
Oracle Database 12c Real Application Clusters (RAC)
15
Oracle Database 12c Real Application Clusters (RAC)
工作原理 — 概述
16
Oracle Database 12c Real Application Clusters (RAC)
假设命令评估
在管理复杂而动态的环境时,在发生诸如服务器中断或联机资源重定位等事件之前,事先
了解资源的布置情况非常重要。假设命令评估 (What-If Command Evaluation) 特性可促进对当
前动态基础架构环境的管理。
图 9:假设命令评估
顾名思义,假设命令评估特性旨在执行命令前先对该命令的执行将对集群产生的影响进行评
估。提供以下两种级别的假设命令评估:1) 针对集群管理员的视图 2) 针对数据库管理员的
视图。除了分别通过 CRSCTL(由集群管理员掌控)或 SRVCTL(由数据库管理员掌控)提
供之外,两者的其他区别还在于它们提供的详细信息不同。
集群管理员需要管理整个集群,监管集群中托管的所有应用程序,而数据库管理员最想知
道的是命令对其负责的数据库有何影响。此外,对于每组管理员而言,执行日常或临时管
理任务所需的命令互不相同,因此要求同一个功能对于每个命令来说都应是可用的。
CRSCTL 命令工具还提供一个设置,可影响结果输出中详细信息的详细程度。
假设命令评估不提供事务安全性。这意味着,在启动评估的同时,就针对集群的给定状态
执行评估。评估结果将会与该状态有关。假设在启动评估和实际执行命令之间的时间间隔
内,集群状态未发生变化,则命令执行结果将会和预期的一样。如果集群状态发生变化,
实际执行结果可能与预期的不同。
17
Oracle Database 12c Real Application Clusters (RAC)
策略管理的数据库和集群管理
管理动态环境中的高可用性(数据库)系统时,策略管理的数据库和集群管理是一个非常
有用的管理方式。策略管理的环境允许根据需求变化自动、动态地对系统进行调整。这种
环境还能确保连续出现多个故障时,系统上的服务仍然可用。由于大多数应用程序无法区
分集群中的变化是因偶然因素导致,还是计划维护操作的结果,因此可使用基于策略的管
理来改进计划和意外操作。
然后服务器类别可使用服务器属性来定义服务器池。服务器类别根据属性而不是作为池中
一部分的服务器的唯一编号或名称来定义服务器池。服务器类别使用正则表达式定义特定
服务器池中可以使用什么类型的服务器。这允许为服务器定义准入要求以加入到服务器池
中,从而确保服务器池中的所有服务器至少能够提供最低容量来运行通过动态数据库服务
为该服务器池分配的负载。
通过策略管理的环境实现可伸缩性和敏捷性
策略管理的数据库的一个主要用例是,自动调整数据库环境以应对需求变化。另一个用
例,特别是使用 Oracle Grid Infrastructure 12c,包括使用策略集的非数据库应用程序(策略
管理的集群管理)。
18
Oracle Database 12c Real Application Clusters (RAC)
集群中托管的一个或多个应用程序的预期或意外需求增长都会触发一个需求变化 6。但是,
需求变化也可能是计划维护操作(服务器需要停机以进行维护)和集群反复调整导致的 —
调整集群是为了应对跨不同地理区域和时区的全天候操作,或者是为了满足月底或年底的
需求变化。策略管理的环境提供的基础架构可自动处理上述所有情况。
使用策略管理的环境实现更好的高可用性
策略管理的环境是最便捷的方法,足以用来自动应对集群中的多种故障情况。而管理员管
理的系统 — 在该系统中,静态地将数据库实例和动态数据库服务等资源分配给集群中的服
务器 — 通过手动定义静态“首选”和“可用”布置首选项来处理故障。
在管理员管理的环境中,可将资源定义为首选在某个实例(将动态数据库服务分配给数据
库实例)或服务器(对于数据库实例的情况)上运行,只有在该特定实例或服务器不可用
时,该资源(如数据库服务)才会托管到集群中的备选实例或服务器上。无策略决策时,
所有服务器都是平等的,而且需要人工将负载静态分配给服务器。
策略管理的环境则免除了这一负担,无需此类静态定义。通过使用策略和策略集,管理员
可轻松地定义具有不同重要性的服务器池,并将关键负载映射到预先确定了重要性的特定
服务器池。基于集群中可用的计算资源,并且通过扩展分配给服务器池的业务关键型负
载,策略可保证具有更高重要性的服务器池能够获得必要的计算资源,以满足性能或可用
性服务级别协议的要求。
服务器类别确保分配给服务器池的服务器满足最低要求。如果出现服务器故障,将使用服务
器池的重要性定义来判断负载的重要性,并使用可预测策略相应地在集群中重新分配资源。
如果其余集群大小不足以托管所需的负载,将使用同样的策略潜在地将低重要性服务器池的
计算资源迁移到高重要性的服务器池中,以便满足业务关键型负载对计算资源的需求。
6需要通过使用 Oracle Enterprise Manager 12c 或 Oracle Quality of Service (QoS) Management 的应用
程序监视功能来自动响应由应用程序需求触发的需求变化。
19
Oracle Database 12c Real Application Clusters (RAC)
总结
业务连续性、高可用性、可伸缩性、灵活性和敏捷性与自动管理相结合,是成功 IT 基础架
构和云部署的支柱。十多年来,已有数千 Oracle 客户选择包含 Real Application Clusters (RAC)
选件的 Oracle 数据库作为其业务关键型数据库系统的解决方案。
20
甲骨文(中国)软件系统有限公司
北京远洋光华中心办公室 广州国际金融广场办公室
地址:北京市朝阳区景华南街5号远洋光华中心C座21层 地址:广州市天河区珠江新城华夏路8号合景国际金融广场18楼
邮编:100020 邮编:510623
电话:(86.10) 6535-6688 电话:(86.20) 8513-2000
传真:(86.10) 6515-1015 传真:(86.20) 8513-2380
北京汉威办公室 成都中海国际中心办公室
地址:北京市朝阳区光华路7号汉威大厦10层1003-1005单元 地址:成都市高新区交子大道177号中海国际中心7楼B座02-06单元
邮编:100004 邮编:610041
电话:(86.10) 6535-6688 电话:(86.28) 8530-8600
传真:(86.10) 6561-3235 传真:(86.28) 8530-8699
北京甲骨文大厦 深圳飞亚达科技大厦办公室
地址:北京市海淀区中关村软件园24号楼甲骨文大厦 地址:深圳市南山区高新南一道飞亚达科技大厦16层
邮编:100193 邮编:518057
电话:(86.10) 6106-6000 电话:(86.755) 8396-5000
传真:(86.10) 6106-5000 传真:(86.591) 8601-3837
北京国际软件大厦办公室 深圳德赛科技大厦办公室
地址:北京市海淀区中关村软件园9号楼国际软件大厦二区308单元 地址:深圳市南山区高新南一道德赛科技大厦8层0801-0803单元
邮编:100193 邮编:518057
电话:(86.10) 8279-8400 电话:(86.755) 8660-7100
传真:(86.10) 8279-8686 传真:(86.755) 2167-1299
北京孵化器办公室 大连办公室
地址:北京市海淀区中关村软件园孵化器2号楼A座一层 地址:大连软件园东路23号大连软件园15号楼502
邮编:100193 邮编:116023
电话:(86.10) 8278-6000 电话:(86.411) 8465-6000
传真:(86.10) 8282-6401 传真:(86.755) 8465-6499
上海名人商业大厦办公室 苏州办公室
地址:上海市黄浦区天津路155号名人商业大厦12层 地址:苏州工业园区星湖街328号苏州国际科技园5期11幢1001室
邮编:200001 邮编:215123
电话:(86.21) 2302-3000 电话:(86.512) 8666-5000
传真:(86.21) 6340-6055 传真:(86.512) 8187-7838
上海腾飞浦汇大厦办公室 沈阳办公室
地址:上海市黄浦区福州路318号腾飞浦汇大厦508-509室 地址:沈阳市和平区青年大街390号皇朝万鑫国际大厦A座39层3901&3911室
邮编:200001 邮编:110003
电话:(86.21) 2302-3000 电话:(86.24) 8393-8700
传真:(86.21) 6391-2366 传真:(86.24) 2353-0585
上海创智天地10号楼办公室 济南办公室
地址:上海市杨浦区凇沪路290号创智天地10号楼512-516单元 地址:济南市泺源大街150号中信广场11层1113单元
邮编:200433 邮编:250011
电话:(86.21) 6095-2500 电话:(86.531) 6861-1900
传真:(86.21) 6107-5108 传真:(86.531) 8518-1133
上海创智天地11号楼办公室 南京办公室
地址:上海市杨浦区淞沪路303号创智天地科教广场3期11号楼7楼 地址:南京市玄武区洪武北路55号置地广场19层1911室
邮编:200433 邮编:210018
电话:(86.21) 6072-6200 电话:(86.25) 8579-7500
传真:(86.21) 6082-1960 传真:(86.25) 8476-5226
上海新思大厦办公室 西安办公室
地址:上海市漕河泾开发区宜山路926号新思大厦11层 地址:西安市高新区科技二路72号西安软件园零壹广场主楼1401室
邮编:200233 邮编:710075
电话:(86.21) 6057-9100 电话:(86.29) 8834-3400
传真:(86.21) 6083-5350 传真:(86.25) 8833-9829
重庆办公室 武汉办公室
地址:重庆市渝中区邹容路68号大都会商厦1611室 地址:武汉市江岸区中山大道1628号
邮编:400010 武汉天地企业中心5号大厦23层2301单元
电话:(86.23) 6037-5600 邮编:430010
传真:(86.23) 6370-8700 电话:(86.27) 8221-2168
传真:(86.27) 8221-2168
杭州办公室
长沙办公室
地址:杭州市西湖区杭大路15号嘉华国际商务中心810&811室
邮编:310007 地址:长沙市芙蓉区韶山北路159号通程国际大酒店1311-1313室
电话:(86.571) 8168-3600 邮编:410011
传真:(86.571) 8717-5299 电话:(86.731) 8977-4100
传真:(86.731) 8425-9601
福州办公室
石家庄办公室
地址:福州市五四路158号环球广场1601室
邮编:350003 地址:石家庄市中山东路303号石家庄世贸广场酒店14层1402室
电话:(86.591) 8621-5050 邮编:050011
传真:(86.591) 8801-0330 电话:(86.311) 6670-8080
传真:(86.311) 8667-0618
南昌办公室
昆明办公室
地址:江西省南昌市西湖区沿江中大道258号
皇冠商务广场10楼1009室 地址:昆明市三市街六号柏联广场写字楼11层1103A室
邮编:330025 邮编:650021
电话:(86.791) 8612-1000 电话:(86.871) 6402-4600
传真:(86.791) 8657-7693 传真:(86.871) 6361-4946
呼和浩特办公室 合肥办公室
地址:内蒙古自治区呼和浩特市新城区迎宾北路7号 地址:安徽省合肥市蜀山区政务新区怀宁路1639号平安大厦18层1801室
大唐金座19层北侧1902-1904室 邮编:230022
邮编:010051 电话:(86.551) 6595-8200
电话:(86.471) 3941-600 传真:(86.551) 6371-3182
传真:(86.471) 5100-535
广西办公室
郑州办公室
地址:广西省南宁市青秀区民族大道136-2号华润大厦B座2302室
地址:河南省郑州市中原区中原中路220号 邮编:530028
裕达国际贸易中心A座2015室 电话:(86.771) 391-8400
邮编:450007 传真:(86.771) 577-5500
电话:(86.371) 6755-9500
传真:(86.371) 6797-2085
Oracle Real Application Clusters (RAC)
2013 年 6 月
作者:Markus Michalewicz
参与编著:Burt Clouse, John McHugh
公司网址:http://www.oracle.com(英文)
中文网址:http://www.oracle.com/cn(简体中文)
销售中心:800-810-0161
售后服务热线:800-810-0366
培训服务热线:800-810-9931
欢迎访问:
http://www.oracle.com(英文)
http://www.oracle.com/cn(简体中文)
本文的宗旨只是提供相关信息,其内容如有变动,恕不另
行通知。Oracle 公司对本文内容的准确性不提供任何保证,
也不做任何口头或法律形式的其他保证或条件,包括关于
适销性或符合特定用途的所有默示保证和条件。本公司特
别声明对本文档不承担任何义务,而且本文档也不能构成
任何直接或间接的合同责任。未经 Oracle 公司事先书面许
可,严禁将此文档为了任何目的,以任何形式或手段(无论
是电子的还是机械的)进行复制或传播。