十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
大多数企业的系统采用一个多层的结构 这个结构包含了很多组件 这个系统结构组成部分的复杂程度经常是根据企业的需求而确定 例如 性能 成本和可用性 数据库提供一个持久固定的信息库 并且形成许多企业的应用程序配置的核心 Oracle iTM 真正的应用集群系统(RAC)提供的机械装置系统用于访问这个信息库和从事与高可用性 可量测性 性能和易管理等有关的关键业务 在这篇文章中的一个简单案例的研究为Oracle i RAC举例说明了关键的系统结构问题 并且为实际配置策略提供了洞察力 企业配置还能够包含Oracle i RAC配置 以推动存储区网络(SAN)技术 多层的配置图 说明了一个传统的多层基础架构配置 随后讨论描述各种组件 图 多层基础架构的配置使用浏览器的用户 这些用户普遍使用的浏览器是Microsoft® IE浏览器和 Netscape® Navigator® 浏览器 这些浏览器使用标准的超文本传输协议(HTTP)传输数据 使用不同的通用资源定位器(URLs)导航Web 路由器和防火墙 这些网络访问点在不同的网络段中控制信息的流量 防火墙过滤信息流量以加强安全和商业策略 防火墙还能够提供复杂的报告和带宽供应能力 高速缓存服务器 这些高速缓存服务器为了从Web和应用服务器中重新得到网页内容提供了复杂的高速缓存技术 高速缓存服务器能够从高速缓存中完成客户的请求 因此减少了网络的信息流量 并且加快了对客户的响应时间 负载平衡服务器 在服务器经营系统中 负载平衡能够使信息流量智能地分布 Web 服务器 这些服务器运行Web服务器软件 例如 微软的因特网信息服务(IIS)或者Apache 服务器使用这些软件处理和分派所得到的HTTP请求 返回超文本文件(HTML)或者可扩展标志语言(XML)网页内容 使用简单的配置 请求通常被服务器附带的脚本技术所处理 例如 公共网关界面(CGI) servlets Jave服务器页(JSP) 活动服务器页(ASP) 这些脚本技术能够支持后端软件组件和应用程序接口(APIs)访问数据库和其它的企业应用程序 应用程序服务器 应用程序服务器为发展中的服务器附带的商业运行提供了一个更先进的结构 应用服务器软件典型地实现了标准的组件结构 例如 Java 企业版本(J EETM)规范 因为Java 服务器管理数据库连接 处理和安全 开发商能够集中核心的商业逻辑问题 J EE服务器把用于通话的复杂技术和目标软件生命周期管理相结合 这样能够使可升级的体系结构得到更好的发展 应用服务器还为处理和分派所得到的HTTP请求提供运行时间环境(例如 一个用于servlets和JSPs的servlet引擎) 应用服务器产品的例子包括 Oracle i 应用服务器 BEATM WebLogic® 和IBM® WebSphere® 数据库服务器 这些服务器寄主了数据库软件 在一个Oracle i RAC集群系统环境里 每个节点使用Oracle® RAC 软件运行Oracle i 数据库 存储器 存储器子系统包含数据 在一个集群系统的Oracle i RAC数据库环境里 集群系统里的每个服务器都能够访问共享存储区 允许节点故障切换到一个存活的节点上 Oracle i RAC添加功能到数据库层这部分重点放在前面描述过的基础架构的数据库层和汇集Oracle i RAC的关键特性改进节点间的通讯用于每个同步序列 节点间的信息流量和信息等待时间的信息数严重地影响了集群系统的可量测性 一个同步序列是一个数据块传递和协调活动 这是在Oracle i RAC中的Cache Fusion系统结构里所固有的 信息数 Oracle i RAC在一个块请求中包括三个逻辑节点 请求节点 当前在高速缓存中拥有资源的节点和控制资源的节点 服务于一个请求的节点数和信息数不随着集群系统中的节点数而增加 允许一个Oracle i RAC集群系统扩充到很多节点 节点间的信息流量 Oracle i RAC根据数据访问模式动态地移植资源到使用大量资源的节点 以便使节点间的信息流量减到最小 资源本地化减少了相互连接传送信息的负担 信息等待时间 相互连接速度是一个重要的性能问题 可用的商业技术提供了更大的带宽和加快了网速 例如 千兆以太网 显现技术允许减轻瓶颈甚至更多 例如 InfiniBandTM 客户连接的故障切换在Oracle SQL*NET® 中的负载平衡和应用程序故障切换选项能够确保客户连接从出现故障的节点或者现场进行故障切换 客户连接负载平衡分布客户连接到集群系统的所有节点 这样减轻了一个单独节点故障的影响 并且能够分布工作量 在集群系统中 当连接使用的节点出现故障的时候 明显的应用程序故障切换(TAF)选项让客户应用程序故障切换到另一个节点 目前 Oracle i RAC支持对话期间的故障切换和SELECT操作故障切换 在进行中的SELECT请求在故障切换现场继续被处理 一个正在进行的业务处理在故障期间必须被返回 提供一个回叫信号功能 Oracle呼叫接口(OCI)用于应用执行插入 升级和删除指令 以便使应用程序能够继续执行 通过负载平衡改进性能如果负载超过了一个节点的承受能力 那么处理反应时间就会增加 为了维持反应时间 一个数据库管理人员(DBA)必须用手动方式移植一组客户通话到一个承受较少负载的节点上 在Oracle i RAC中 明显的网络底层(TNS)接收器为共享服务器和专用服务器配置上的节点提供自动的负载平行 新的动态服务注册特性帮助完成这个负载平行 最优化查询考虑处理器数 类似的查询程度和集群系统中分配给每个节点上CPU工作量 以及最佳利用硬件资源 因为它利用了几个计算机的资源和附加的I/O带宽 所以这个特性大大地增加了系统的性能 节省在线配置时间当数据库在线的时候 网络管理人员能够使用数据库配置助手(DBCA)从一个已存在的Oracle i RAC集群系统中添加一个新的节点或者删除一个节点 基于图形用户界面(GUI)的实用程序使在线添加和删除一个节点的复杂操作变得简单化 增强管理Oracle企业管理器(OEM)包括很多用于Oracle i RAC集群系统数据库的改进 OEM和智能的代理使用SRVCTL实用程序产生的配置信息以发觉和监视集群节点 OEM和性能包提供了增强的监控能力 并且使网络管理人员能够为Cache Fusion 相互连接块传送信息和全部的数据库或者单独的节点收集统计表 Oracle i RAC 配置在不同的应用环境里能够有效地使用Oracle i RAC 这里列举一个简单的案例研究 Oracle i RAC技术能够合并服务器 还能够处理可用性和可量测性请求 所面临的I/O性能挑战和 Oracle i RAC具有代表性地 在线业务处理(OLTP)应用程序反复地访问一个非常小的数据 其它的应用程序 如报告和决策支持系统(DSS)应用程序访问大量数据和请求更多的资源以满足这些请求 由于性能和可用性的原因 公司传统上保留了这些应用(OLTP 和 DSS)作为分离的实体 结果导致IT管理人员经常要在一个分离的数据库实体里复制数据库内容以便及时地满足需要的关键报告信息 由于争用线路导致昂贵的磁盘ping 支持Oracle Parallel Server (OPS)的企业还要求一些计划编制和设计以便建立一个功能系统 Oracle i RAC 和Cache Fusion系统结构的出现减轻了磁盘的输入/输出(I/O)问题 这样就大大地减少了分离节点访问同一数据的危险性 Oracle i RAC还能够从事关键性能 恢复 连接负载平衡 故障切换和I/O问题 这样改进了解决方案的可量测性和可用性 现在公司可以合并服务器(这些服务器正运行着单独的实体或者Oracle Fail Safe (OFS)集群系统)到一个Oracle i RAC数据库集群系统 这样就能够增加解决方案的可用性和易管理性 案例研究 用Oracle i RAC使管理简单化图 中的案例研究显示了一个已存在的应用配置 所有的这些应用是基于Web的应用 也就是通过一个中间层访问数据库 数据库在三个不同的两节点OFS集群系统上运行 所有的这些数据库有大约 %到 %的公共数据 且数据库的大小范围从 GB到 GB 数据库有规律的从一个数据库向另一个数据库供给数据 以使数据同步 每个数据库有确定的惟一的数据 这些数据只有在每个数据库应用环境里才能被更新 在这个案例中 大量的数据被有规律的复制 结果使应用查看更多的当前信息产生了时间延迟 图 现有的应用结构通过移植这些应用到一个四节点数据库集群系统和在数据库里划分应用数据作为不同的模式(见图 ) 使Oracle i RAC技术得到充分的利用 当今的硬件技术使系统管理人员和数据库管理人员能够很容易地在小的I/O共用信道里设置数据库 以便能够从不同的应用系统访问数据 建立正确的权限 同义名和映像应用编码转变 这样能够最小化数据冗余 消除在数据库之间的供给数据和使应用系统达到更大的可用性 图 运行数据库的四节点Oracle i RAC解决方案用于应用系统现在在数据库上保持数据正确性同样变得简单了 所有的应用系统访问同样的资源数据 用户能够通过一个单一的节点和有效的四节点集群系统为特别报告 负载平衡或者故障切换访问他们各自的应用系统 这一优势就是使数据库管理人员能够为负载平衡智能地使用四节点集群系统 以便调节周期性的应用系统的工作量信号 例如 在Oracle i RAC中的负载 lishixinzhi/Article/program/Oracle/201311/17286
创新互联建站从2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、成都网站设计、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元东洲做网站,已为上家服务,为东洲各地企业和个人服务,联系电话:18982081108
通过RAC实现。只是共享存储。各台机器有自己的共享内存。并非每台机器的内存共享累加起来组成一个数据库的共享内存。 RAC的好处是所有机器组成一个集群。 ORACLE RAC工作原理 在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。同时所有服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问我们的共享存储设备。 逻辑结构上看,每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。节点之间通过集群软件的通讯层(communication layer)来进行通讯。同时为了减少IO的消耗,存在了一个全局缓存服务,因此每一个数据库的instance,都保留了一份相同的数据库cache。 RAC中的特点是:每一个节点的instance都有自己的SGA 每一个节点的instance都有自己的background process 每一个节点的instance都有自己的redo logs 每一个节点的instance都有自己的undo表空间所有节点都共享一份datafiles和controlfiles Oracle还提出了一个缓存融合的技术(Cache fusion) 目的有两个 1.保证缓存的一致性IXPUB技术博客 2.减少共享磁盘IO的消耗IXPUB技术博客因此在RAC环境中多个节点保留了同一份的DB CACHE 缓存融合(Cache fusion)工作原理: 1.其中一个节点会从共享数据库中读取一个block到db cache中 2.这个节点会在所有的节点进行交叉db block copy 3.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改 4.为了达到存储的一致最终修改的结果也会写到磁盘上 ClusterWare组件 有四种Service Crsd - 集群资源服务 Cssd - 集群同步服务 Evmd - 事件管理服务 oprocd - 节点检测监控有三类Resource VIP - 虚拟IP地址(Virtual IP) OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息 Voting Disk - Establishes quorum (表决磁盘),仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。 RAC的组件 提供过了额外的进程,用来维护数据库 LMS - Gobal Cache Service Process 全局缓存服务进程 LMD - Global Enqueue Service Daemon 全局查询服务守护进程 LMON - Global Enqueue Service Monitor全局查询服务监视进程 LCK0 - Instance Enqueue Process 实例查询进程
1、1、调整数据结构的设计。这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。
2、2、调整应用程序结构设计。这一部分也是在开发信息系统之前完成,程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应用程序体系结构要求的数据库资源是不同的。
3、3、调整数据库SQL语句。应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了ORACLE数据库的性能。ORACLE公司推荐使用ORACLE语句优化器(Oracle Optimizer)和行锁管理器(row-level manager)来调整优化SQL语句。
4、4、调整服务器内存分配。内存分配是在信息系统运行过程中优化配置的,数据库管理员可以根据数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小;还可以调整程序全局区(PGA区)的大小。需要注意的是,SGA区不是越大越好,SGA区过大会占用操作系统使用的内存而引起虚拟内存的页面交换,这样反而会降低系统。
5、5、调整硬盘I/O,这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O负载均衡。
6、6、调整操作系统参数,例如:运行在UNIX操作系统上的ORACLE数据库,可以调整UNIX数据缓冲池的大小,每个进程所能使用的内存大小等参数。
实际上,上述数据库优化措施之间是相互联系的。ORACLE数据库性能恶化表现基本上都是用户响应时间比较长,需要用户长时间的等待。但性能恶化的原因却是多种多样的,有时是多个因素共同造成了性能恶化的结果,这就需要数据库管理员有比较全面的计算机知识,能够敏感地察觉到影响数据库性能的主要原因所在。另外,良好的数据库管理工具对于优化数据库性能也是很重要的。