Oracle DB配置文件和连接池/缓存

问题描述 投票:0回答:1

我刚刚接管了一个项目,并注意到他们正在使用数据库配置文件作为用于连接缓存的服务帐户之类

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

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

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

oracle jdbc connection-pooling
1个回答
0
投票

就个人而言,我很难想像这样一种情况,我想拥有一个设置为connect_timeidle_time的中间层服务帐户。我认为某个地方的某人可能有合理的理由使用这种配置-也许强迫连接被频繁回收是使资源泄漏迅速解决问题的最痛苦的方法,例如,当您寻求修复时底层代码问题。但是这些肯定是我会仔细查看的设置。

[我已经看到并听说过有人想要为中间层服务帐户设置sessions_per_user的情况,其中中间层应用程序服务器管理员和数据库管理员之间的关系比较紧张。通常,中间层管理员会与DBA团队协商确定中间层连接池大小的上限,以确保数据库可以处理connection_pool_max * number_of_app_servers连接。如果中层管理员具有在不与DBA团队交谈的情况下拆分新的应用程序服务器场或提高连接池中允许的连接数量的历史记录,则DBA团队可能希望设置自己的限制来保护数据库。我宁愿解决通信问题,也不希望有单独的数据库限制。

© www.soinside.com 2019 - 2024. All rights reserved.