我在服务能正常的启动oracle监听服务。但当我打开plsql工具 选择数据库,输入密码,登入到数据库时。出现TNSLSNR.EXE - 应用程序错误。。
开始我以为是我的C:\WINDOWS\system32\drivers\etc 下的host文件改动后导致的,我把host文件的内容还原到初始状态,结果还是同样的错误下面是listener.ora 的代码:
# LISTENER.ORA Network Configuration File: E:\oracle\ora92\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 = e92b9c44e169443)(PORT = 1521))
      )
    )
  )SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORAC)
      (ORACLE_HOME = E:\oracle\ora92)
      (SID_NAME = ORAC)
    )
  )
 
请高手帮我分析一下,小弟在此谢过!!

解决方案 »

  1.   

    出现TNSLSNR.EXE - 应用程序错误。。
    从其他地方考个TNSLSNR.EXE  试试
      

  2.   

    lsnrctl status 命令查看一下监听的状态,
    看一下监听日志 $oracle_home\network\log\listener.log 中的内容。
      

  3.   

    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
    TNS-12541: TNS:无监听器
     TNS-12560: TNS: 协议适配器错误
      TNS-00511: 无监听器
       32-bit Windows Error: 2: No such file or directory
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=e92b9c44e169443)(PORT=
    ))
    TNS-12541: TNS:无监听器
     TNS-12560: TNS: 协议适配器错误
      TNS-00511: 无监听器
       32-bit Windows Error: 61: Unknown error
     
      

  4.   

    确保监听服务能正常启动(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=e92b9c44e169443)(PORT= 
    )) 
    HOST=e92b9c44e169443 改成IP地址在试试..
    监听启动正常后,在用tnsping sid 看看,只要能ping通就可以连上了..------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716 
      

  5.   

    TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production on 01-12月-2009 10:52:52Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.系统参数文件为E:\oracle\ora92\network\admin\listener.ora
    写入E:\oracle\ora92\network\log\listener.log的日志信息
    写入E:\oracle\ora92\network\trace\listener.trc的跟踪信息
    跟踪级别当前为0以 pid=3460 开始
    监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
    监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=e92b9c44e169443)(PORT=1521)))TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    01-12月-2009 10:53:05 * service_register * ORAC * 0
    01-12月-2009 10:53:11 * service_update * ORAC * 0
    01-12月-2009 10:53:23 * service_update * ORAC * 0
    监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=e92b9c44e169443)(PORT=8081))(Presentation=HTTP)(Session=RAW))
    监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=e92b9c44e169443)(PORT=2111))(Presentation=FTP)(Session=RAW))
    01-12月-2009 10:53:26 * service_update * ORAC * 0
    01-12月-2009 10:53:30 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=153092352)) * status * 0
    01-12月-2009 10:53:36 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=153092352)) * status * 0
    01-12月-2009 10:54:11 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORAC)(CID=(PROGRAM=C:\Program Files\plsql developer\plsqldev.exe)(HOST=E92B9C44E169443)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.3)(PORT=2364)) * establish * ORAC * 0
    这是日志中打印的信息
      

  6.   

    我在服务里面能正常起。但只要用plsql登录打数据库就,监听就挂掉了。
     用命令就连启都启动不鸟了,IP换成127.0.0.1 也不行 ~