前几天,去客户现场部署系统,WEBLOGIC连接数据库使用RAC方式连接,好几个人弄了一下午愣是没搞定,总是报SID错误

开始一致认为是防火墙的原因,后来SSH登陆应用服务器后,再TELNET数据库服务器,是可以登陆的,而且本机的PLSQL也是可以连接到数据库的,网络部给了我们3个IP

第一个172.19.180.40,实例名是wdbd,这是虚拟出来的IP,之后的两个是172.19.190.43,wdb1,172.19.180.44,wdb2这两个是实际的IP地址,我们用PLSQL连接40的IP是可以正常登陆的,但是登陆后边两个是不行的,是启用了负载均衡的原因吧。

第二天弄好了,连接字符串的问题,网上找了很多都不对,后来又试了下边这种,可以连接到了,

这几天,应用程序后台一直报无法取得连数据库接池。但之前从来没有这个问题,迁移到Weblogic后才发生。
之后据了解,我们服务器上的Oracle 10G 是 RAC 的,即有两个节点。
两个节点 IP及实例名分别为:
10.1.43.11 stnic1
10.1.43.21 stnic2
配置数据源时 一直使用的是第一个 URL 及 实例名,配置完后,连接URL为:
jdbc:oracle:thin:@10.1.43.11:1521:stnic1
Weblogic 中显示的是但之后根据和DBA 的交流 发现当ORACLE是RAC配置的时候,连接池的 URL及实例名 应该用另一种写法:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.43.11)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.43.21)(PORT=1521))(FAILOVER=on)(LOAD_BALANCE=on))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=stnic)))
修改完成后,即将连接数平均分布在2台RAC上,而不是和之前一样将负载 全部加到1台机器上。

查阅文档后发现,配置多数据源还有另一种方法,即先添加 11 及 21 2个数据源
然后进入weblogic后台 ,添加数据源中 选择 多数据源,之后选择已经添加的 2个数据源即可。(一般都与RAC一起使用)
 
查询当前数据名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件。
查询当前数据库实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在参数文件中查询。
在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。

JDBC字符串中,配置的是实际的IP地址,不是虚拟出的IP地址。

记Weblogic采用RAC方式链接数据库遇到的问题的更多相关文章

  1. 理解class.forName() ---使用jdbc方式链接数据库时会经常看到这句代码

    目录(?)[-] 官方文档 类装载 两种装载方法的区别 不同的类装载器 是否实例化类 在jdbc链接数据库中的应用 资源   原文地址:http://yanwushu.sinaapp.com/clas ...

  2. Spring自带配置方式链接数据库(没有src新建文件,没有c3p0)

    1.配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:/ ...

  3. ADO.NET 连接方式和非链接方式访问数据库

    一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...

  4. (3)分布式下的爬虫Scrapy应该如何做-递归爬取方式,数据输出方式以及数据库链接

    放假这段时间好好的思考了一下关于Scrapy的一些常用操作,主要解决了三个问题: 1.如何连续爬取 2.数据输出方式 3.数据库链接 一,如何连续爬取: 思考:要达到连续爬取,逻辑上无非从以下的方向着 ...

  5. 性能测试——记weblogic 连接池满无法链接故障诊断过程

    记weblogic 连接池满无法链接故障诊断过程 前段时间公司负责建行的一个票据系统在,上线前几个分行试运行环境下,每天后台日志都会报oracle.jdbc.xa.OracleXAException, ...

  6. 非链接方式访问数据库--查询的数据集用Dataset来存储。

    private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...

  7. Tomcat通过JNDI方式链接MySql数据库

    原文:Tomcat通过JNDI方式链接MySql数据库 拷贝MySQL的JDBC驱动到Tomcat的lib路径下 配置全局数据源或者单个Web应用的局部数据源 局部数据源 在Tomcat的conf/C ...

  8. RAC集群数据库连库代码示例(jdbc thin方式,非oci)

    1.RAC集群数据库连库代码示例(jdbc thin方式,非oci):jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc ...

  9. ThinkPHP框架 基础 链接数据库

    在第一次成功访问应用入口文件的时候,会显示出一个系统默认的欢迎页面并自动在APPLication文件夹里生成三个文件夹,如下,第一次访问应用文件路径:localhost/tr/index.php   ...

随机推荐

  1. hbase问题总结

    一.客户端访问hbase时出现no further information 使用java api访问hbase时,一直连不上,查看日志发现以下错误: java.net.ConnectException ...

  2. 你应该知道的.net平台下socket异步通讯(代码实例)

    1,首先添加两个windows窗体项目,一个作为服务端server,一个作为客户端Client 2,然后添加服务端代码,添加命名空间,界面上添加TextBox控件 using System.Net; ...

  3. Selenium WebDriver-下拉框断言

    #encoding=utf-8 import unittest import time import chardet from selenium import webdriver class Visi ...

  4. 移动端click时间、touch事件、tap事件详解

    一.click 和 tap 比较 两者都会在点击时触发,但是在手机WEB端,click会有 200~300 ms,所以请用tap代替click作为点击事件. singleTap和doubleTap 分 ...

  5. API生命周期

    这一系列的文章,主要是结合了参加Oracle code之后对于API治理的记录收获,以及回到公司后,根据公司目前的一些现状,对此加以实践的过程总结 API生命周期通常包括八个内容,而安全策略贯穿始终. ...

  6. 【转】C# 中的"yield"使用

    C# 中的"yield"使用 yield是C#为了简化遍历操作实现的语法糖,我们知道如果要要某个类型支持遍历就必须要实现系统接口IEnumerable,这个接口后续实现比较繁琐要写 ...

  7. 谈谈Python中对象拷贝

    你想复制一个对象?因为在Python中,无论你把对象做为参数传递,做为函数返回值,都是引用传递的. 何谓引用传递,我们来看一个C++交换两个数的函数: void swap(int &a, in ...

  8. C++之Effective STL学习笔记Item14

    使用reserve来避免不必要的重新分配! The reserve member function allows you to minimize the number ofreallocations ...

  9. 【HNOI2011/bzoj2337】XOR和路径

    第二道高斯消元练习题 题意 一张无向图,从点 $1$ 出发每次随机选一条出边走,走到 $n$ 停止,求经过的所有边权异或和的期望. $n\le 100$ 题解 注意一点,异或和的期望 $≠$ 期望的异 ...

  10. 【前端学习笔记】2015-09-02~~~~ 关于filter()匹配的使用

    关于filter的使用先记录以下几点: 1.filter(':even')遍历所有元素,找到index为偶数的元素.. ps: filter(':odd')       odd----奇数   eve ...