我们刚刚遇到了我们网站的问题。我们正在运行Oracle 12c数据库并在Windows 12 Azure服务器上使用IIS 8。 ODP.NET是我们使用的提供商。该网站使用C#构建,并作为64位Web应用程序运行。
无论出于何种原因,Oracle都没有发布我们的连接,过了一段时间我们遇到了Oracle错误:
ORA-12520: TNS:listener could not find available handler for requested type of server
我们审核了所有连接字符串,添加:
Min Pool Size=10;Max Pool Size=100;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5; Decr Pool Size=2
我们将Oracle配置中定义的MAX进程和会话数增加了一倍以上。
它的帮助,但只是推迟了问题。
现在我们所做的是一个批处理文件,每10分钟运行一次,并杀死30分钟后仍然存在的所有非活动会话(ALTER SESSION KILL .... IMMEDIATE)。
我们在哪里,我们已启用ODP.NET跟踪并等待明天查看它,但到了这个时候,会导致这个问题的原因是什么?
答案 0 :(得分:2)
最后我在ODP.NET Trace中找到的是
TID: dac (ERROR) Oracle error code=28002; Oracle msg=ORA-28002: the password will expire within 6 days
似乎此错误不会停止对数据库的访问,但会在池中挂起会话。
在我们解决之后,一切都恢复了正常。