`
linkyou66
  • 浏览: 227584 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

jdbc连接遭遇RAC设备

 
阅读更多
<p>今天进行junit的Case回归测试,功能测试人员告知数据库ip进行了变更,于是</p>
<p>将jdbc连接的url进行了相应的变更如下</p>
<p><span style="font-size: x-small;"><span style="font-family: Courier New;">jdbcConnection<span style="font-size: 10pt; color: #000000;">=java.sql.DriverManager.</span><em><span style="font-size: 10pt; color: #000000;">getConnection</span></em><span style="font-size: 10pt; color: #000000;">(</span><span style="font-size: 10pt; color: #2a00ff;">"jdbc:oracle:thin:@10.1.151.120:1521:rac"</span><span style="font-size: 10pt; color: #000000;">,</span><span style="font-size: 10pt; color: #2a00ff;">"alibank_test"</span><span style="font-size: 10pt; color: #000000;">,</span><span style="font-size: 10pt; color: #2a00ff;">"alibank"</span><span style="font-size: 10pt; color: #000000;">);</span></span></span></p>
<p><span style="font-size: x-small; font-family: Courier New;">结果怎么连也连不上</span></p>
<p><span style="font-size: x-small; font-family: Courier New;">向开发请教得到说url要换成如下链接</span></p>
<p><span style="">jdbc:oracle:thin:@(description=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.151.117)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=rac)))</span></p>
<p></p>
<p><span style="">觉得很奇怪,于是根据connect_data一步一步google,这个是不能问开发的,否则没有面子,学习要靠自己。终于发现原来是开发数据库部署的设备进行了升级,使用了rac设备。</span></p>
<p><span style="">而使用rac设备,jdbc的连接靠ip地址是找不到的。必须写成上面大字的格式</span></p>
<p><span style="">于是顺道把rac设备也学习了一下</span></p>
<p>RAC就是real application clusters的缩写,跟rack的读音同。 </p>
<p>Oracle Real Application Clusters (RAC)可以支持24 x 7 有效的数据库应用 系统,您可以在由低成本的服务器构成的高可用性系统上自由部署您的应用,而无需修改您的应用程序。已经有超过4200个用户从中受益。现在Oracle在10g RAC中更提供免费的集群软件和存储管理软件,为您降低应用成本。拥有RAC您无需再为成本而牺牲性能和 可靠性。<br><br>关键特性</p>
<p>高可用性<br>Oracle Real Application Clusters 提供一个高性能低成本的应用平台,支持所有类型的应用系统,无论是事务处理型应用还是分析型应用。所有应用共享同样的服务器和存储资源。出现任何的服务器或磁盘故障,系统会自动重新接管发生故障的功能。这些对前端用户的完全透明的。同样,如果您需要增加服务器或改变其他组件的配置也不会影响到应用系统。</p>
<p>高性能<br>Oracle Real Application Clusters保持着TPC-C的记录,达到每分钟 118万个事务的处理能力,和仅仅 $5.52 每tpmC的成本。在3,000 GB的 TPC-H数据仓库Benchmark 测试中, Oracle RAC同样保持性价比的领先地位,保证我们的用户能够达到更好更快的 ROI。这仅仅是Oracle 保持的多项Benchmark 记录中的最 近的一些指标。</p>
<p>按需扩充<br>您现有的系统可能是基于当前的工作负载而构建的,当 应用规模需要扩充时(支持更多的数据、用户或应用),您就需要扩展您的系统以保证系统的性能。当您的应用是构建于大型的SMP主机时,您可能需要购买另一 台昂贵的主机,但可能只能使用到其处理能力的很小一部分。但是如果您使用Oracle RAC的话,您可以通过增加一台或多台低成本的服务器来扩充您的应用系统的处理能力,满足应用需 求。</p>
<p>第三方应用支持<br>Oracle RAC数据库服务器象一个单一镜像的数据库服务 器,所有的应用无需任何改动都可以直接部署 (例如Oracle EBS, SAP, Siebel, 您自己的应用), 同时可以提高应用性能和可靠性。 Oracle和SAP的应用在RAC上完成了一系列的benchmarks性能测试,获 得了非常优异的测试结果, 象ABB 和Colgate一些大客户都是在Oracle RAC上运行他们的 SAP 应用软件。</p>
<p>技术应答</p>
<p>我听说RAC无法证明其在超过4个处理器的集群上的伸缩性 – 您有什么证据来证明RAC 的高可用性、高伸缩性和高可靠性?<br>标准的benchmark 性能测试表 明 SAP 运 行于RAC上可以达到80%的伸缩性。一个明显的例证是最近在HP上所作的标准 TPC-C测试。第一个测试是Oracle运行于有64个Intel Itanium2® CPU 的HP SuperDome SMP巨型服务器。第二个测试是16个节点的集群系统,每个节点是4个CPU的SMP服务器。测试结果表明RAC环境性能超过SuperDome 18% ,这两个测试使用了完全同样的 Itanium2® CPU,处理器总数都是64。所以在同样的CPU处理能力下,RAC具有更好的伸缩性。<br>当您再进一步考察这两种方案的成本时,您会发现RAC的成本更低。HP SuperDome 将近800万美元,而同样的集群系统的成本仅仅不到300万美元, 其成本只是大型机的1/3。</p>
<p>为什么说Oracle Real Application Clusters 10g 要远远超过它的竞争对手?</p>
<p>最基本的不同是,Oracle Real Application Clusters 10g 中所有服务器都可以直接访问数据库中的所有数据,其他的数据库在开放系统中都做不到这点, 正是由于这个原因,您可以非常方便地根据需求随时增加服务器来扩充您的系统,无需重新分布数据和应用。Real Application Clusters象一个单一的系统一样工作,任何节点的故障都不会影响其他节点对数据的访问。所以说增加服 务器就增加了系统的可靠性。另外一点,对用户来说RAC是一个数据库系统,对它的维护管理如同单机一样简单方便。</p>
<p>Microsoft SQL Server和IBM DB2都有active-active 的故障切换方式,为什么我要采用Oracle Real Application Cluster 10g ?</p>
<p>其他的数据库系统都无法 真正的支持 active-active方式的集群系统,即集群的两个节点可以支持同样的应用。实际上,他们只能支持双向的active-passive 架 构,即节点 A 运行应用A,同时节点B 运行应用B,每个节点作为另一个节点的备份节点。但是同样的应用无法同时运行在两个不同的节点。在Oracle Real Application Cluster 10g 中,同样的应用可以运行在两个或更多的节点,每一个节点都可作为所有其它节点的备份机。当 出现单点故障时,整个Real Application Clusters数据库系统的效率只会有很小的降低。</p>
<p>我的分布式应用 系统运行非常好,为什么我要把我的数据库进行集中?</p>
<p>如果您的应用系统正运行 于Oracle上,他们当然可以支持您的业务需求。但是集群的数据库可以让您管理更少的数据库,意味着更 少的管理成本。同时如果您把数据集中到Oracle Real Application Cluster 10g 上,您可以提高整个系 统的可用性,达到99.99%甚至更高。</p>
<p>我们已经有了集 群硬件环境,并且可以进行应用的切换,为什么我还需要Oracle Real Application Clusters 10g?</p>
<p>当您在集群环境下运行您 的应用,如果不采用Oracle Real Application Clusters 10g 的话,您的应用是运行于单例程状态下。虽然您的服务 器是集群的一部分,但实际上相当于只运行在一台单机上。在硬件集群环境下,如HP ServiceGuard、 Sun Cluster 和 Microsoft Cluster Services, 您可以在集群的任何一个 节点重新启动 Oracle数据库 (因为硬盘可以共享). 这就是我们所说的 ‘cold failover’。’Cold failover’ 切 换速度依赖于相关硬件资源的切换速度,这可能需要5到 25 分钟的时间恢复。如果使用Oracle Real Application Clusters 10g, 在服务器发生故障时,其他存活的服务器可以自动快速的恢复故障服务器的例程。Oracle Real Application Clusters 10g 可以提供业界最快的系统恢复,在60秒内可以对系统故障进行恢复,这至少比硬件的 ‘cold failover’方 案快5倍。</p>
<p>我们使用Data Guard来实现故障切 换,为什么我还需要Oracle Real Application Clusters 10g?</p>
<p>使用Data Guard来保护您的数 据是一个正确的选择 - Data Guard可以在各种故障情况(无论是数据坏块还是人为失误)下保护您的数据,Data Guard 也确实提供故障切换的功能,但是切换时间可能会需 要10分 钟,RAC可 以提供低于60秒的切换。同时RAC还可以提供无限的伸缩性,Data Guard 只能提供有限的伸缩性。RAC和Data Guard提供100% 技术来最大程度地保护 您的数据库应用。</p>
<p>为什么选择Linux? 为什么选择Linux 环境下的Oracle Real Application Clusters 10g?</p>
<p>采用SMP UNIX服务器的原因是他 们在过去可以为您的业务系统提供高可用性和伸缩性。在今天对成本非常敏感的环境下,我们需要一种低成本的可以提供高可用性和高质量的系统。通过把您的应用 系统迁移到Linux环境下的Oracle Real Application Clusters 10g ,您可以得到比SMP服务器更好的可用性,同时可以方便地扩充您的系统,最关键的是总体拥有成本可以控制的很 低。使用小型 Intel 服务器构建集群成本远远低于大型的SMP 服务器,同时可以拥有无限的伸缩性。</p>
<p>Oracle Real Application Clusters只是Oracle Parallel Server的新的版本, 是吗?</p>
<p>Real Application Clusters是一个全新的产品,10g 是它的第二个版本。在RAC中,我们有多项新的专利技术,专注于如何为应用系统创建一个高可用性、高伸缩性和高效的集 群系统,而无需修改现有的应用系统。同时,我们在RAC的易管理性上作了大量工作。 RAC系统架构把所有复杂的内部结构都封装起来,对开发人员和用 户完全透明。</p>
<p>您认为Oracle RAC的典型硬件配 置是什么样的?</p>
<p>首先我们知道 RAC选件支持所有的Oracle数据库支持的平台,如: Windows, Linux, Solaris, HP-UX等等。所以无论您选择什么样的系统,RAC都可以非常好的运行。如果是 系统选型,那要取决于您的应用需求。我们可以看到Windows 和Linux平台都是常用的基于Intel架构的平台,RAC 在这些平台都有很好的表现,这意味着您可以以低成本得到更高的可用性、可靠性和伸缩性。同 时,RAC可 以在任何价位上获得良好的性能,您可以在HP SuperDomes、Sun boxes或Linux/Windows Intel 服务器上非常方便地配置RAC。</p>
<p></p>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics