关于sqlnet.ora的参数SQLNET.INBOUND_CONNECT_TIMEOUT,它表示等待用户认证超时的时间,单位是秒,缺省值是60秒,如果用户认证超时了,服务器日志alert.log显示出错信息"WARNING: inbound connection timed out (ORA-3136)",sqlnet.log里面出现TNS-12535: TNS:operation timed out错误信息。

关于listener.ora的参数inbound_connect_timeout_监听器名,它表示等待用户连接请求超时的时间,单位是秒,缺省值是60秒,如果连接请求超时了,监听器日志listener.log显示出错信息"TNS-12525: TNS:listener has not received client's request in time allowed"。

其中sqlnet.ora里面的参数为SQLNET.INBOUND_CONNECT_TIMEOUT, listener.ora里面的参数设置为INBOUND_CONNECT_TIMEOUT_listener_name ,其中根据监听名字来替换listener_name。官方文档关于两者的介绍如下所示:

SQLNET.INBOUND_CONNECT_TIMEOUT parameter in sqlnet.ora on the database server

Specify the time, in seconds, for a client to connect with the database server and provide the necessary authentication information. If the client fails to establish a connection and complete authentication in the time specified, then the database server terminates the connection. In addition, the database server logs the IP address of the client and an ORA-12170: TNS:Connect timeout occurred error message to the sqlnet.log file. The client receives either an ORA-12547: TNS:lost contact or an ORA-12637: Packet receive failed error message.

INBOUND_CONNECT_TIMEOUT_listener_name in listener.ora

Specify the time, in seconds, for the client to complete its connect request to the listener after the network connection had been established.

If the listener does not receive the client request in the time specified, then it terminates the connection. In addition, the listener logs the IP address of the client and an ORA-12525: TNS:listener has not received client’s request in time allowed error message to the listener.log file

查看inbound_connect_timeout值

1:查看SQLNET.INBOUND_CONNECT_TIMEOUT的设置值,一般进入$ORACLE_HOME/network/admin下,查看sqlnet.ora参数文件即可。

2:查看监听INBOUND_CONNECT_TIMEOUT参数,可以查看listener.ora参数文件。但是有时候,例如默认情况,参数文件里面没有设置这个参数,或是有些动态监听没有配置listener.ora,那么可以使用lsnrctl命令查看,如下所示:

LSNRCTL> show

The following operations are available after show

An asterisk (*) denotes a modifier or extended 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> show inbound_connect_timeout

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER parameter "inbound_connect_timeout" set to 60

The command completed successfully

LSNRCTL> 

 

设置SQLNET.INBOUND_CONNECT_TIMEOUT值

我们首先设置SQLNET.INBOUND_CONNECT_TIMEOUT为30秒,这个参数修改后立即生效,不需要做任何其它操作。

[oracle@DB-Server admin]$ vi sqlnet.ora

# sqlnet.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora

# Generated by Oracle configuration tools.

 

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

SQLNET.INBOUND_CONNECT_TIMEOUT=30

 

 

C:\Users>sqlplus /@mytest

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 2月 28 10:57:09 2016

 

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

 

ERROR:

ORA-01017: invalid username/password; logon denied

 

 

请输入用户名:

当30秒后,此时,在sqlnet.log里面就能看到新增了一条关于TNS-12535的错误记录,其中10.20.34.14是我客户端的IP地址。

告警日志里面你会看到WARNING: inbound connection timed out (ORA-3136)错误。有意思的是,监听日志里面你不会看到任何错误信息。(可以用了对比这两个参数的区别)

设置INBOUND_CONNECT_TIMEOUT_listener_name的值

这个参数可以通过lsnrctl命令设置,如下所示,当然最简单的还是设置listener.ora参数文件。这个参数也是立即生效,不需要重启监听。

LSNRCTL> show inbound_connect_timeout

NL-00853: undefined show command "inbound_connect—meout".  Try "help show"

LSNRCTL> show inbound_connect_timeout

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER parameter "inbound_connect_timeout" set to 60

The command completed successfully

LSNRCTL> set inbound_connect_timeout 20

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER parameter "inbound_connect_timeout" set to 20

The command completed successfully

LSNRCTL> show inbound_connect_timeout

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER parameter "inbound_connect_timeout" set to 20

The command completed successfully

LSNRCTL> 

此时我们用telnet来模拟用户连接请求超时的时间,如下所示,当超过20秒,就会自动退出

[root@test ~]# time telnet 192.168.9.124 1521

Trying 192.168.9.124...

Connected to 192.168.9.124 (192.168.9.124).

Escape character is '^]'.

Connection closed by foreign host.

 

real    0m20.019s

user    0m0.001s

sys     0m0.003s

此时在listener.log里面,你就能看到TNS-12525的错误,如下所示

28-FEB-2016 11:32:20 * <unknown connect data> * (ADDRESS=(PROTOCOL=tcp)(HOST=10.20.34.14)(PORT=38051)) * establish * <unknown sid> * 12525

 

TNS-12525: TNS:listener has not received client's request in time allowed

 

TNS-12535: TNS:operation timed out

 

TNS-12606: TNS: Application timeout occurred

注意:set inbound_connect_timeout只对当前环境生效,如果重启监听服务,则会失效,如下所示

LSNRCTL> set inbound_connect_timeout 18

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER parameter "inbound_connect_timeout" set to 18

The command completed successfully

LSNRCTL> reload

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

The command completed successfully

LSNRCTL> show inbound_connect_timeout

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER parameter "inbound_connect_timeout" set to 60

The command completed successfully

此时需要使用命令set save_config_on_stop on保存配置信息,使其永远生效。但是我测试发现,动态监听也无法使用set save_config_on_stop on保存配置信息,需要修改配置文件(注意,修改listener.ora,需要重启监听使之生效)。如下所示

