【问题标题】:Number of DB connection using使用的数据库连接数
【发布时间】:2013-08-02 02:31:02
【问题描述】:

我们的 Web 应用程序使用 spring、jpa、hibernate、oracle 和 java。在部署我们的 Web 应用程序时,它使用来自数据库的一定数量的连接。所以我需要找到 关注

  1. 可用连接总数
  2. 当前使用的连接数
  3. 空闲连接数。

有可能吗?任何帮助表示赞赏。提前致谢。当我在网上查看时,我想到了以管理员特权用户身份在 oracle db 中找到上述内容。但我需要在我们的应用程序或外部程序中执行此操作。

【问题讨论】:

  • 你在使用连接池吗?如果不是,则连接数等于 Hibernate 调用 DataSource#getConnection() 的次数,并且不会关闭生成的 Connection 对象。
  • 我们正在使用 ComboPooledDataSource
  • 那么连接数取决于配置。您的最大连接数设置是多少?
  • 我们的最大连接数是500。但是如何找到当前使用的连接数呢?
  • 你必须找到一些方法来引用连接池并检查它有多少 Connection 引用。

标签: java spring hibernate jpa oracle11g


【解决方案1】:

您正在使用连接池,因此您的配置设置中指定了最大连接数。

假设所有会话都使用一个用户名,并且没有其他会话使用相同的用户名

select count(*)
  from gv$session
 where username = <<username your application is using>>

将显示当前打开的会话数。

我不太确定在这种情况下连接“免费”对您意味着什么。我的猜测是从配置的最大会话数中减去打开的会话数,但我不确定这是否是您所追求的。

【讨论】:

    【解决方案2】:

    使用 MyOra 工具,该工具具有开发人员期望的有关 DB 的所有关键功能。 http://myorasql.com/ 并可以尝试使用以下 oracle 查询 http://blog.sergkazakov.com/2010/10/check-oracle-number-of-connections.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多