【问题标题】:How to handle connection pooling in Oracle如何在 Oracle 中处理连接池
【发布时间】:2022-01-25 14:02:16
【问题描述】:

我们有很多需要连接到数据库的微服务。 Oracle 和 PostgreSQL 只能处理有限数量的连接。 PostgreSQL 使用 PgBouncer 解决了这种情况,因此应用程序连接到这个处理连接池的 URL。 Oracle中有类似的东西吗?我发现的是 oracle UCP 但我认为这仍然是在应用程序中而不是在数据库中。

【问题讨论】:

  • 真正的连接池必须由客户端管理,因为它需要与应用程序进行模块级集成才能工作。 Oracle 共享服务器架构将是最接近的服务器端等效架构。它非常适合需要节省资源并支持大量短时间同时连接的情况。如果您有企业版,Oracle Connection Manager 还可以提供一些连接整合。
  • 检查DRCP
  • 我同意 DRCP 是首先要看的东西。您可能还想在应用程序中使用 UCP 池,因此不需要重新创建来自应用程序的连接。如果您想在 Oracle 中使用真正的中间层池解决方案,请使用 CMAN-TDM

标签: oracle spring-boot connection-pooling


【解决方案1】:

如果您的客户端驱动程序不是太旧(oracle-12 之前),您可以使用 Oracle 数据库驻留连接池。 见https://docs.oracle.com/en/database/oracle/oracle-database/19/jjdbc/database-resident-connection-pooling.html#GUID-D4F9DBD7-7DC6-4233-B831-933809173E39

数据库常驻连接池 数据库驻留连接池 (DRCP) 是服务器中的一个连接池,在许多客户端之间共享。您应该在活动连接数远低于打开连接数的连接池中使用 DRCP。

特别是数据库管理员会喜欢这个,因为他们可以很好地控制数据库的点击。

【讨论】:

  • 非常感谢,当我们的应用程序中有 2PC 事务时使用它是否安全?
  • 我没有对此进行测试,但如果所有 tx 行为正确,我希望它会。否则你会遇到一个错误。测试一下。
猜你喜欢
  • 2015-06-18
  • 2017-10-26
  • 2017-10-16
  • 1970-01-01
  • 2021-03-28
  • 2015-06-15
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
相关资源
最近更新 更多