设为首页 加入收藏

TOP

WARNING: inboundconnection timed out (ORA-3136)(一)
2014-11-24 18:55:36 】 浏览:4649
Tags:WARNING: inboundconnection timed out ORA-3136

ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程


这种错误一般是连接满了,但是被他们重启以后连接又报改错误,感觉增大连接用处不大。登录到后台alert_jscn.log日志,看到如下错误:


Wed Apr 4 15:04:25 2012


WARNING: inboundconnection timed out (ORA-3136)


Wed Apr 4 15:04:25 2012


WARNING: inboundconnection timed out (ORA-3136)


Wed Apr 4 15:04:25 2012


WARNING: inboundconnection timed out (ORA-3136)


Wed Apr 4 15:04:25 2012


WARNING: inboundconnection timed out (ORA-3136)


下面内容参考网络


参考metalink上的345197.1文章,内容如下:



Symptoms



If applications are longer than 60 secs to authenticate with theOracle database, the errors occur.The following may be seen in the alert log:WARNING: inbound connection timed out (ORA-3136)


SQLNET.INBOUND_CONNECT_TIMEOUT is set to a value in seconds anddetermines how long a client has to provide the necessary authenticationinformation to a database.


INBOUND_CONNECT_TIMEOUT_listenernameis set to a value in seconds and determines how long a client has to completeits connect request to the listener after the network connection has beenestablished.


To protect both the listener and the database server, OracleCorporation recommends setting INBOUND_CONNECT_TIMEOUT_listenername incombination with the SQLNET.INBOUND_CONNECT_TIMEOUT parameter.



Cause



Whenever default timeouts are assigned to a parameter, there may becases where this default does not work well with a particular application.However, some type of timeout on the connection establishment is necessary tocombat Denial of Service attacks on the database. In this case, SQLNET.INBOUND_CONNECT__TIMEOUTand INBOUND_CONNECT_TIMEOUT_listenername were given default values of 60seconds in Oracle 10.2. It is thesetimeout values that can cause the errors described in this note.


Also note thatit is possilbe the reason the database is slow to authenticate, may be due toan overloaded Oracle database or node.



Solution


Set theparameters SQLNET.INBOUND_CONNECT_TIMEOUT andINBOUND_CONNECT_TIMEOUT_listenername to 0 (indefinite) or to an approprateva lue for the application yet still combat DOS attacks (120 for example).



Theseparameters are set on the SERVER side:


listener.ora:INBOUND_CONNECT_TIMEOUT_listenername


sqlnet.ora: SQLNET.INBOUND_CONNECT_TIMEOUT



Further tuning of these parameters may beneeded is the problem persists



Metalink上给出的解决方案如下:


1. set INBOUND_CONNECT_TIMEOUT_=0 inlistener.ora


2. set SQLNET.INBOUND_CONNECT_TIMEOUT = 0in sqlnet.ora of server.


3. stop and start both listener anddatabase.


4. Now try to connect to DB and observe thebehaviour



以下是Oracle官方文档的一段:



SQLNET.INBOUND_CONNECT_TIMEOUT


Use theSQLNET.INBOUND_CONNECT_TIMEOUT parameter to specify the time, in seconds, for aclient to connect with the database server and provide the necessaryauthentication information.


If the clientfails to establish a connection and complete authentication in the timespecified, then the database server terminates the connection. In addition, thedatabase server logs the IP address of the client and an ORA-12170: TNS:Connecttimeout occurred error message to the sqlnet.log file. The client receiveseither an ORA-12547: TNS:lost contact or an ORA-12637: Packet receive failederror message.


Without thisparameter, a client connection to the database server can stay openindefinitely without authentication. Connections without authentication canintroduce possible denial-of-service attacks, whereby malicious clients attemptto flood database servers with connect requests that consume resources.

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle 日志文件、参数文件、控制.. 下一篇Oracle 11g修改数据库用户名

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目