• 记Weblogic采用RAC方式链接数据库遇到的问题


     

    前几天,去客户现场部署系统,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地址。

  • 相关阅读:
    postman接口测试01_下载安装
    Jenkins持续集成_05_参数化构建
    IntelliJ 中设置与Eclipse中 Ctrl+1 功能类似的快捷键
    JAVA 内部类
    Adobe Air 现在可支持X86的移动设备
    开发一些自动编写代码的工具可以增加效率吗?
    制作 Flex 悬停提示帮助文档(转)
    没什么好说的
    JDK,Tomcat,Maven,Mysql环境变量配置
    神器三、Android端神器东皇钟:天界之门
  • 原文地址:https://www.cnblogs.com/lcword/p/8017283.html
Copyright © 2020-2023  润新知