Oracle 客户端 ORA-12541:TNS:没有侦听器 [关闭]

Posted

技术标签:

【中文标题】Oracle 客户端 ORA-12541:TNS:没有侦听器 [关闭]【英文标题】:Oracle client ORA-12541: TNS:no listener [closed] 【发布时间】:2012-11-01 18:12:33 【问题描述】:

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

ERROR:
ORA-12541: TNS:no listener

我的数据库是 Oracle 10gR2

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

【问题讨论】:

应该是 serverfault.com / dba.stackexchange.com 问题 但是当我使用其他服务器连接到数据库时 你的意思是说当你尝试从服务器连接同一个数据库时? 我的意思是我通过 sqlplus 或 sql developer 在 Sqldeveloper 上通过客户端连接到数据库服务器错误“执行请求的操作时遇到错误:网络适配器无法建立连接供应商代码 20” 所以您可以使用 sqlplus 连接数据库,但不能使用 SQL Developer 连接数据库? 您已确认侦听器已在“server1”框上运行,验证了其端口号,并检查了另一台服务器上的 TNSNames/连接字符串是否与 ip/主机名和端口匹配? 【参考方案1】:

你需要设置oracle监听所有ip地址(默认只监听localhost连接)

第 1 步 - 编辑 listener.ora

此文件位于:

Windows:%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 服务

Windows:WinKey + r

services.msc

Linux (CentO):

sudo systemctl restart oracle-xe

【讨论】:

折腾一天终于成功了! 谢谢!这解决了我的问题。 DB Server 中的 Listener 设置为 localhost。把计算机的主机名解决我的问题。 嗨,我的问题是我在服务中找不到 oracleservice,我该怎么办?谢谢你 我的管理文件夹没有 lister.ora 文件,并且我的服务没有列出“Oracle [anything]” Oracle 12c 示例:ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME【参考方案2】:

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

【讨论】:

我用你的方式解决了我的问题。更新操作系统后我的问题出现了。 如果这里的答案不起作用,因为此问题已关闭。 这是我的答案: 1. 用 cmd 和 admin 运行 tnsping YourOracleSID,如果有错误,请看这里的解决方案,例如尝试LSNRCTL.EXE start:sort.veritas.com/public/documents/ccser/5.2/windowsandunix/…【参考方案3】:

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

最好的问候

【讨论】:

【参考方案4】:

根据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.

【讨论】:

这对不知道如何执行建议操作的任何人都没有帮助。

以上是关于Oracle 客户端 ORA-12541:TNS:没有侦听器 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

ORA-12541 TNS 无监听程序

连接oracle出现ORA-12541:TNS:无监听程序

连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序

oracle远程连接报ORA-12541:TNS:无监听程序

OracleConnection.Open 抛出 ORA-12541 TNS no listener

plsql无法连接linux下的oracle服务器,提示:ora-12541:TNS 无监听程序