最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

WARNING:inboundconnectiontimedout(ORA-3136)

来源:懂视网 责编:小采 时间:2020-11-09 11:34:13
文档

WARNING:inboundconnectiontimedout(ORA-3136)

WARNING:inboundconnectiontimedout(ORA-3136):ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程 在家接到同事电话,说数据库连不上,连接报如下错误: ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程 这种错误一般是连接满了,但是被他们重启以后连接又报改错误,感觉增大
推荐度:
导读WARNING:inboundconnectiontimedout(ORA-3136):ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程 在家接到同事电话,说数据库连不上,连接报如下错误: ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程 这种错误一般是连接满了,但是被他们重启以后连接又报改错误,感觉增大

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

在家接到同事电话,说数据库连不上,,连接报如下错误:

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

The Oracle Net 10g parameters SQLNET.INBOUND_CONNECT_TIMEOUT andINBOUND_CONNECT_TIMEOUT_listenername default to 0 (indefinite) in 10.1. To address Denial of Service (DOS)issues, the parameters were set to havea default of 60 (seconds) in Oracle 10.2.

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 appropratevalue 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.

To protect boththe database server and the listener, Oracle Corporation recommends settingthis parameter in combination with the INBOUND_CONNECT_TIMEOUT_listener_nameparameter in the listener.ora file. When specifying values for theseparameters, consider the following recommendations:

Set both parameters to an initial lowvalue.

Set the value of theINBOUND_CONNECT_TIMEOUT_listener_name parameter to a lower value than theSQLNET.INBOUND_CONNECT_TIMEOUT parameter.

For example, you can setINBOUND_CONNECT_TIMEOUT_listener_name to 2 seconds and INBOUND_CONNECT_TIMEOUTparameter to 3 seconds. If clients are unable to complete connections withinthe specified time due to system or network delays that are normal for theparticular environment, then increment the time as needed.

修改listener的inbound_connect_timeout参数的方法

方法一:

$ lsnrctl

LSNRCTL for IBM/AIX RISC System/6000:Version 10.2.0.3.0 - Production on 29-OCT-2007 10:00:57

Copyright (c) 1991, 2006, Oracle. All rights reserved.

Welcome to LSNRCTL, type "help"for information.

LSNRCTL> help

The following operations are available

An asterisk (*) denotes a modifier orextended command:

start stop status

services version reload

save_config trace spawn

change_password quit exit

set* show*

LSNRCTL> show

The following operations are availableafter show

An asterisk (*) denotes a modifier orextended command:

rawmode displaymode

rules trc_file

trc_directory trc_level

log_file log_directory

log_status current_listener

inbound_connect_timeout startup_waittime

snmp_visible save_config_on_stop

dynamic_registration

LSNRCTL> showinbound_connect_timeout

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SHOW-100-12)(PORT=1521)))

LISTENER parameter"inbound_connect_timeout" set to 60

The command completed successfully

LSNRCTL> set inbound_connect_timeout0

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SHOW-100-12)(PORT=1521)))

LISTENER parameter"inbound_connect_timeout" set to 0

The command completed successfully

LSNRCTL> showinbound_connect_timeout

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SHOW-100-12)(PORT=1521)))

LISTENER parameter"inbound_connect_timeout" set to 0

The command completed successfully

LSNRCTL> set save_config_on_stop on #表示修改参数永久生效,否则只是临时生效,下次重启监听又还原为原来的值了

LSNRCTL> exit

方法二:

修改listener.ora文件,加入: INBOUND_CONNECT_TIMEOUT_LISTENER_NAME=0

更多Oracle相关信息见Oracle 专题页面 ?tid=12

linux

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

WARNING:inboundconnectiontimedout(ORA-3136)

WARNING:inboundconnectiontimedout(ORA-3136):ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程 在家接到同事电话,说数据库连不上,连接报如下错误: ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程 这种错误一般是连接满了,但是被他们重启以后连接又报改错误,感觉增大
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top