在e:\oracle\ora92\network\admin中找的listener文件配置如下:
# 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 = TCP)(HOST = zzl-8e7dzlzpun3)(PORT = 1521))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = oradb))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
    )
  )SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\ora92)
      (PROGRAM = extproc)
    )
  )

解决方案 »

  1.   

    用Net Manager将以前的监听删除再重新配置一个,
    然后启动:
    c:\lsnrctl start
      

  2.   

    楼上的方法可以
    也可以直接copy一个!无所谓的!
    版本一致就OK
      

  3.   

    我根本就找不到 c:\lsnrctrl文件呀
      

  4.   

    lsnrctl start
    是监听启动命令,直接在“开始/运行(R)...”里输入也行
      

  5.   

    1. 谁让你在c盘根目录下找这个文件?
       在$oracle_home\bin下找.(例如: e:\oracle\ora92\bin)2. 你的listener.log明显有问题.
       
        第一: 下面这段好像没用,可以删除(先备份)    (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = oradb))
         )    第二: SID_LIST_LISTENER 中根本没有包含当前数据库SID的信息.    改成:
         SID_LIST_LISTENER =
          (SID_LIST =
             (SID_DESC =
                (SID_NAME = PLSExtProc)
                (ORACLE_HOME = E:\oracle\ora92)
                (PROGRAM = extproc)
              )
             # 新增加部分
             (SID_DESC =
                (ORACLE_HOME = e:\oracle\ora92)
                (SID_NAME = 你的数据库实例名)
              )
           )