Oracle数据库配置文件和连接池/缓存

Oracle数据库配置文件和连接池/缓存,oracle,jdbc,connection-pooling,Oracle,Jdbc,Connection Pooling,我刚刚接管了一个项目,并注意到他们正在使用DB配置文件作为连接缓存使用的服务帐户 ALTER PROFILE APP_PROF LIMIT SESSIONS_PER_USER 100 CONNECT_TIME 640 IDLE_TIME 15 ... 我相信这就是为什么我们有时会遇到陈旧的连接,以及“ORA-02399:超过最大连接时间,您正在注销” 我的问题是:对于缓存了连接的

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

ALTER PROFILE APP_PROF LIMIT 
    SESSIONS_PER_USER          100 
    CONNECT_TIME               640 
    IDLE_TIME                  15
   ...
我相信这就是为什么我们有时会遇到陈旧的连接,以及“ORA-02399:超过最大连接时间,您正在注销”


我的问题是:对于缓存了连接的中间层应用程序,有没有什么好的理由让这样的配置文件用于具有这样限制的服务帐户,我很难想象这样一种情况:我想要一个中间层服务帐户,设置
connect\u时间
idle\u时间
。我想可能有人在某个地方有合理的理由使用这样的配置——例如,强制连接频繁地被回收是最快的方法,可以快速地将一个创可贴放在资源泄漏上,例如,当你寻找修复底层代码问题的时候。但这些肯定是我会仔细观察的设置

我曾经看到和听说过这样的案例,有人想为中间层服务帐户设置每个用户的会话,而中间层应用程序服务器管理员和数据库管理员之间的关系很紧张。通常,中间层管理员在与DBA团队协商时为中间层设置连接池的大小以确保数据库能够处理<代码> CalnTythPoLoMax * NoMyByOpAppServer 连接。如果中间层管理员有在没有与DBA团队交谈的情况下启动新的应用服务器场或增加连接池中允许的连接数的历史记录,DBA团队可能希望设置自己的限制以保护数据库。我宁愿解决通信问题,也不愿有单独的数据库限制