看一下能不能通过系统里面的服务来手动启动ORACLETNSLISTENER服务,如果提示路径错,就进注册表改imagepath,否则删除这个监听器再建一个试试,记得要关闭防火墙或者打开端口1521

解决方案 »

  1.   

    启动C:\>lsnrctl start 提示:Service OracleOraHome81TNSListener start pending.
    Service OracleOraHome81TNSListener started.
    TNSLSNR for 32-bit Windows: Version 8.1.5.0.0 - Production
    系统参数文件为E:\Oracle\Ora81\network\admin\listener.ora
    写入E:\Oracle\Ora81\network\log\listener.log的日志信息
    监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
    监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sdfdsf-gyuejxbs)(PORT=1521)))
    尝试监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sdfdsf-gyuejxbs)(PORT=1521))
    )
    TNS-12545: 由于目标主机或对象不存在而导致连接失败
     TNS-12560: TNS:协议适配器出现错误
      TNS-00515: 由于目标主机或对象不存在而导致连接失败
       32-bit Windows Error: 1001: Unknown error
      

  2.   


     1. 把 Host=.... 这行中的机器名换成IP地址试试
     2. 或者修改hosts 文件, 加入一行,格式:
         IP地址  机器名
      

  3.   

    我遇到过这种问题。
    到“我的电脑”点右键,进入“管理”,找到“服务和应用程序”里的“服务”,然后在ORA服务中找listener服务(具体名字记不清了,好象是什么listenertns或者tnslistener),启动,如果不能正常启动,查看是不是没有启动路径。有时候安装不正确,或者安装过程出问题,这个程序的路径就有问题。如果只是没路径,可以在注册表里找到同名键,在该键值里写入正确路径就行。如果是别的原因,恐怕就得重装了。
      

  4.   

    楼上说的我已经遇到3次了,呵呵。他这个也很有可能是host名不一致,改成ip地址,或者127.0.0.1试试
      

  5.   

    对了,我这个按照jiangzhucao(fox)说的做了,果然是没有启动路径,但是我不知道你说的“如果只是没路径,可以在注册表里找到同名键,在该键值里写入正确路径就行。"的具体是怎样操作的,你能详细告诉我,好吗?谢谢。
      

  6.   

    在注册表里的
    OracleOraHome81TNSListener键值下建一个怎样的字窜值名?它的值应该为上面我出现错误的
    "系统参数文件为E:\Oracle\Ora81\network\admin\listener.ora" 这个吧?
    谢谢.
      

  7.   

    对了,我的listener.ora文件是这样的:
       # LISTENER.ORA Network Configuration File: E:\Oracle\Ora81\network\admin\listener.ora
    # Generated by Oracle configuration tools.LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = kldxa)(PORT = 1521))
          )
        )
        (DESCRIPTION =
          (PROTOCOL_STACK =
            (PRESENTATION = GIOP)
            (SESSION = RAW)
          )
          (ADDRESS = (PROTOCOL = TCP)(HOST = kldxa)(PORT = 2481))
        )
      )SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = E:\Oracle\Ora81)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = kldxlks)
          (ORACLE_HOME = E:\Oracle\Ora81)
          (SID_NAME = kldxlks)
        )
      )
      

  8.   

    1、网络通不通?
    2、你的主机一切ok?
    3、主机服务器上oracle的监听有没有启动?
    4、你是在本机安装8I服务器版本还是客户端?
    ------------------------------------------------------
    OTN 中文技术论坛
    http://211.99.196.144:8090/forum1/frontshow/index.jsp
      

  9.   


     在注册表里的OracleOraHome81TNSListener键值下建一个怎样的字窜值名?
     ----------------------------------------------------------------
      新建一个ImagePath的串值,值为:
       N:\oracle\ora817\BIN\TNSLSNR (改成你机器上的实际路径)  注册表位置:  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
                    \Services\OracleOraHome81TNSListener