ORACLE环境中,客户端使用sqlplus 工具连接远端数据库时,报 ERROR: ORA-12170: TNS: 连接超时

1侦听起来了

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

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbserver.net)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version11.2.0.1.0 - Production
Start Date 16-MAR-2014 14:56:24
Uptime 0 days 0 hr. 0 min. 37 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/app/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /home/oracle/app/diag/tnslsnr/dbserver/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbserver.net)(PORT=1521)))
Services Summary...
Service "shanghaidb" has 1instance(s).
Instance "shanghaidb", status UNKNOWN, has 1 handler(s) forthis service...
The command completed successfully

相关文件也配置了
1)Listener.ora文件概要
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver.net)(PORT = 1521))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = shanghaidb)
(ORACLE_HOME = /home/oracle/app/product/11.2.0/db_1)
)
)

2)Tnsnames.ora文件概要
SHANGHAIDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.175.2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = shanghaidb)
)
)

2防火墙关了

3本地连接到数据库没有问题

第1个回答  2014-03-17
直接把:dbserver.net 改为192.168.175.2,重启listener 试试看,可能是域名没办法解析。
第2个回答  2014-03-16

看着都挺好,那么:


    192.168.175.2 就是你的那个  dbserver.net 吗?

    在客户机上,分别ping dbserver.net 和 ping 192.168.175.2 试试

    在客户机上:tnsping shanghaidb  试试

追问

tnsping 192.168.175.2
已使用 EZCONNECT 适配器来解析别名
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=192.168.175.2))(A
DDRESS=(PROTOCOL=TCP)(HOST=192.168.175.2)(PORT=1521)))
TNS-12535: TNS: 操作超时
感谢

追答

晕。


    ping 192.168.175.2 的结果呢?

    本地服务名不是 shanghaidb  吗,应该 tnsping shanghaidb 啊

    换成sid试试:

    SHANGHAIDB =
     (DESCRIPTION =
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.175.2)(PORT = 1521))
        )
       (CONNECT_DATA =
         (SID = shanghaidb)
        )
      )

第3个回答  2014-03-17
试试将 Tnsnames.ora 中

SERVICE_NAME = shanghaidb

改成
SID = shanghaidb
相似回答