精华内容
下载资源
问答
  • 有客户说,他们通过connection pool监控发现weblogic92连接池中当前连接数(current capacity)小于初始连接数(initial capacity)。从现象上来说,给客户的直觉是:连接池初始化有问题,没有帮助他们初始化他们需要的...

     

     有客户说,他们通过connection pool监控发现weblogic92连接池中当前连接数(current
    capacity)小于初始连接数(initial
    capacity)。从现象上来说,给客户的直觉是:连接池初始化有问题,没有帮助他们初始化他们需要的那么多连接。但他同时发现,几个connection
    pool中,其他pool没有问题。拿到问题,我也怀疑这可能是weblogic的一个bug,但随后从客户发送过来的日志中发现出问题的connection被disable过。调查后发现问题的确和这个pool被disable过有关,那么为什么pool被disable后,会出现这样的问题呢?


            首先我们看看这个pool为什么会被disable?
    手工强制suspend连接池、数据库关闭、网络不稳定等因素都可能成为connection
    pool被disable的诱因。从客户的日志中,我能看到大量的如下异常,
    1:java.net.SocketException: 管道已断开
    (errno:32)
    2:weblogic.common.resourcepool.ResourceDisabledException: Pool
    JDBC Data Source-0 is disabled, cannot allocate resources to
    applications.
           
             根据上面的异常,首先跟客户确认是否存在过数据库关闭、强制disable
    connection的操作,这些都被客户否定了,那么最大可能的原因就是网络不稳定,网络是好时坏的话,很容易造成weblogic连接池中到database
    server的连接中断,从而导致connection pool被disable。

             那么为什么连接中断会引起connection
    pool被disable呢?这里要谈到两个参数:CountOfTestFailuresTillFlush、CountOfRefreshFailuresTillDisable。这两个参数在weblogic连接池实现中由于控制是否、何时flush或disable连接池,两个都是指连续几次失败操作(test、refresh)后去flush或disable
    connection
    pool。注意:这是说的是连续,而不是间断,每次成功操作(test、refresh)后,这两个值都会被reset成0。默认情况下这两个值均为2,即连续失败3(2+1)次后,connection
    pool会被flush或disable。两者的区别在于,flush用于清空connection
    pool中的所有连接(通常都是中断的connection),当pool状态仍保持在running状态,而对于后者,connection
    pool将会变成suspend。前者对于客户端而言,还可以从pool中reserve
    connection,reserve时,weblogic会尝试重现创建连接,如果创建连接成功,那么客户端就可以拿到可用的连接。而对于一个处于suspend状态,客户端reserve
    connection的请求会直接被拒绝,收到的异常如下:
    weblogic.common.resourcepool.ResourceDisabledException:
    Pool JDBC Data Source-0 is disabled, cannot allocate resources to
    applications

            一个被disable的connection
    pool我们需要手工resume吗?比如数据库因为某些原因而突发关闭,数据库恢复后,我们是否需要手工去resume这个pool?不需要,weblogic内部实现了连接池的自我健康检查功能,对于disable的connection
    pool,weblogic会每隔5秒钟(DEFAULT_SCAN_UNIT)去做一次连接尝试(尝试创建一个物理连接,如果连接成功,那么这个连接会被直接放入连接池中,我们的问题就处在这儿),我们通过下面的复现过程来看看具体原因:

     

     

     

     

     

     

     

     

     

     

     

     

    http://www.blogjava.net/fjin/archive/2009/08/29/292494.html

     

    转载于:https://www.cnblogs.com/kunpengit/archive/2012/08/23/2652097.html

    展开全文
  • weblogic部署连接池

    千次阅读 2013-05-13 08:45:05
    weblogic8.14下建立pool过程中,点击Test Driver Configuration,提示“Connection successful,建立完毕后,点击“Test Pool”却报如下错误:  Warning! Connectivity to backend database not ...

    在weblogic8.14下建立pool过程中,点击Test Driver Configuration,提示“Connection successful,建立完毕后,点击“Test Pool”却报如下错误: 
    Warning! Connectivity to backend database not verified. This is either because required connection pool attributes "TestConnectionsOnReserve" or "TestConnectionsOnRelease" have not been enabled, or an invalid value has been specified for attribute "TestTableName". Please check the server log for more details.. 

    解决方法:weblogic的控制台中,配置pool(在Configuration标签下的Connections下的Advanced Options下)选择Test Reserved Connections,Test Table Name默认即可。


    配置-->连接-->高级选项-->测试保留的连接(选中)











    展开全文
  • weblogic连接池配置

    2015-12-04 10:10:29
    weblogic连接池配置说明, weblogic8.1连接池配置及简单优化
  • weblogic连接池连接数优化设置

    千次阅读 2014-07-21 18:32:43
  • Oracle WebLogic 10.3 连接池参数配置详解 JDBC 数据源配置:常规 Name Description Name 可在 WebLogic 域中标识该数据源的唯一名称。 JNDI Name 此数据源绑定到的 ...

    Oracle WebLogic 10.3 连接池参数配置详解

    JDBC 数据源配置:常规

    Name

    Description

    Name

    可在 WebLogic 域中标识该数据源的唯一名称

    JNDI Name

    此数据源绑定到的 JNDI 路径。默认情况下,JNDI 名称就是数据源的名称。

    要为数据源指定多个 JNDI 名,请在单独的行上分别输入每个 JNDI 名。

    查找 JNDI 路径的应用程序将得到与此数据源对应的 javax.sql.DataSource 实例。

    Row Prefetch Enabled

    启用通过一次服务器访问“预取”(即从服务器发送到客户端)多个行。

    当外部客户端通过 WebLogic Server 使用 JDBC 访问数据库时,行预取功能可以一次性地访问服务器来为客户端提取多行,从而提高性能。当客户端和 WebLogic Server 位于同一 JVM 中时,WebLogic Server 将忽略此设置且不使用行预取功能。

    Row Prefetch Size

    如果启用行预取,则指定为客户端预取的结果集行数。

    最佳预取大小取决于此查询的具体设置。通常在达到特定值之前,增加此数字时性能会提高。达到此特定值后,即使再增加此数字,也不会使性能有任何显著的提高。如果超过 100 行,提高性能的可能性将微乎其微。通常默认值即适用于大多数情况。

    最小值: 2

    最大值: 65536

    Stream Chunk Size

    指定流量数据类型的数据块大小。

    流数据类型(例如,调用 getBinaryStream() 而得到的数据类型)将根据需要以按大小排列好的数据块形式从 WebLogic Server 发送到客户端。

    最小值: 1

    最大值: 65536

     

     

     

    JDBC 数据源配置: 连接缓冲池

    配置选项

    Name

    Description

    URL

    要连接到的数据库的 URL。URL 的格式随 JDBC 驱动程序的不同而变化。

    Driver Class Name

    用于在连接缓冲池中创建物理数据库连接的 JDBC 驱动程序类的完整包名。(请注意,此驱动程序类必须存在于将其部署到的任何服务器的类路径中。)

    Properties:

    传递给创建物理数据库连接时使用的 JDBC 驱动程序的属性的列表。

    例如: server=dbserver1。请分别在单独的行上列出各个 property=value 对。

    要启用驱动程序级功能,请将驱动程序属性及其值添加到“属性”列表。WebLogic Server 设置驱动程序的 ConnectionPoolDataSource 对象上的“属性”列表中的驱动程序级属性。

     

    注意:

    由于安全方面的原因,当 WebLogic Server 以生产模式运行时,您不能在此属性列表中指定数据库密码。如果在此属性列表中指定密码,那么数据源部署将会失败。要替代此安全检查,请在启动此服务器时使用命令行参数“weblogic.management.allowClearTextPasswords”。

    Password

    创建物理数据库连接时传递给 JDBC 驱动程序的密码属性。

    该值以加密形式存储在描述符文件及显示在“管理控制台”中。

     

    Confirm Password

    请确认密码。

    Initial Capacity

    要在创建连接缓冲池时创建的物理连接数。

    如果无法创建这一数量的连接,创建此连接缓冲池的操作将会失败。

    此连接数也是连接缓冲池将保持的最小可用物理连接数。

    最小值: 0

    最大值: 2147483647

    Maximum Capacity

    此连接缓冲池可容纳的最大物理连接数。

    Capacity Increment

    将新连接添加到连接缓冲池时创建的连接数。

    不再有可用的物理连接来满足连接请求时,WebLogic Server 会创建该数量的附加物理连接并将它们添加到连接缓冲池中。

    Statement Cache Type

    用于维护存储在语句缓存中的准备就绪的语句的算法。

    选项有:

    §  LRU - 当使用新的预处理或可调用语句时,替换缓存中最近最少使用的语句。

    §  FIXED - 缓存前若干个固定数量的预处理和可调用语句。

    Statement Cache Size

    存储在缓存中的“准备就绪”语句和可调用语句的数量。(这样可能会提高服务器性能。)

    WebLogic Server 可以重用缓存中的语句而无需重新加载它们,这样便可提高服务器性能。连接缓冲池中的每个连接都有其自己的语句缓存。

    将语句缓存的大小设置为 0 将会关闭该语句缓存。

    高级配置选项

    名称

    描述

    Test Connections On Reserve

    使 WebLogic Server 能够在将连接提供给客户端之前对连接进行测试。(要求指定“测试表名称”。)

    此测试在响应客户端对缓冲池中的连接的请求时将添加短时间的延迟,但会确保客户端收到有效连接。

    对于使用故障转移算法的在多数据源中使用的连接缓冲池,该测试是必需的。

    Test Frequency

    WebLogic Server 对未用连接进行测试的间隔秒数。(要求指定“测试表名称”。)未通过测试的连接将被关闭,然后将它们重新打开以重新建立有效的物理连接。如果测试再次失败,则此连接将被关闭。

    如果设置为 0,定期测试将被禁用。

    Test Table Name

    测试物理数据库连接时使用的数据库表名。指定“测试频率”和启用“测试保留的连接数”时需要此名称。

    用于测试连接的默认 SQL 代码为“select count(*) from TestTableName”

    大多数数据库服务器会优化此 SQL 以避免对表进行扫描,但仍然建议将“测试表名称”设置为已知包含极少的行或不包含行的表的名称。

    如果“测试表名称”以“SQL ”开头,则此开始标记后面的字符串剩余部分将被视为用于测试连接的 SQL 语句文字而非标准查询。

    Seconds to Trust an Idle Pool Connection

    在将连接传递到应用程序之前或定期连接测试过程期间,WebLogic Server 相信连接仍然有效并将跳过连接测试时使用连接的秒数。

    此选项是一种最佳选择,可以最大程度地减少连接测试对性能造成的影响(特别是在流量很大的时候)。

    最小值: 0

    最大值: 2147483647

    Shrink Frequency

    在收缩为满足需要而增大了的连接缓冲池前需等待的秒数。

    如果设置为 0,收缩将被禁用。

    最小值: 0

    最大值: 2147483647

     

    Init SQL

    要执行的、将初始化新建物理数据库连接的 SQL 语句。以 SQL 后跟一个空格作为语句的开头。

    如果“初始 SQL”值以“SQL ”开头,则此开始标记后面的字符串剩余部分将被视为用于初始化数据库连接的 SQL 语句文字。如果“初始 SQL”值不以“SQL ”开头,该值将被视为表格的名称,并会使用下列 SQL 语句来初始化连接:
    “select count(*) from InitSQL”

    表 InitSQL 必须存在且此连接的数据库用户必须能够访问它。大多数数据库服务器会优化此 SQL 以避免对表进行扫描,但仍然建议将 InitSQL 设置为已知包含极少的行或不包含行的表的名称。

    Connection Creation Retry Frequency

    建立数据库连接尝试的间隔秒数。

    如果不设置此值,则在数据库不可用的情况下,创建数据源的操作将失败。如果已设置此值且在创建数据源时数据库不可用,则在您指定的秒数之后,WebLogic Server 将重新尝试在缓冲池中创建连接,并会不断尝试创建连接,直到创建成功。

    如果设置为 0,连接重试将被禁用。

    最小值: 0

    最大值: 2147483647

    Login Delay

    创建每个物理数据库连接前的延迟秒数。此延迟支持不能快速连续处理多个连接请求的数据库服务器。

    在初始数据源创建及数据源生命周期内,每当创建物理数据库连接时都会有此延迟。

    最小值: 0

    最大值: 2147483647

    Inactive Connection Timeout

    保留连接处于不活动状态的秒数,该秒数过后 WebLogic Server 将收回该连接并将其释放回连接缓冲池。

    可以使用“非活动连接超时”功能收回泄漏的连接 - 未由应用程序显式关闭的连接。请注意,不能使用此功能来代替正常关闭连接。

    如果设置为 0,此功能将被禁用。

    最小值: 0

    最大值: 2147483647

    Maximum Waiting for Connection

    等待保留数据源的连接缓冲池中的连接时会阻塞线程的最大并发连接请求数。

    最小值: 0

    最大值: 2147483647

    Connection Reserve Timeout

    保留连接缓冲池中的连接的调用超时之前经过的秒数。

    如果设置为 0,则调用永远不会超时。

    如果设置为 -1,则调用会立即超时。

    最小值: -1

    最大值: 2147483647

     

    Statement Timeout

    此时间后当前正在执行的语句将超时。

    StatementTimeout 依赖于底层 JDBC 驱动程序支持。WebLogic Server 使用 java.sql.Statement.setQueryTimeout() 方法将指定的时间传递给 JDBC 驱动程序。如果 JDBC 驱动程序不支持此方法,可能会引发异常并导致超时值被忽略。

    值为 -1 时禁用此功能。

    值为 0 表示语句不会超时。

    最小值: -1

    最大值: 2147483647

    Ignore In-Use Connections

    即便仍在使用从缓冲池获取的连接,也能够将数据源关闭。

    Pinned-To-Thread

    PinnedToThread 是一个能够改善性能的选项,它启用执行线程以保持已进入缓冲池的数据库连接,即使在应用程序关闭逻辑连接之后。

    启用 PinnedToThread 后,WebLogic Server 将在应用程序首次使用某个执行线程保留连接时把连接缓冲池中的一个数据库连接固定到此线程。当应用程序使用完此连接并调用 connection.close()(此方法在其他情况下将把连接返回到连接缓冲池)时,WebLogic Server 将把该连接保留给执行线程,而不会将其返回连接缓冲池。当此后某个应用程序使用相同的执行线程请求连接时,WebLogic Server 将提供此线程已保留的这个连接。

    使用 PinnedToThread,当多个线程尝试同时保留一个连接时,连接缓冲池上不会发生锁定冲突,对于试图在有限个数的数据库连接中保留同一个连接的线程,也没有冲突。

    如果应用程序使用相同的执行线程同时保留连接缓冲池中的多个连接,WebLogic Server 将创建附加的数据库连接并同样将它们固定到此线程。

    Remove Infected Connections Enabled

    指定在应用程序使用底层供应商连接对象之后是否从连接缓冲池中删除连接。

    如果禁止删除已占用的连接,必须确保该数据库连接适合被其他应用程序重复使用。

    设置为 true(默认设置)时,应用程序关闭逻辑连接后将不把物理连接返回给连接缓冲池。将关闭并重新创建此物理连接。

    设置为 false 时,应用程序关闭逻辑连接后,物理连接将返回到连接缓冲池并可由该应用程序或其他应用程序重复使用。


    展开全文
  • 实时获取weblogic连接池使用情况;下载之后修改JmxWeblogicMonitor类中port、hostname、userName、passWord属性值(对应自己实际值);有注释很简单,不懂留言!
  • 我下了个weblogic10,在连接池中配置了oracle连接,初始化15个连接,可是我在oracle服务器上发现只建了5个连接,不知道是什么原因,是否因为我的weblogic没有license造成,或是其他原因,请有经验的兄弟指点一下。
  • Weblogic12c连接池监控

    千次阅读 2018-12-19 11:48:40
    1、登录控制台 ... ... ... 比如ds_crm_uop_cen1 ...5、Weblogic10.3版本 ...以上是Weblogic12c中文版本的截图,Weblogic10.3英文版本也类似。 注意:按住Ctrl可多选。 6、注意事项 生产环境模式必须点击:锁定并...
  • weblogic数据库连接池disabled

    千次阅读 2013-06-14 17:44:11
    现场报系统卡住了,看当时的weblogic(版本9.2)后台日志,有大量的连接池不可用,这种以前也见过,是网络状况不佳造成的,报错如下: weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common....
  • 进入某个连接池配置页,进入“连接“页,点击高级选项的”show“显示高级选项。 指定"测试频率"并启用"测试保留的连接"、"测试创建的连接"和"测试释放的连接"。 测试频率(Test Frequency):60秒 自动数据库连接...
  • weblogic连接池

    2019-06-28 17:41:00
    1.在 使用JDBC连接池的过程中,最常见的一个问题就是连接池泄漏问题。一个池里面的资源是有限的,应用用完之后应该还回到池中,否则池中的资源会被耗尽。 WebLogic Server提供了一个Inactive Connection Timeout选项...
  • weblogic数据库连接池无法释放连接

    千次阅读 2009-11-20 12:12:50
    2009-11-20-11:49:29 ERROR (JDBCExceptionReporter.java:78) - weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool SNTELECOM-DATASOURCE to allocate to applicati....
  • 在如下环境配置weblogic连接池连接DM数据库: 操作系统 win10系统 数据库版本 DM8 weblogic版本 weblogic14.4 具体步骤如下: 步骤1:安装jdk,安装完成后配置环境变量path,新建JAVA_HOME,新建...
  • Weblogic数据库连接池相关参数说明

    千次阅读 2016-10-10 15:52:09
    比较容易混淆的参数解释   1:Inactive Connection Time...这个字段的具体官方解释在10.3.0.0的版本如下,在XX系统中实际反映的情况是,如果该参数设置为30(即:30S)的话,在大并发下会出现weblogic认为的leaked的
  • 1、数据库连接池配置 2、连接池超时时间配置 连接池配置路径:services->jdbc->data Sources->configuration->connection Pool ->Advanced->Inactive connection Timeout 如下图 这里...
  • 比较容易混淆的参数解释   1:Inactive Connection ...这个字段的具体官方解释在10.3.0.0的版本如下,在XX系统中实际反映的情况是,如果该参数设置为30(即:30S)的话,在大并发下会出现weblogic认为的leaked的...
  • weblogic数据库连接池参数配置详解

    万次阅读 2013-01-06 16:21:34
    比较容易混淆的参数解释   1:Inactive Connection Time...这个字段的具体官方解释在10.3.0.0的版本如下,在XX系统中实际反映的情况是,如果该参数设置为30(即:30S)的话,在大并发下会出现weblogic认为的leaked的
  • weblogic连接池设置和监控

    万次阅读 2016-10-27 15:50:49
    1.weblogic连接池的线程可以设置初始值和最大值。 如,初始容量:5 最大容量:20 最大的容量,也就是说可以提供多少个连接,就是说数据库这个房子总共有多少个门,那么这个实例里就是有20个门。 初始值也就是...
  • Weblogic服务器最大连接数

    千次阅读 2017-01-22 15:34:00
    问题: ...1.先用ulimit -n 命令去查看连接数 我们服务器连接数 为系统默认的1024; 2.修改配置文件commEnv.sh,将连接数调大,至于调整多大,这个具体需要看各自的项目(这个可以调大去验证,直到...
  • 最近项目遇到棘手的问题,weblogic连接池不断增长导致连接爆满。 后来经过仔细查找发现weblogic连接池设置勾选了PinnedToThread 属性导致的,下面先看下官方对这个属性的介绍吧:   PinnedToThread 是一个能够...
  • 根据以往的经验,连接池出现泄漏情况一般为代码申请了一个数据库连接,使用后未正常关闭,导致连接一致被占用,应用运行长时间后,累积的泄漏连接越来越多,导致应用在申请数据库连接时出现无可用连接的情况,从而...
  • 记一次Weblogic连接池泄露的修复过程

    万次阅读 2016-04-13 16:42:01
    根据以往的经验,连接池出现泄漏情况一般为代码申请了一个数据库连接,使用后未正常关闭,导致连接一致被占用,应用运行长时间后,累积的泄漏连接越来越多,导致应用在申请数据库连接时出现无可用连接的情况,从而...
  • 原因:weblogic的数据库连接池参数配置不符合目前XX应用程序的实际情况,调整weblogic配置参数后,问题   解决。   后续优化:采用线程池取代目前的多线程无限新建的操作。   具体问题分析如下:   问题...
  • weblogic连接池爆满解决建议

    千次阅读 2018-08-31 09:21:20
    weblogic连接池泄漏 简单来说也可以看作项目Overloaded。就是程序运行过程中创建一个连接,而在执行之后有可能没有释放该连接,当然,还有其他某些原因。这样的话,不管你项目配置的最大连接是多少,终将会溢出。...
  • //JDBC方式:,可以使用这个方式进行一下连接测试 public static Connection getConnection(){ Connection conn = null; //不同的数据库,连接字符串会有所不同。 String url = "jdbc:postgresql://...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,873
精华内容 3,949
关键字:

weblogic最大连接池最大连接数