关于两者之间的关系,一般INBOUND_CONNECT_TIMEOUT_listener_name的值应该低于SQLNET.INBOUND_CONNECT_TIMEOUT的值,官方文档介绍如下,

When specifying values for these parameters, consider the following

recommendations:

Set both parameters to an initial low value.

Set the value of the INBOUND_CONNECT_TIMEOUT_listener_name parameter to a lower value than the SQLNET.INBOUND_CONNECT_TIMEOUT parameter.

For example, you can set INBOUND_CONNECT_TIMEOUT_listener_name to 2 seconds and INBOUND_CONNECT_TIMEOUT parameter to 3 seconds. If clients are unable to complete connections within the specified time due to system or network delays that are normal for the particular environment, then increment the time as needed.

INBOUND_CONNECT_TIMEOUT与SQLNET.INBOUND_CONNECT_TIMEOUT小结的更多相关文章

  1. [20171120]关于INBOUND_CONNECT_TIMEOUT设置.txt

    [20171120]关于INBOUND_CONNECT_TIMEOUT设置.txt --//上午翻看以前我的发的帖子,发现链接:http://www.itpub.net/thread-2066758- ...

  2. Oracle sqlnet.ora配置

    Oracle sqlnet.ora配置 sqlnet.ora的作用(官网指出的)   www.2cto.com 1.限制客户端访问(如指定客户端域为不允许访问) 2.指定命名方法(local nami ...

  3. [转帖] SQLNET.ORA的处理.

    被一个客户端连接远程数据库阻塞超时的问题困扰了好久,最后终于找到了答案  https://blog.csdn.net/herobox/article/details/16985097   Oracle ...

  4. [转帖]sqlnet.ora常用参数

    sqlnet.ora常用参数 注﹕在修改sqlnet.ora文件之后重新启动监听﹐修改才能生效﹗﹗﹗ oracle网络设置主要包括三个文件,sqlnet.ora\ lisnter.ora\ tnsna ...

  5. sqlnet.ora的作用

    sqlnet.ora的作用 1.限制客户端访问(如指定客户端域为不允许访问) 2.指定命名方法(local naming,directory nameing...)的优先级 3.启用日志及跟踪(log ...

  6. Oracle的sqlnet.ora文件配置

    DBA对这个文件一定不会陌生,大家了解最多的也一定是sqlnet.ora用来决定oracle怎么解析一个连接中出现的字符串,例如: sqlplus sys/oracle@orcl 那么这个orcl怎么 ...

  7. Oracle 通过sqlnet.ora文件控制对Oracle数据库的访问

    一.通过sqlnet.ora文件控制对Oracle数据库的访问 出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问.修改$JAVA_HOME/NETWORK/ADMIN/s ...

  8. 11gR2数据库日志报错:Fatal NI connect error 12170、

    11gR2数据库日志报错:Fatal NI connect error 12170.TNS-12535.TNS-00505 [问题点数:100分,结帖人MarkIII]             不显示 ...

  9. 一次处理ORA-07445的历险记(转)

    ORA-07445通常是Oracle调用操作系统的资源出错时出现的[@more@] 事前没有任何征兆,下午5点左右某个关键应用的17台oracle数据库上的数据库实例陆续宕机,赶紧查看alert_lo ...

随机推荐

  1. jQuery的目标

    jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的.从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库.jQuery改变ja ...

  2. C#通用类Helper整理

    ★前言     最近下载了tita_chou在CSDN上传的一个资源,是在工作中整理的C#帮助类,里面包含了很多实用的类,想到我之前收集过自己用到少的可怜的类,心生敬意啊.当粗略的查看了那个资源,发现 ...

  3. redis-desktop-manager

    介绍一款Redis图形管理工具:redis-desktop-manager 下载地址:点击打开链接 我们打开redis-cl.exe 客户端,在里面添加了key= name ,value=heyang ...

  4. 第 19 章 CSS 其他样式

    学习要点: 1.颜色和透明度 2.盒子阴影和轮廓 3.光标样式 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 其他剩下几个常用的样式,包括颜色.透明度.盒子的阴影轮廓以及光标的样式. 一.颜 ...

  5. PHP与MySQL的交互(mysqli)

    近期在学习PHP,这里总结一下PHP与MySQL的交互. 这里我们使用mysqli进行连接. mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能. 想深入了解mysqli的信息可以访问 ...

  6. js undefine,null 和NaN

    undefined 类型只有一个值,即 undefined. null 类型也只有一个值,即 null. null 指空值(empty value)或指曾赋过值,但是目前没有值 undefined 指 ...

  7. C# RSA 分段加解密

    RSA加解密: 1024位的证书,加密时最大支持117个字节,解密时为128:2048位的证书,加密时最大支持245个字节,解密时为256. 加密时支持的最大字节数:证书位数/8 -11(比如:204 ...

  8. 一款经典的jQuery slidizle 幻灯片

    jQuery广告幻灯片进度条,水平/左右切换,垂直/上下切换,自动播放,缩略图列表切换 在线实例 默认效果 水平/左右切换 垂直/上下切换 循环 自动播放 缩略图 进度条 回调函数 使用方法 < ...

  9. 20款时尚的 WordPress 企业模板【免费主题下载】

    在这篇文章中,我们收集了20款时尚的 WordPress 企业模板.WordPress 作为最流行的博客系统,插件众多,易于扩充功能.安装和使用都非常方便,而且有许多第三方开发的免费模板,安装方式简单 ...

  10. Method Draw – 很好用的 SVG 在线编辑器

    Method Draw 是一款在线 SVG 编辑器,是 SVG Edit 的一个分支.Method Draw 的目的是改进 SVG Edit 的可用性和用户体验.它移除了 line-caps/corn ...