1.  什么是Active GridLink Data Source

从Oracle WebLogic Server 10.3.4版本开始引进了一种单数据源实现来支持Oracle
RAC集群。它对FAN事件进行响应来提供快速连接故障转移、运行时连接负载均衡和RAC实例优雅停机。在全局事务ID级别支持XA关联。这个新的特性叫做WebLogic
Active GridLink for RAC,在WebLogic Server中叫做GridLink Data
Source。

Active GridLink(AGL) Data Source除了兼具普通数据源的特性之外还具备下列新特性:
  • Fast Connection Failover (快速故障转移,FCF)
  • Run time Connection Load Balancing (运行时连接负载均衡,RCLB)
  • Grid Affinity (连接亲和力)
  • Scan Addresses (SCAN地址)

2.  Fast Connection Failover

AGL data source通过Oracle Notification
Service(ONS)使用快速故障转移来响应Oracle
RAC事件。它保证AGL数据源的连接池包含有效的连接(包括回收重用的连接)而无需修剪和测试连接。它还保证一旦新的节点可用时新创建的连接建立在新节点上。
AGL数据源使用快速故障转移:
---提供不间断的故障探测
---从连接池中终止并移除无效的连接
---对于计划内或计划外的RAC节点停电执行优雅的关机
---自适应集群的结构变化,比如添加和删除节点
---分布运行时工作请求到所有活动的RAC实例
 
3.  Run time Connection Load
Balancing
AGL data source基于数据库发布的FAN事件使用运行时连接负载均衡(RCLB)将连接分布到Oracle
RAC实例。它简化了数据源配置并且改善了连接性能,独立于数据库之外。
运行时连接负载均衡允许WebLogic服务器
---基于终端节点的容量比如CPU、可用性和响应时间来调整工作分布
---响应Oracle RAC集群结构变化
---针对高性能和高可扩展性的连接池管理
4.  Grid Affinity
AGL Data source利用Oracle RAC数据库提供的连接亲和力功能连接关联需要使用到Oracle
JDBC驱动和11.1.0.6或更高版本的Oracle RAC数据库。 
连接亲和力能够让连接池选择直接连接到一个特定的Oracle
RAC实例,为客户端应用提供最好的性能。连接池使用运行时连接负载均衡来选择一个Oracle
RAC实例,创建第一个连接并指定一个亲和力背景。所有后续连接请求都会使用第一个连接的亲和力背景并被路由到相同的Oracle
RAC实例直到会话或事务终止。
 
5.  SCAN Addrsses
单一客户端访问名称(SCAN)是Oracle RAC
11gR2的新特性,它为客户端访问在集群中运行的Oracle数据库提供了一个单一的名称。这个特性的好处是如果集群中的节点增加或者删除后,客户端的连接信息不需要进行修改。使用一个单一的名称,能够使客户端使用简单的JDBC
thin
URL来访问起群众的任何一个数据库,不论这些集群中的服务器是否是处于活动状态。SCAN为连接数据库的客户端提供了负载均衡和失败转移的功能。
 
 
6.  通过WebLogic配置Active GridLink
下面我们通过测试环境在WebLogic服务器里配置一个Active DataLink连接到Oracle RAC。
实验环境:Oracle11.2.0.3 RAC + WebLogic12.1.3
 
6.1  登录到WebLgic控制台,在Domain
Strunture下依次展开Services-->Data Sources
 
6.2  点击“New”按钮选择“GridLink Data Source”

6.3  在Name框中填入:jdbc/gridlinkDS  
 (此出的gridlinkDS可按部署的程序随意取名)

在JNDI Name框中填入:jdbc/gridlinkDS
Database Driver选择默认的驱动,然后点击“Next”按钮
 
6.4  此处再次点击“Next”按钮
 
6.5  数据源连接属性选项选择“Enter complete JDBC
URL”,然后点击“Next”按钮
 
6.6  按各自实际情况填入JDBC URL,其语法格式为:
jdbc:oracle:thin:@{scan-listener-host}:{scan-listener-port}/{service-name}
我们测试环境的11gRAC SCAN IP地址为192.168.1.55、监听端口1521、实例名racdb
 
再填入连接数据库的用户名和口令,这里我们选用了scott。完成后点击“Next”按钮。
 
6.7  点击“Test All
Listeners”,绿色信息显示测试JDBC连接成功。成功后再次点击“Next”。

6.8  ONS客户端配置处需添加RAC节点的ONS端口号。

相关信息可以在数据库服务器上通过运行命令onsctl debug获得,如下所示

在命令的显示信息中有如下部分正是我们所需关注的

依据获得的信息填入“ONS host and port”框中,点击“Add”按钮加入列表。最后点击“Next”按钮。

6.9  点击“Test All ONS
Nodes”,绿色信息显示ONS测试成功。再点击“Next”。

6.10
 选择GridLink数据源要关联的应用服务器,此处测试环境我们选择了AdminServer,最后点击“Finish”。
 
