Oracle11gr2网络配置新增TRANSPORT_CONNECT_TIMEOUT参数

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.2sqlplus连接配置的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博客 ” ,链接:http://blog.itpub.net/4227/viewspace-662832/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-662832/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值