日期:2014-05-17  浏览次数:20817 次

TNS-12541: TNS: 无监听程序,问题很奇怪,tnsping 127.0.0.1没问题
各位大侠,初次在这里发帖,多关照,这个问题在网上找了好久都没找到原因,希望在这里能解决掉。
199.20.10.37是我本机IP。

C:\Users\Administrator>tnsping 127.0.0.1

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 14-10月-
2011 11:32:08

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

已使用的参数文件:
D:\oracle\product\11.2.0\dbhome_2\network\admin\sqlnet.ora

已使用 EZCONNECT 适配器来解析别名
尝试连接 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST
=127.0.0.1)(PORT=1521)))
OK (0 毫秒)

C:\Users\Administrator>tnsping 199.20.10.37

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 14-10月-
2011 11:33:30

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

已使用的参数文件:
D:\oracle\product\11.2.0\dbhome_2\network\admin\sqlnet.ora

已使用 EZCONNECT 适配器来解析别名
尝试连接 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST
=199.20.10.37)(PORT=1521)))
TNS-12541: TNS: 无监听程序

------解决方案--------------------
把127.0.0.1改成localhost呢
------解决方案--------------------
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
------解决方案--------------------
打开 C:\WINDOWS\system32\drivers\etc 目录下的 hosts 文件
在里面添加记录

127.0.0.1 localhost
199.20.10.37 localhost

再把监听的 host 改成 localhost