6.11  点击已经创建的“jdbc/gridlinkDS”配置连接池参数。
我们设置Initial Capacity(初始容量)为50,Maximum
Capacity(最大容量)为100。
最后点击“Save”保存并且点击页面左上方的“Activate
Changes”这时GridLink便会依据我们设置在Oracle RAC上创建初始连接。

6.22  验证Oracle RAC节点上的连接数

分别登录到RAC两个节点查询v$session视图,检查用户名为scott的连接数(此处因为我们配置的GridLink数据源是用scott用户连接的)。可以看到racdb1节点有25个,racdb2节点有26个。
至此Active GridLink DataSource全部配置完成。

数据库访问的弹性化---WebLogic和Oracle RAC的整合:Active GridLink的更多相关文章

  1. C#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle)

    using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...

  2. 数据库访问性能优化 Oracle

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

  3. 通过Oracle数据库访问控制功能的方法(Database access control)

    修改sqlnet.ora文件中的IP列表后都需要重启监听才能生效.(原文是: Any changes to the values requires the TNS listener to be sto ...

  4. Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

  5. Oracle数据库访问客户端 sqldeveloper-18.4.0-376.1900-x64 下载

    Oracle数据库访问客户端 sqldeveloper-18.4.0-376.1900-x64 下载地址:https://pan.baidu.com/s/1RnHVuMcCNZQ7ncHLKDJ33Q

  6. Oracle数据库访问客户端 sqldeveloper-19.2.1.247.2212-x64 下载

    Oracle数据库访问客户端 sqldeveloper-19.2.1.247.2212-x64 地址:https://pan.baidu.com/s/1iojCVxwXocyM8oObTf0xaw 这 ...

  7. 基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中

    在我的各种开发框架中,数据访问有的基于微软企业库,有的基于EFCore的实体框架,两者各有其应用场景,不过多的去比较.最近在使用SqlSugar的时候,觉得这个数据访问处理的组件确实很灵活,据说性能也 ...

  8. 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持

    在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...

  9. 数据库访问接口(ODBC、OLE DB、ADO)

    最近在学C#的数据库编程,对于数据库接口技术这块的知识一直比较模糊,网上查了不少资料,看了几天还是朦朦胧胧的,只能做些笔记再研究了. 我们都知道,“数据库”是指一组相关信息的集合,最早的计算机应用之一 ...

随机推荐

  1. Intellij IDEA快捷键大全

    Intellij IDEA快捷键大全 Intellij IDEA这个工具有些方面确实比较优秀,使用了一段时间的IntelliJ IDEA,感觉这个JAVA IDE非常好用!比如javascript自动 ...

  2. 设计模式之责任链模式 chainOfResp

    后面我们将学习设计模式里面的行为型模式 代码实现 /** * 抽象类 * @author bzhx * 2017年3月14日 */ public abstract class Leader { pro ...

  3. AngularJs MVC 详解

    为什么在前端也需要MVC 1.代码规模越来越大,切分职责是大势所趋 2.为了复用 3.为了后期维护方便 MVC的目的是为了模块化和复用 前端实现MVC的困难 1.操作DOM必须等整个页面加载完 2.多 ...

  4. Zabbix整合MegaCLI实现物理硬盘的自动发现和监控

    MegaCLI是LSI提供的用户空间管理RAID卡(LSI芯片)工具,适用于大多数的Dell服务器. MegaCLI介绍: http://zh.community.dell.com/techcente ...

  5. POJ 1364:King(差分约束)

    题目大意:判断是否存在一个长度为n的序列满足给出的不等关系. 分析: 将序列和转化成用两个前缀和之差来表示即可变为差分约束系统. 需要注意的是不能忘记n要加+1,因为还有一个特殊源点,自己因为n:=n ...

  6. 15个变态的Google面试题以及答案

    在当前经济形势不景气的情况下,谷歌招聘新员工是一件令人振奋的事,特别是对那些在当前金融风暴中渴望找到安全港的年轻经理们和软件开发商们来说是个好消息. 不过,也不要高兴太早,谷歌在招聘新员工时,更加青睐 ...

  7. shell if 条件语句实践

    对于if 语法 我们不过多做介绍,这里直接上实例,以开发rsync服务启动脚本为例,先对rsync做个简单介绍 [root@backup ~]# rpm -qa|grep rsync rsync--. ...

  8. webpack最佳入门实践系列(2)

    3.插件 在前端迅速发展的今天,许多没有太多技术含量并且感觉是在浪费时间的事情,就可以交给构建工具来做,例如:我们去手动创建index.html,手动引入打包好的js文件等操作,都可以叫个webpac ...

  9. 【HDOJ5517】Triple(二维BIT)

    题意:给你n个二元组<a,b>, m个三元组<c,d,e>. 如果d = e,那么<a,c,d>会组成一个新的三元组集合G. 问G中有多少个三元组在凸点.(没有其它 ...

  10. jQuery1.4与json格式兼容问题

    原文发布时间为:2010-10-10 -- 来源于本人的百度文章 [由搬家工具导入] 原来使用jQuery1.3.2编写的代码,更换到1.4.2后,使用jQuery.ajax()加载的json文件,不 ...