连接至(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

解决方案 »

  1.   

    转载
    解决Oracle监听器服务不能启动的问题一、连接主机字符串,说没有监听器
    SVRMGR> connect internal/[email protected];
    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 errorLSNRCTL> start
    启动tnslsnr:请稍候...Failed to start service, error 3.
    TNS-12536: TNS:可能会阻碍*作
    TNS-12560: TNS:协议适配器出现错误
    TNS-00506: *作可能阻塞
    32-bit Windows Error: 997: Unknown errorLSNRCTL>三、在控制面板中启动服务,出现以下错误
    服务:在本地计算机 无法启动 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/[email protected];
    连接成功。
      

  2.   

    多谢二位关注!
    上面的方法都不能解决问题。检查了注册表,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>
      

  3.   

    (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1521))):(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.98)(PORT=1521)))
    IP怎么不一样?
      

  4.   

    这个简单,如果是windows系统到 管理工具》服务
    里找到oracle listener服务启动就行了()。
      

  5.   

    首先Hostname是正确的,我上面只是举一个例子.
     guishuanglin(小桂子)的这个基本方法早都试过了,不行。
    不过重新安装可以这个问题,但有其他解决办法吗?
      

  6.   

    1, ping  xxx.xxx.xxx.xxx  看Ip通不
    2,netstat -an 看端口1521或者其他凯没有
    3, LSNRCTL.EXE status  看监听器的状态,可以重新设置监听器
    4,tnsping oracleservicename 看服务配置正确不
      

  7.   

    1, 是本机上的
    2, 没有看到1521端口,
    3, 状态提示在上面
    4, 服务配置正确的另外使用sqlplus可以连接,并能操作表
      

  8.   

    有一个办法 , 不知你试不试, 可能要从来。
    那就是重装Oracle, 然后用优化大师压缩备份一下,等出现这种情况再恢复一下就可以了
    以前我也经常与到这问题, 也没什么办法,就只有这一招。
    不知可能会不会有点笨
    相信我的你就试一下,真的