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:没有侦听器 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序
oracle远程连接报ORA-12541:TNS:无监听程序