【问题标题】:Oracle DB Profile and Connection Pooling / CachingOracle 数据库配置文件和连接池/缓存
【发布时间】:2020-02-29 03:56:57
【问题描述】:

我刚接手一个项目,发现他们正在使用数据库配置文件作为用于连接缓存的服务帐户

ALTER PROFILE APP_PROF LIMIT 
    SESSIONS_PER_USER          100 
    CONNECT_TIME               640 
    IDLE_TIME                  15
   ...

我相信这就是为什么我们有时会获得过时的连接,以及“ORA-02399:超出最大连接时间,您正在被注销”。

我的问题是:对于缓存连接的中间层应用程序,是否有充分的理由将此类配置文件用于具有此类限制的服务帐户?

【问题讨论】:

    标签: oracle jdbc connection-pooling


    【解决方案1】:

    就我个人而言,我很难想象这样一种情况,我想拥有一个设置了connect_timeidle_time 的中间层服务帐户。我想某个地方的某个人可能有合理的理由使用这样的配置——例如,当您希望修复时,强制频繁回收连接可能是快速将创可贴放在资源泄漏上的最不痛苦的方法底层代码问题。但这些肯定是我会仔细研究的设置。

    我见过并听说过有人想为中间层服务帐户设置sessions_per_user,而中间层应用服务器管理员和数据库管理员之间的关系很紧张。通常,中间层管理员会在与 DBA 团队协商后设置中间层连接池的大小上限,以确保数据库可以处理connection_pool_max * number_of_app_servers 连接。如果中间层管理员曾在未与 DBA 团队交谈的情况下启动新的应用服务器场或增加连接池中允许的连接数,则 DBA 团队可能希望设置自己的限制以保护数据库。我宁愿解决通信问题也不愿有单独的数据库限制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 2018-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多