tnsping 提示“TNS-12541: TNS:无监听器”,请指教!
连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1521)))
TNS-01103: 地址的协议专用组件指定不正确
TNS-12541: TNS:无监听器
TNS-12560: TNS:协议适配器出现错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
问题点数:50、回复次数:10Top
1 楼mosquitoxh((IT,中间件,架构)http://it.paiming.org/bbs)回复于 2006-03-10 11:35:17 得分 0
LSNRCTL.EXE startTop
2 楼nbtoms(宾子寻月人)回复于 2006-03-10 11:38:55 得分 25
转载
解决Oracle监听器服务不能启动的问题
一、连接主机字符串,说没有监听器
SVRMGR> connect internal/oracle@orcl;
ORA-12541: TNS:no listener
SVRMGR>
二、运行监听器,说地址的协议专用组件指定不正确
C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:17
:51
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
欢迎来到LSNRCTL,请键入"help"以获得信息。
LSNRCTL> status
连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521)))
TNS-01103: 地址的协议专用组件指定不正确
TNS-12541: TNS:无监听器
TNS-12560: TNS:协议适配器出现错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
LSNRCTL> start
启动tnslsnr:请稍候...
Failed to start service, error 3.
TNS-12536: TNS:可能会阻碍*作
TNS-12560: TNS:协议适配器出现错误
TNS-00506: *作可能阻塞
32-bit Windows Error: 997: Unknown error
LSNRCTL>
三、在控制面板中启动服务,出现以下错误
服务:在本地计算机 无法启动 OracleOraHome81TNSListener 服务。
错误3:系统找不到指定的路径
而且OracleOraHome81TNSListener服务的可执行文件的路径是空的。
四、进入注册表中修改ImagePath
在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome81TNSListener
发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:f:\Oracle\Ora81\BIN\TNSLSNR
退出注册表。
五、再去启动服务,服务启动正常
六、启动监听器
C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:42
:10
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
欢迎来到LSNRCTL,请键入"help"以获得信息。
LSNRCTL> start
TNS-01106: 使用名称LISTENER的监听器已经启动
LSNRCTL> status
连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 8.1.6.0.0 - Produc
tion
启动日期 14-3月 -2003 14:40:15
正常运行时间 0 天 0 小时 2 分 6 秒
跟踪级别 off
安全性 OFF
SNMP OFF
监听器参数文件 f:\Oracle\Ora81\network\admin\listener.ora
监听器日志文件 f:\Oracle\Ora81\network\log\listener.log
服务摘要..
PLSExtProc 具有1个服务处理程序
orc2 具有1个服务处理程序
orcl 具有1个服务处理程序
orcl 具有2个服务处理程序
命令执行成功
LSNRCTL>
七、再去连接,成功
SVRMGR> connect internal/sys@orcl;
连接成功。
Top
3 楼WangZWang(先来)回复于 2006-03-10 11:50:24 得分 0
多谢二位关注!
上面的方法都不能解决问题。检查了注册表,ImagePath值都有的,
可执行下面,还是如下提示? 请各位帮忙
-------------
LSNRCTL> start
启动tnslsnr:请稍候...
TNSLSNR for 32-bit Windows: Version 8.1.6.0.0 - Production
系统参数文件为D:\Oracle\Ora81\network\admin\listener.ora
写入D:\Oracle\Ora81\network\log\listener.log的日志信息
尝试监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.98)(PORT=1521)))
TNS-12545: 由于目标主机或对象不存在而导致连接失败
TNS-12560: TNS:协议适配器出现错误
TNS-00515: 由于目标主机或对象不存在而导致连接失败
32-bit Windows Error: 49: Unknown error
LSNRCTL>Top
4 楼WangZWang(先来)回复于 2006-03-10 12:33:07 得分 0
-Top
5 楼mosquitoxh((IT,中间件,架构)http://it.paiming.org/bbs)回复于 2006-03-10 12:57:24 得分 0
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1521)))
:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.98)(PORT=1521)))
IP怎么不一样?
Top
6 楼guishuanglin(蓝色枫林)回复于 2006-03-10 13:01:42 得分 5
这个简单,如果是windows系统到 管理工具》服务
里找到oracle listener服务启动就行了()。
Top
7 楼WangZWang(先来)回复于 2006-03-10 14:07:24 得分 0
首先Hostname是正确的,我上面只是举一个例子.
guishuanglin(小桂子)的这个基本方法早都试过了,不行。
不过重新安装可以这个问题,但有其他解决办法吗?Top
8 楼mosquitoxh((IT,中间件,架构)http://it.paiming.org/bbs)回复于 2006-03-10 14:17:28 得分 10
1, ping xxx.xxx.xxx.xxx 看Ip通不
2,netstat -an 看端口1521或者其他凯没有
3, LSNRCTL.EXE status 看监听器的状态,可以重新设置监听器
4,tnsping oracleservicename 看服务配置正确不Top
9 楼WangZWang(先来)回复于 2006-03-10 15:22:46 得分 0
1, 是本机上的
2, 没有看到1521端口,
3, 状态提示在上面
4, 服务配置正确的
另外使用sqlplus可以连接,并能操作表
Top
10 楼javacalf(javacalf)回复于 2006-03-10 15:44:08 得分 10
有一个办法 , 不知你试不试, 可能要从来。
那就是重装Oracle, 然后用优化大师压缩备份一下,等出现这种情况再恢复一下就可以了
以前我也经常与到这问题, 也没什么办法,就只有这一招。
不知可能会不会有点笨
相信我的你就试一下,真的Top




