我碰到的问题:
问题:
ORA-12541:TNS:没有监听器
我的环境:
1、2000 professional sp4
2、oracle8
检查:
1、检查服务,监听器服务启动正常,关闭重起正常。
2、把tnsnames.ora和listener.ora里面的HOST换成IP也不行。
3、查看注册表正常
4、检查防火墙或者防病毒软件1521端口没有屏蔽,而且1521端口也没有被占用。
5、几乎所有方法都尝试过,包括重起服务,重起机器,仍然存在,把oracle9卸掉,安装oracle8,安装过程一切正常,但是重复上面的错误,无法解决,郁闷ing!!!!!!请大家帮忙讨论讨论还可能是什么原因!!!
大家也算是做个总结。小弟将再次整理,多谢!!!!!!!!!!

解决方案 »

  1.   

    对了小弟的OracleOraHome81ManagementServer服务无法启动
    错误:
    在本地计算机无法启动OracleOraHome81ManagementServer服务。
    错误997:重叠I/O在进行中。
    请问这是什么问题?
      

  2.   

    如果cpu是p4,请打补丁!试试看.(oracle网站有)
      

  3.   

    你试过关闭放火墙吗? DOS下lsnrctl start
     有何信息。
      

  4.   

    DOS下lsnrctl start看有何信息是不是你的机器在装好oracle后修改过机器名如是你要找到监听的.ora文件修改一下就好了。
      

  5.   

    我的机器监听器无法启动,在服务手工启动,提示:找不到文件,但是可以在DOS下运行tnslsnr(始终保持不关闭)则可以正常工作。
        看此文后试着在注册表中增加了ImagePath的值,好家伙,问题解决了。解决了我要用Oracle就得开着个DOS窗口的烦恼。
        在此谢过Spingal(天王冠)
    5、查看注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome81TNSListener项并设置ImagePath>D:\Oracle\Ora81\BIN\TNSLSNR多数是这种情况
      

  6.   

    不应该是p4的问题,如果是的话根本无法正确安装oracle。
      

  7.   

    把tnsnames.ora和listener.ora里面的HOST换成IPHOST = 127.0.0.1        <-  (本机的意思)server_name = 数据库名.域名.com.cn
              or 数据库名.world先检查网络问题(ping 本机)
    再用 tnsping 一下服务名.
      

  8.   

    listener.ora file:LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
          )
        )
        (DESCRIPTION =
          (PROTOCOL_STACK =
            (PRESENTATION = GIOP)
            (SESSION = RAW)
          )
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 2481))
        )
      )=================================================================================
    tnsname.ora file:ORADB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = OraNet.world)
        )
      )
    ============================================================================
    开机时,停止所有杀毒软件.
      

  9.   

    系统:Win XP Pro 所有最新的补丁都装过 
             Oracle 9iR2 是从官方网站下载的Personal Edition 
    昨天安装以后是可以正常使用的。后来可能是用了注册表优化程序,今天打开不能打开监听器了。后来看了这篇文章,自己在监听器服务注册表里添加了imagepath,从而至少在“服务”里可以看到监听器服务已经正常启动。但是又发现原来自动的OracleServiceYaoyp(yaoyp是我的数据库名)服务不能启动——提示路径不对,后来仿照前面添加了imagepath,指引到安装目录下的bin\oracle.exe,服务也能启动了。可是当我连接数据库的时候,仍然提示ORA12560 TNS 协议适配器错误。万望各位大哥帮忙,快疯了! 我另外还发了贴子问,欢迎去拿分,虽然不多。我tnsping开始没问题(当然也无法用sqlplus),现在又提示12541 无监听器,不可思议的是服务是打开的
    tnsname.ora: # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora 
    # Generated by Oracle configuration tools. INST1_HTTP = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = ern)(PORT = 1521)) 
         
        (CONNECT_DATA = 
          (SERVER = SHARED) 
          (SERVICE_NAME = MODOSE) 
          (PRESENTATION = http://HRService) 
         
          
    EXTPROC_CONNECTION_DATA = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) 
         
        (CONNECT_DATA = 
          (SID = PLSExtProc) 
          (PRESENTATION = RO) 
         
       YAOYP = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = ern)(PORT = 1521)) 
         
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = yaoyp) 
         listener.ora # LISTENER.ORA Network Configuration File: D:\oracle\ora92\NETWORK\ADMIN\listener.ora 
    # Generated by Oracle configuration tools. LISTENER = 
      (DESCRIPTION_LIST = 
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) 
         
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = ern)(PORT = 1521)) 
         
      

  10.   

    我的问题解决了,主要还是注册表问题,OracleServiceYaoyp服务的路径除了指向oracle.exe以外还要加上服务名为参数,这样才能打开实例。