91

我是 Oracle 数据库的新手,但我有一个问题。在我的数据库服务器 (server1) 上,侦听器和数据库实例运行正常,我可以sqlplus用来连接到这个数据库。当我使用其他服务器连接到数据库时,我检查了 TNS 配置,它是正确的,但系统说:

ERROR:
ORA-12541: TNS:no listener

我的数据库是 Oracle 10gR2

那么我该如何解决这个问题呢?

4

4 回答 4

103

您需要将 oracle 设置为侦听所有 IP 地址(默认情况下,它仅侦听 localhost 连接。)

第 1 步 -编辑 listener.ora

该文件位于:

  • 窗户:%ORACLE_HOME%\network\admin\listener.ora
  • Linux:$ORACLE_HOME/network/admin/listener.ora

替换 localhost 0.0.0.0

# ...

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
  )

# ...

第 2 步 - 重新启动 Oracle 服务

  • 窗户:WinKey+r

    services.msc
    
  • Linux(CentO):

    sudo systemctl restart oracle-xe
    

在此处输入图像描述

于 2014-02-19T14:58:45.690 回答
12

我也遇到了同样的问题,但我通过在控制面板 -> 管理工具 -> 服务 -> oracle TNS 监听器启动中启动 TNS 监听器解决了这个问题。我正在使用 Windows Xp 和 Toad 连接到 Oracle。

于 2013-07-01T05:53:21.543 回答
3

检查您的 TNS 名称,别名的左侧不能有空格

此致

于 2013-10-31T00:31:52.380 回答
0

根据 oracle 在线文档

ORA-12541: TNS: 没有监听器

Cause: The connection request could not be completed because the listener is not running.

Action: Ensure that the supplied destination address matches one of the addresses used by 
the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or  
TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on 
the remote machine.
于 2012-11-13T11:37:27.110 回答