Weblogic JDBC 数据源提供 "No resources currently available in pool",只有 1 个事件连接

标签 weblogic datasource connection-pooling

我使用的是 weblogic JDBC 数据源,我的数据库是 Oracle 10g,下面是配置。

它曾经工作正常,但突然开始出现问题,请参阅下面的异常。

Weblogic JDBC datasource,java.sql.SQLException: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool

<?xml version="1.0" encoding="UTF-8"?> <jdbc-data-source

xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/920 http://www.bea.com/ns/weblogic/920.xsd"> XL-Reference-DS
jdbc:oracle:oci:@abc.COM oracle.jdbc.driver.OracleDriver user DEV_260908 password password dll ocijdbc10 protocol oci oracle.jdbc.V8Compatible true baseDriverClass oracle.jdbc.driver.OracleDriver
1 100 1 true SQL SELECT 1 FROM DUAL

DataJndi OnePhaseCommit



此异常发生在连接用户只有一个的开发环境中。

我知道这与池最大大小有关,但我也怀疑这可能是由于 Oracle,可能是 Oracle 无法创建连接。

我的问题:
  • 是否有任何调试/日志记录参数来启用数据源日志记录,以便我可以检查日志中获取、释放和未使用的连接数?
  • 如何检查特定用户的 oracle 连接限制?
  • 最佳答案

    听起来有些东西正在逐渐泄漏连接,正如您似乎怀疑的那样,并且您最终会达到 JDBC 最大池大小。我认为您不会首先达到 Oracle 限制,因为您会遇到 ORA 异常,并且也无法直接连接到数据库。

    您可以将数据源配置为从 WebLogic 控制台收集配置文件信息;从域结构菜单中,转到服务->JDBC->数据源,选择您的连接,然后转到配置下的诊断选项卡。但是您也许可以从池的基本统计数据中得到一个粗略的想法;转到 environment->servers,选择您的服务器,然后查看正在监控的 JDBC 选项卡。这显示了事件连接和高水位线。如果其中任何一个与您的最大池大小相同,那么这就是您正在泄漏的一个很好的迹象。

    从 Oracle 方面,您可以查看 show parameters sessions 允许的 session 数。 ,还需要查show parameters processes这可能会进一步限制它(其中一些是像 pmon 这样的内部进程所需要的)。您可以通过类似 select count(*) from v$session where username = 'DEV_260908'; 的内容查看您有多少打开的连接。 .基于错误,我不希望它非常接近 session /进程限制,但应该与控制台的事件连接计数相匹配。

    关于Weblogic JDBC 数据源提供 "No resources currently available in pool",只有 1 个事件连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676286/

    相关文章:

    maven - Weblogic fastswap webinf/lib 模块

    weblogic - CentOS 与 WebLogic 与 RHEL?

    java - 维护 Camel Route 内的数据库连接

    google-cloud-platform - 尝试从 Google Drive 电子表格访问 BigQuery 表源时出现 Google Data Studio 错误

    tomcat - 如何查找在 Spring Boot 应用程序中创建的 JDBC 连接池线程?

    java - EJB 事务回滚后自动重试

    servlets - Weblogic 10.3 - Servlet 失败并出现异常

    java - spring3 ibatis2.x 多数据源

    java - Neo4j Bolt 驱动程序连接池

    java - 分片环境下如何管理DB连接池?