zoukankan      html  css  js  c++  java
  • 解决weblogic错误:java.sql.SQLRecoverableException: IO Error: Broken pipe

    首先说一下系统基础架构:

                   服务器:weblogic11g集群

                    数据库:oracle数据库Rac

    出错信息: 1.java.sql.SQLRecoverableException: Closed Connection

                  2.Test "SELECT 1 FROM DUAL" set up for pool "mds-soa" failed with exception: "java.sql.SQLRecoverableException: IO Error: Broken pipe"

    日志信息是以上两种,可以看出是输入源的问题。

    解决思路及步骤:1.check 在weblogic的jndi中的数据源是否能够正常连接。核实以后;

                           2.检查数据库服务器是否正常。检查后,发现一台数据库服务器down了。

                              然后检查业务数据,发现,在down之后,weblogic服务器端已经连续报了两天这种错误。

                              这种情况非常不符合常理;

                          3.我们首先怀疑的是RAC环境安装配置有问题,没有在集群中的一台数据库down了之后及时的切换。

                             经排查,不可能是这种原因。

                          4.再次返回到weblogic集群配置中,我们仔细检查数据源的配置,一次点击Domain->Service->Data Source->Configuration->Connection Pool

                              在Advance中,我们发现了一个配置“Test Connections On Reserve”,其属性值为false

                               此属性的含义为:“使 WebLogic Server 能够在将连接提供给客户机之前对连接进行测试。(要求指定“测试表名称”。)此测试在响应客户机对池中的连接的 请                                                   求时将添加短时间的延迟,但会确保客户机收到有效连接。MBean 属性 (不适用于应用程序模块)”

                              此时,改变改属性值为true,问题解决

     此属性若为true,则在调用jndi的方式调用数据库的时候,会首先检查“SQL SELECT 1 FROM DUAL”,若值不为null,则weblogic将会和RAC中的一台数据库服务器建立连接;若值为null,则RAC回重新分配其他的服务器。

                              

  • 相关阅读:
    VisualC#的菜单编程
    利用Mutex实现应用程序的单实例运行
    C#下实现动态系统托盘图标
    C#中TreeView组件使用方法初步
    VisualC#中实现窗体间的数据传递之一
    AJAX在VS2005中的简单应用
    LiteORM学习一:EntityObject 设计
    读书笔记:人月神话的博客积极的心态读后感
    LiteORM学习三:查询设计
    LiteORM学习二:数据库设计
  • 原文地址:https://www.cnblogs.com/qizhelongdeyang/p/4372404.html
Copyright © 2011-2022 走看看