Oracle数据库的连接超时设置 [英] Settings of connection timeout for Oracle database
问题描述
一段时间不活动,到oracle数据库的连接被断开,这会导致错误-> end-of-file on communication channel
.
For some period time of inactivity, connection to oracle database are dropped and this leads to error - > end-of-file on communication channel
.
1)客户端计算机上是否有任何oracle设置(sqlnet.ora或某种环境变量)可以指定连接超时,并且客户端与客户端之间有所不同?还是可能是某些心跳"功能的客户端设置(客户端以一定间隔发送数据包),从而阻止了防火墙断开连接?
1) Is there any oracle settings on client machine (sqlnet.ora or some kind of environment variables) which could specify connection timeout and differs from client to client ? Or it could be client settings of some "heartbeat" feature (client sends packets in some interval), which prevent connection to be dropped by firewall ?
2)在哪里可以找到服务器机器上因不活动而导致连接超时的设置?是否可以在不获得对oracle主机的物理访问的情况下从Sql开发人员看到此设置?
2) Where I can find setting on server machine for connection timeout due inactivity ? Is it possible to see this setting from Sql developer without acquiring physical access to oracle host ?
3)由于不活动而将Oracle Sql Developer与Oracle服务器断开连接是正常行为吗?
3) Is it normal behavior for Oracle Sql Developer to be disconnected from Oracle server due inactivity ?
推荐答案
没有客户端设置会导致一段时间后导致ORA-03113错误的连接断开.而且数据库服务器上没有设置会导致连接超时导致ORA-03113错误.
There is no client setting that would cause a connection to be dropped leading to an ORA-03113 error after some time. And there is no setting on the database server that would cause a connection to be timed out leading to an ORA-03113 error.
服务器可以通过设置 sqlnet.expire_time设置.这将导致服务器定期发送探测数据包,以验证客户端是否仍在运行.
The server can enable dead connection detection (DCD) by setting the sqlnet.expire_time setting in the server's sqlnet.ora. That will cause the server to periodically send a probe packet to verify that the client is still up.
Oracle永远不会由于不活动而丢失连接,并出现ORA-03113错误.可以将Oracle配置为删除空闲连接,但这会产生另一个错误.如果收到ORA-03113错误,则说明防火墙导致了连接断开,或者客户端计算机和服务器之间的网络出现了其他故障.
Oracle will never drop a connection due to inactivity with an ORA-03113 error. It is possible to configure Oracle to drop idle connections but that would generate a different error. If you are getting an ORA-03113 error, either the firewall is causing the connection to be dropped or there is some other hiccup in the network between the client machine and the server.
这篇关于Oracle数据库的连接超时设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!