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. Careercup - Microsoft面试题 - 24308662

    2014-05-12 07:31 题目链接 原题: I have heard this question many times in microsoft interviews. Given two a ...

  2. Python框架之Django学习笔记(十一)

    话说上次说到数据库的基本访问,而数据库我们主要进行的操作就是CRUD,也即是做计算处理时的增加(Create).读取(Retrieve)(重新得到数据).更新(Update)和删除(Delete),俗 ...

  3. Aptana Studion出现 duplicate location重复定位报错

    1.下载SVN的时候出现报错 duplicate location 2.点击“available software sites”查看已可用的软件网站 3.在这里可以查看到SVN,勾选SVN复选框,点击 ...

  4. windows下SecureCRT无法使用Backspace(删除键)和上下左右键

    MongoDB Shell中退格键使用的问题. 利用SecureCRT工具访问linux的时候,在使用MongoDB的交互式shell的时候,退格键(Backspace)无法使用,导致无法修改输入的字 ...

  5. docker端口的映射顺序

    sudo docker run -d -p 8080:80 --name static_web jamtur01/static_web nginx -g "dameon off;" ...

  6. 设计模式(一)单例模式:2-懒汉模式(Lazy)

    思想: 相比于饿汉模式,懒汉模式实际中的应用更多,因为在系统中,“被用到时再初始化”是更佳的解决方案. 设计思想与饿汉模式类似,同样是持有一个自身的引用,只是将 new 的动作延迟到 getinsta ...

  7. python在windows下UnicodeDecodeError的解决方法

    之前在windows下使用python调用某些模块时都会报错,像这样: C:\Documents and Settings\Administrator>python -m CGIHTTPServ ...

  8. 减法要用 signed 型

    今天调试一个程序,因为Feedback是电流采样值,Setpoint是PWM值,这两个不可能是负值.所以以为Setpoint和Feedback这两个变量都可以设置为u16型(unsigned int) ...

  9. kubeadm安装k8s测试环境

    目标是搭建一个可测试的k8s环境,使用的工具 kubeadm, 最终一个master节点(非高可用),2个node节点. 环境以及版本 Centos7.3 kubeadm 1.11.1 kubelet ...

  10. web标准,可用性和可访问性

    web标准,简单的说,是指html,css,JavaScript三者的分离. 网页由三部分组成:结构,表现和行为.对应的标准分为三方面: 1.结构化标准语言XHTML和XML2.表现标准语言主要包括c ...