ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle11gr2网络配置新增TRANSPORT_CONNECT_TIMEOUT参数

Oracle11gr2网络配置新增TRANSPORT_CONNECT_TIMEOUT参数

原创 Linux操作系统 作者:yangtingkun 时间:2010-05-16 20:30:16 0 删除 编辑

在11.2中,TNSNAMES.ORA中的配置新增了TRANSPORT_CONNECT_TIMEOUT参数。

 

 

有的时候配置TNSNAMES.ORA出错在所难免,而等待超时失败的时候十分痛苦,这一分钟的TCP超时会显得很漫长,尤其是WINDOWS环境下的SQLPLUSW工具,在这一分种内完全没有任何的响应。

现在11.2允许用户配置TNSNAMES.ORA的时候指定TRANSPORT_CONNECT_TIMEOUT参数,用来指定TCP超时的等待时间。

注意,配置这个参数要求11.2的客户端:

[oracle@bjtest admin]$ more tnsnames.ora
TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.26.3.23)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TESTA)
      (SERVER = DEDICATED)
    )
  )

TEST112_SHARE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.230)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TEST112XDB)
      (SERVER = SHARED)
    )
  )

下面通过11.2的sqlplus连接配置的TEST服务名:

[oracle@bjtest ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 5月 5 06:29:59 2010

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

SQL> set time on
06:30:07 SQL> conn test/test@test
ERROR:
ORA-12170: TNS:
连接超时


06:31:14 SQL>

很明显连接超时需要等待一分钟的时间。

同样通过tnsping命令也可以看到相似的结果:

[oracle@bjtest admin]$ tnsping test

TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 05-5月 -2010 06:30:44

Copyright (c) 1997, 2009, Oracle.  All rights reserved.

已使用的参数文件:


已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.26.3.23)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = TESTA) (SERVER = DEDICATED)))
TNS-12535: TNS:
操作超时
[oracle@bjtest admin]$ date
Wed May  5 06:31:48 CST 2010

下面修改TEST服务名的配置,添加TRANSPORT_CONNECT_TIMEOUT参数:

[oracle@bjtest admin]$ vi tnsnames.ora

TEST =
  (DESCRIPTION =
    (TRANSPORT_CONNECT_TIMEOUT = 5)
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.26.3.23)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TESTA)
      (SERVER = DEDICATED)
    )
  )

TEST112_SHARE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.230)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TEST112XDB)
      (SERVER = SHARED)
    )
  )
~
"tnsnames.ora" 53L, 1086C written

再次通过SQLPLUS连接:

06:32:52 SQL> conn test/test@test
ERROR:
ORA-12170: TNS:
连接超时


06:33:05 SQL>

这次很短的时间很就超时报错并返回结果了。

执行tnsping的结果观察的更明显一些:

[oracle@bjtest admin]$ tnsping test

TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 05-5月 -2010 06:33:16

Copyright (c) 1997, 2009, Oracle.  All rights reserved.

已使用的参数文件:


已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (TRANSPORT_CONNECT_TIMEOUT = 5) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.26.3.23)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = TESTA) (SERVER = DEDICATED)))
TNS-12535: TNS:
操作超时
[oracle@bjtest admin]$ date
Wed May  5 06:33:24 CST 2010

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-662832/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1964
  • 访问量
    11077091