环境:
os:  redhat linux as 4
database:  oracle10g
成功安装后,启动时报错。
报错信息是ORA-12541:TNS:no listener.
这个报错这么解决。请高手指教。我是这样启动的
sqlplus /nolog
connect system/sdtsg@ora10g
然后报错:ORA-12541:TNS:no listener.谢谢,小弟在线等。

解决方案 »

  1.   

    1. 你确定listener启动了么?
    用lsnrctl status查看一下2. ora10g你建立的net service名称么?
    用tnsping ora10g看看能否ping通
      

  2.   

    软件安装完成后,建库,建好后用netca配置监听和网络服务名。
    要用时再启动监听服务和数据库服务。
    同楼上所说的,也可以netstat -an看看有1521的监听端口吗
      

  3.   

    回复:
    1. 你确定listener启动了么?
    用lsnrctl status查看一下提示信息:
    LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-JUN-2010 09:38:05Copyright (c) 1991, 2005, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    TNS-12541: TNS:no listener
     TNS-12560: TNS:protocol adapter error
      TNS-00511: No listener
       Linux Error: 111: Connection refused
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sdtsg)(PORT=1521)))
    TNS-12541: TNS:no listener
     TNS-12560: TNS:protocol adapter error
      TNS-00511: No listener
       Linux Error: 111: Connection refused
    报了什么错误?又是怎么处理?
    谢谢
      

  4.   

    回复:
    2. ora10g你建立的net service名称么?
    用tnsping ora10g看看能否ping通tnsping ora10g提示信息:
    TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 25-JUN-2010 09:41:08Copyright (c) 1997, 2005, Oracle.  All rights reserved.Used parameter files:
    /home/oracle/product/10.2.0/network/admin/sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = sdtsg)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ora10g)))
    TNS-12541: TNS:no listener
    报了什么错误?又是怎么处理?
    谢谢
      

  5.   

    lsnrctl start 启动监听看看监听配置是否正确
      

  6.   

    那你先试一下在本机(安装Oracle的那台机子上)执行sqlplus / as sysdba
    要用oracle安装用户登录运行,一般是oracle
      

  7.   

    通过netstat -an,找不到oracle默认的1521端口.
      

  8.   

    是不是没有创建listener呀。
    用netca进入Oracle Net Configuration Assitant创建一个吧。
      

  9.   


    [oracle@sdtsg bin]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 25 09:53:30 2010Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining optionsSQL> startup
    ORA-01081: cannot start already-running ORACLE - shut it down first
    SQL> connect system/sdtsg@ora10g
    ERROR:
    ORA-12541: TNS:no listener
    Warning: You are no longer connected to ORACLE.
    谢谢
      

  10.   


    试用了您的方法,如下 :
    [oracle@sdtsg bin]$ lsnrctl startLSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-JUN-2010 09:55:56Copyright (c) 1991, 2005, Oracle.  All rights reserved.Starting /home/oracle/product/10.2.0/bin/tnslsnr: please wait...TNS-12537: TNS:connection closed
     TNS-12560: TNS:protocol adapter error
      TNS-00507: Connection closed
       Linux Error: 29: Illegal seek
    谢谢.
      

  11.   


    [oracle@sdtsg bin]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 25 09:53:30 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining optionsSQL> startup
    ORA-01081: cannot start already-running ORACLE - shut it down first以上说明已经有个oracle实例开启了。

    show parameter db_name
    看看是那个实例?
      

  12.   

    回复12楼:
    以上说明已经有个oracle实例开启了。

    show parameter db_name
    看看是那个实例?
    按照您的提示,运行了show parameter db_name
    SQL> show parameter db_nameNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    db_name                              string      ora10g
    实例名:ora10g
    接下来怎么处理?谢谢!
      

  13.   

    connect system/sdtsg@ora10g
    这你根据什么来的?这根本就不是无法启动的问题。如果你的账号密码没错的话,那必然是@ora10g 问题,我估计你根本就没有配置ora10g这个netservice,瞎用。如果你是自己用的话,直接connect / as sysdba; startup; 就启动你刚刚安装的oracle了。
    如果你是要连别的已经启动的局域网里的oracle服务器,先配置netservice,然后再连。
      

  14.   

    你有安装样例吧?有的话,
    执行
    alter user scott account unlock;
    alter user scott identified by your_password;conn scott/your_password
    看看能正常进入scott方案没?
      

  15.   

    把$ORACLE_HOME/network/admin下的listener.ora,tnsnames.ora和sqlnet.ora贴出来看看
      

  16.   

    首先表示感谢.
    我是这样用的.
    我搭建的redhat linux as 4 + oracle10G 是服务器,小组成员客户端连接该oracle服务器.
    当然客户端连接oracle服务器,先配置netservice,然后再连。
    但是服务端监听器起动不了,怎么连接oracle服务器呢 
    问题就出在:ORA-12541:TNS:no listener.
    期待您的指教.
      

  17.   

    SQL> connect system/sdtsg@ora10g
    这里的@ora10g不需要,在本机上,实际上你的oracle已经起来了。
    直接在SQL>下 conn system/sdtsg即可
      

  18.   


    [oracle@sdtsg bin]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Fri Jun 25 10:25:43 2010Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining optionsSQL> alter user scott account unlock
      2  ;User altered.SQL> alter user scott identified by sdtsg;User altered.SQL> conn scott/sdtsg
    Connected.
    谢谢.
    ORA-12541:TNS:no listener.监听器无法打开.
      

  19.   

    把服务器端的$ORACLE_HOME/network/admin下的listener.ora,tnsnames.ora和sqlnet.ora贴出来看看
      

  20.   

    nGX20080110,您好.
    listener.ora信息如下:
    # listener.ora Network Configuration File: /home/oracle/product/10.2.0/network/admin/listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /home/oracle/product/10.2.0)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = sdtsg)(PORT = 1521))
        )
      )
      

  21.   

    tnsnames.ora信息如下:
    # tnsnames.ora Network Configuration File: /home/oracle/product/10.2.0/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.ORA10G =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = sdtsg)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ora10g)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
      

  22.   

    sqlnet.ora信息如下:
    # sqlnet.ora Network Configuration File: /home/oracle/product/10.2.0/network/admin/sqlnet.ora
    # Generated by Oracle configuration tools.NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
      

  23.   

    看看/etc/hosts文件里面的ip,主机名有没有正确对应起来
      

  24.   

    您好!/etc/hosts文件里面的ip对应了两个名子
    192.168.2.125 sdtsg fengqingshou
      

  25.   

    LISTENER =
      (DESCRIPTION_LIST =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = sdtsg)(PORT = 1521))
      )
      )
    把上面的sdtsg改成ip地址试一下吧
      

  26.   

    你现在可以用netca新建一个listener吗?
      

  27.   

    已试过把上面的sdtsg改成ip地址,报错一样.
      

  28.   

    运行netca新建一个listener,
    [oracle@sdtsg bin]$ netcaOracle Net Services Configuration:
    Configuring Listener:MYLISTENER
    Listener configuration complete.
    Oracle Net Listener Startup:
        Running Listener Control:
          /home/oracle/product/10.2.0/bin/lsnrctl start MYLISTENER
        Listener Control complete.
        Listener start failed. Listener may already be running.
    Oracle Net Services configuration successful. The exit code is 0
    还是不行.指点指点.谢谢!
      

  29.   

    你应该是在同一个端口上创建listener吧。
    要不先把之前的所有listener删除掉,要不在另外的端口上创建listener
      

  30.   

    把之前的所有listener删除掉,然后新建listener,报同样错误.  晕.............指点指点.谢谢