首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >死掉的应用程序进程会导致服务器阻塞吗?

问死掉的应用程序进程会导致服务器阻塞吗?
EN

Database Administration用户
提问于 2016-12-19 05:53:25
回答 1查看 39关注 0票数 1

我们使用由HPE制作的应用程序,该应用程序有时会完全阻塞。该应用程序附带Java 6,使用ojdbc6并连接到Oracle11。HPE声称,当我们的6台应用服务器中的一台在对中央表运行阻塞更新时死亡时,这将导致Oracle服务器等待无限有效地使所有服务器失效。我可以看到阻塞语句(我们的DBA向我展示了),并且可以看到所有服务器的连接池都在增长,直到达到定义的最大值。但我怀疑Oracle没有检测到死亡的连接。

有人能证实HPEs理论或给我一个提示来进一步诊断吗?

EN

回答 1

Database Administration用户

发布于 2016-12-19 09:24:15

默认情况下,Oracle数据库不会检测死客户端,您需要通过在SQLNET.EXPIRE_TIME中设置sqlnet.ora显式地启用它。

SQLNET.EXPIRE_时间

由于数据库没有检测到死客户端,所以它维护它的会话和锁,因此答案是肯定的,中断的应用程序进程会导致阻塞。

这个参数经常被误解。将此参数设置为10并不意味着死连接最多在10分钟内消失。这意味着数据库服务器每10分钟发送一次探测包。检测死客户端所需的时间也取决于操作系统。例如,在Linux上,一个已经建立的TCP连接是很有价值的,所以即使对方没有回答,服务器也会一直试图到达它。当数据库服务器发送探测包而没有收到答复时,它将再次尝试,总共15次(因为tcp_retries2内核参数),检测一个死客户端所需的总时间可能超过10分钟。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/158524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档