各位大虾,我在本机装了个oracle,客户端用sqlplus登陆的时候,如果不写主机字符串可以成功登陆,可一旦用了主机字符串就不能登陆了。后来我又装了PL/SQL developer客户端,登陆的时候也是报一样的错误(“ORA-12541:TNS:无监听程序”)在网上搜了好久,很多人遇到这个问题,我也仔细核对了可能出现问题的的地方(启动监听程序啊,net config 配置等),都没有问题。命令行测试,就出现下面的错误:请各位帮忙看看。谢谢了!C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-9月 -2010 10:49:42Copyright (c) 1991, 2005, Oracle. All rights reserved.正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
(HOST=)??
HOST=你的主机名或者ip lisener 跟tns 都的改
# listener.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =xjunhua3.asiapacific.hpqcorp.net)(PORT = 1521))
)
)
用ip地址登陆,如果能登陆上的话,就是你本地配置问题,
如果不能登陆,就是服务器的问题或网络问题
测试监听状态是这样的:
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xjunhua3.as
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10
启动日期 26-9月 -2010 11:37:31
正常运行时间 0 天 0 小时 9 分 12 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 F:\oracle\product\10.2.0\db_1\network\
监听程序日志文件 F:\oracle\product\10.2.0\db_1\network\
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xjunhua3.asiapacific
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
这个问题是出在你的ip是动态的没绑定所以这样的 你自己先在重新配置下 或者host=localhost试下 重新启动
域:asiapacific.cpqcorp.netlistener.ora
# listener.ora Network Configuration File: F:\oracle\product\10.2.0\db_2\network\admin\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\product\10.2.0\db_2)
(PROGRAM = extproc)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =xjunhua3)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)tnsnames.ora
# tnsnames.ora Network Configuration File: F:\oracle\product\10.2.0\db_2\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =xjunhua3)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
1、删除监听,然后重建。
2、设置sid=现在的实例名
3、把tns.ora和listenr.ora删除,然后重新配置监听和tns
4、如果上述方法都不行,那就重装数据库实例吧。这个估计比你解决这个问题还快。
connect system/[email protected]:1521/server_name