`

配置 Oracle的RAC的数据源,WebLogic的多池Multi-Pool

阅读更多

本文转自:http://www.blogjava.net/jhx800/archive/2009/03/20/261052.html

 

 

================================

WebLogic里面有多池的概念,其中High availability的含义是这样的,假设有PoolA和PoolB,正常的情况下,只有一个PoolA起作用,其poolB是stand-by,当 起作用的那个poolA出现故障,则会被WLS标记为disable,并将请求转发到另外一个poolB上,并且定时测试被标记为disable的 poolA,如果重新连接成功后,则将请求再切换回PoolA上,PoolB继续stand-by.

而上周和一个客户讨论这个问题,客户的做法是这样的:

后台是Oracle的RAC数据库,他配置了一个多池,有2个Pool,PoolA主要连RAC的A实例,PoolB主要连RAC的B实例.其实他 的PoolA和PoolB都是用了RAC格式的JDBC的写法,后面是一个主机列表,PoolA将A实例的IP写在了前面,PoolB将B实例的IP写在 了前面,JDBC的算法是failover=yes load_banlance=no,这样每一个Pool将请求都发送到自己的第一个host的Oracle的实例上,在第一个host的Oracle实例 出现故障时候切换到另外一个host的Oracle实例上.

PoolA和PoolB的JDBC的写法如下,注意failover=yes和load_banlance=yes,这样写的作用是当请求来的时候 都转发给第一个host,只有出现第一个host有问题,才会将请求发送到第二个host:

WLS JDBC URL 的配置如下:

jdbc:oracle:thin:@(description=(address_list= (address=(host=172.18.137.231) (protocol=tcp)(port=1521))(address=(host=172.18.137.230)(protocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data=(service_name= slrac.bea.com)))

配置的多池的算法如果是High Availability的话,那么压力将始终压到一个Pool上面,另外一个Pool处于stand-by的状态,除非处理请求的Pool出现故障.客 户的监控情况也是如此,发现压力都压在了一个Oracle的实例上.

如果多池的算法是Load Banlance的话,那么压力将平均分配到2个Pool上面.如果想使用多池的high availability的算法,则不要设置test的重试次数,如果设置了,则会出错抛出异常.

为了能使被标记为disable的PoolA能够恢复正常的连接,则需要设置HealthCheckFrequencySeconds的值在 config.xml里面,该值在console上面没有.

另外还要能够使用TestConnectionsOnReserve.

多池就是在JDBC的连接池上层又加了一层请求分流的算法层.

关于Orale的RAC的JDBC的配置请参见我的另一篇笔记:

http://rabbit8.bokee.com/4962735.html

以上是我的理解,如有错误,请指正,因为你的指正将会让我理解更深刻,谢谢!

本文参考了http://www.bea.com.cn/support_pattern/Investigating_JDBC_MultiPool_Issues_Pattern.html

 

当安装完了Oracle的RAC后,我的Oracle就是一个双机的集群了,支持load banlance 和failover,但是数据源里面的JDBC的URL需要一种不同的格式:

1)BEA的例子:http://www.bea.com.cn/support_pattern/Oracle_RAC_Pattern.html

WLS JDBC URL 的配置如下:

jdbc:oracle:thin:@(description=(address_list= (address=(host=172.18.137.231) (protocol=tcp)(port=1521))(address=(host=172.18.137.230)(protocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data=(service_name= slrac.bea.com)))

2)IBM 的例子:http://publib.boulder.ibm.com/infocenter/wpdoc/v510/index.jsp?topic=/com.ibm.wp.ent.doc/wpf/plan_oracle_rac.html

 jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_NODE_HOSTNAME)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=SECONDARY_NODE_HOSTNAME)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DATABASE_SERVICENAME)))

我的试验的配置:

jdbc:oracle:thin:@(description=(address_list= (address=(host=p570_b) (protocol=tcp)(port=1521))(address=(host=p570_a)(protocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data=(service_name= orcl)))

      我一开始使用的是IP地址,但发现使用IP后,第一下测试连接成功,第二下失败,第三下成功,第四下失败,就是这个规律,原因是RAC自己就有负载均衡的 功能(load banlance),它会自动的分配负载(workload),而第二次的请求据说返回的不是IP,所以在我的IP的列表里面没有,自然找不到(这是另一 个工程师解释给我的,不过我不太相信,因为BEA的文档中使用的就是IP,但我又不知道为什么)。

      后来听从那个工程师建议改成主机名后,一切OK,但如果改主机名需要更改Windows下的WINNT/system32/drivers/etc /hosts文件,将主机名和IP对应起来。

      我的RAC的数据源的配置就OK了,51后还要做DB2的双机互备的集群,还不知道该怎么做,DataSource的JDBC的URL怎么配置呢,不知道 是不是和这个一样呢?

     TNS的配置:

你的TNS的名字=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = p570a)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = p570b)(PORT = 1521))
    )
    (load_blance=yes)
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
      (failover_mode=
              (type=select)
              (method=basic))
    )
  )

 

      明天上午验收安装的AIX的HA和RAC,如果顺利的话,下午就可以回北京了,这次安装AIX和RAC都不顺利,那个安装RAC的工程师这2天被蹂躏够 戗,不断的出现新的问题,一开始AIX的版本的补丁不对,结果IBM的那个工程师早早的跑了,后来找到了原因,后来又是安装Oracle的Cluster 层的软件有一个NODE没有启动,后来知道了那个NODE是否正常启动没有关系,今天又是建立RAW和导入数据出现了些问题,还好都搞定了,晚上我又测试 了一下集群的数据源,明天希望上午可以正式的测试完毕。

 

 

 

 

分享到:
评论

相关推荐

    weblogic连接oracle RAC数据源配置

    总结来说,配置WebLogic连接Oracle RAC数据源是一个涉及多个层面的过程,包括JDBC驱动的管理、数据源的创建和配置、高可用性策略的设定,以及部署后的监控。正确执行这些步骤,可以确保WebLogic应用在Oracle RAC环境...

    配置Oracle RAC集群数据源

    Oracle RAC 集群数据源配置 Oracle RAC(Real Application Clusters)是一种高可用性和高性能的数据库解决方案。为了实现高可用性和高性能,需要将 Oracle 数据库配置为 RAC 集群模式。配置 Oracle RAC 集群数据源...

    oracle RAC 和 weblogic集群安装配置和部署文档

    在本文档中,我们将深入探讨Oracle RAC(Real Application Clusters)和WebLogic集群的安装、配置与部署过程。Oracle RAC是一种高可用性解决方案,可使多台服务器共享同一数据库,提供故障切换和负载均衡能力。...

    Oracle RAC部署环境准备手册之二:yum源配置

    总的来说,Oracle RAC部署的YUM源配置是一项基础但关键的工作,它确保了所有必要的软件包和依赖项能够被有效地管理和安装。无论是本地源还是在线源,都需要根据实际情况进行适当的配置和优化,以确保Oracle RAC的...

    Oracle-11g-R2-RAC-with-ASM存储迁移-手记.docx

    本文详细介绍了如何将 Oracle RAC 的数据库数据迁移到新的存储设备上,并提供了详细的迁移步骤和图文说明。整个迁移过程中,使用了 ASM DISKGROUP 的方式来完成存储迁移,实现了尽量缩短系统的停机时间。 以下是...

    oracle 12c RAC白皮书 rac-wp-12c-1896129-zhs.pdf

    Oracle Real Application Clusters (RAC) 是一款先进的数据库集群技术,允许用户在多台服务器上同时运行多个数据库实例,而这些实例共享同一组数据文件。这一设计不仅降低了总体拥有成本(TCO),同时也提供了高度可...

    Hypver-v Linux虚机配置Oracle RAC

    Hypver-v Linux虚机配置Oracle RAC

    oracle rac防火墙配置学习

    Linux 常用命令 oracle rac 中文手册 官网翻译 oracle rac

    Understanding Oracle RAC Internals - The Cache Fusion Edition

    Oracle RAC(Real Application Clusters)是Oracle数据库的一个重要特性,它允许多个服务器实例共同访问同一个数据库,从而提供高可用性和可伸缩性。Cache Fusion是RAC架构中的一个核心技术,它允许不同节点上的...

    【Oracle-RAC】Linux--Oracle-11g-R2-RAC-安装配置详细过程V3.0(图文并茂)

    根据提供的文档信息,本文将详细解析Oracle 11g R2 RAC(Real Application Clusters)在Linux环境下的安装配置过程。此文档适用于希望在Linux平台上部署Oracle 11g R2 RAC集群的IT专业人士。 ### Oracle 11g R2 RAC...

    Oracle-WebLogic-Server-12c-各版本功能特性速查表

    Oracle WebLogic Server 12c是甲骨文公司推出的一款应用服务器,它是为云基础设施建设而设计的现代数据中心首选平台。作为一款基于标准技术的产品,Oracle WebLogic Server 12c为云应用提供了完整的平台支持,旨在...

    weblogic+timesten+oraclerac高可用架构.pdf

    在高可用性架构中,WebLogic的Multi-Pool配置被用来实现数据库连接的故障切换,确保即使数据库服务器发生故障,应用程序也能继续运行。 2. **TimesTen内存数据库**:TimesTen是一个高性能的内存数据库系统,它能够...

    Oracle rac功能测试方案

    1. **性能方面**:Oracle RAC具有良好的I/O处理能力,能够满足高强度的数据处理需求。 2. **负载均衡方面**:无论是在客户端还是服务端,都能够实现有效的负载均衡,提高了系统的响应速度和资源利用率。 3. **稳定性...

    Oracle 11.2.0.3 RAC 与 RAC 之间搭建Data Guard 案例 -- Aative Data Guard 案例

    RAC允许多台服务器共享同一个数据库实例,提供高可用性和负载均衡,而Data Guard则是一种灾难恢复解决方案,通过创建物理或逻辑备用数据库来保护主数据库免受数据丢失或系统故障的影响。本案例将探讨如何在两个RAC...

    ORACLE-10gRAC-ASM-FOR-SOLARIS-安装指南.doc

    ORACLE-10gRAC-ASM-FOR-SOLARIS-安装指南 本文档主要介绍了 ORACLE 10.1.0.4 版本的 RAC+ASM 搭建在 Sun Solaris 平台下的安装指南。该文档旨在帮助用户快速搭建 ORACLE RAC+ASM 环境,以满足企业级应用的需求。 ...

    oracle rac数据迁移

    ### Oracle RAC 数据迁移知识点详解 #### 一、Oracle RAC 数据迁移背景及意义 在企业信息化建设过程中,Oracle RAC (Real Application Clusters) 作为高性能、高可用性的数据库解决方案,被广泛应用在各种关键业务...

    Oracle RAC核心技术详解-高清-完整目录-2015年10月

    Oracle RAC核心技术详解-高清-完整目录-2015年10月。。

Global site tag (gtag.js) - Google Analytics