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. 【Best Time to Buy and Sell Stock III 】cpp

    题目: Say you have an array for which the ith element is the price of a given stock on day i. Design a ...

  2. python - web自动化测试 - 元素操作 - 等待

    # -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: wait.py @ide: PyCharm Community Edi ...

  3. caffe的python接口提取resnet101某层特征

    论文的caffemodel转化为tensorflow模型过程中越坑无数,最后索性直接用caffe提特征. caffe提取倒数第二层,pool5的输出,fc1000层的输入,2048维的特征 #codi ...

  4. Leetcode 556.下一个更大元素III

    下一个更大元素III 给定一个32位正整数 n,你需要找到最小的32位整数,其与 n 中存在的位数完全相同,并且其值大于n.如果不存在这样的32位整数,则返回-1. 示例 1: 输入: 12 输出: ...

  5. sqlserver 表值函数

    一.单语句表值函数 ALTER function [dbo].[uf_get_jxc_da_sum](@dt char(8),@dt2 char(8)) RETURNS table as return ...

  6. CSS简单的四种引入方式

    CSS一共有四种引入方式 (1)最简单的两种方式是直接在html标签里面引入,或者在html文件前面声明,以下是简单的代码示例 <!DOCTYPE html> <html lang= ...

  7. linux自动执行指令crontab和at

    目录 1 at和crontab指令 2 batch 一.at与crontab的区别 运行方式不同 at只运行一次,crontab循环运行 依赖的服务不同 at 对应的服务是 atd crontab 对 ...

  8. 观15级K班团队作业有感

    1.指尖加密 特点:通过可移动设备手机参与电脑文件的解密,使加密更加安全. 缺点:跟柯逍老师的想法差不多,UI简陋,操作不是很友好,或许可以加一个帮助文档. 2.youreyes 特点:可以检测路过的 ...

  9. 实现段落文字两端对齐的css样式

    有时候网站中的文字比较多,虽然为父元素设置了宽度,但是总是会出现两端参差不齐的情况,看起来不整齐.其实实现段落的两端对齐,只需要设置两个css 样式即可. .demo{ text-align: jus ...

  10. SCU 4438 Censor(哈希+模拟栈)

    Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text \(p\). He ...