每次报错都是:ORA-12541:TNS:no listener
   以前我解决这个问题的方法是先启动“oracleoradb10g_home1TNSListener”服务,再启动“OracleServiceORCL”服务。最近这一次我把两个服务的启动顺序交换了一下,然后就出现toad界面无法连接oracle数据库的问题,报错是:ORA-12541:TNS:no listen。我试着按以前的顺序启动。发现在先后启动“oracleoradb10g_home1TNSListener”服务、“OracleServiceORCL”服务后,“oracleoradb10g_home1TNSListener”服务会自动转为不启动状态。这样一来,还是没有启动 监听服务,仍然无法实现
toad界与oracle数据库的连接。
  各位帮帮忙,谢谢啊。

解决方案 »

  1.   

    一般好像需要先启动监听服务,再启动实例吧,以便实例向监听器注册。
    lsnrctl status可以看实例注册状态
      

  2.   

    这是因为我修改了计算机名,也就是主机名。而在F:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN(oracle的安装目录,也可能是其它的盘)下有一个文件listener.ora,里面有一块需要填主机名。我没有做相应的修改,所以出现了上述问题。做修改后,就可以了。# listener.ora Network Configuration File: F:\oracle\product\10.1.0\Db_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = F:\oracle\product\10.1.0\Db_1)
          (PROGRAM = extproc)
        )
        
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = rsy)(PORT = 1521))
          )
        )
      )
    蓝色部分为主机名