我是 Oracle 数据库的新手,但我有一个问题。在我的数据库服务器 (server1) 上,侦听器和数据库实例运行正常,我可以sqlplus
用来连接到这个数据库。当我使用其他服务器连接到数据库时,我检查了 TNS 配置,它是正确的,但系统说:
ERROR: ORA-12541: TNS:no listener
我的数据库是 Oracle 10gR2
那么我该如何解决这个问题呢?
您需要将 oracle 设置为侦听所有 IP 地址(默认情况下,它仅侦听 localhost 连接。)
listener.ora
该文件位于:
%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))
)
)
# ...
窗户:WinKey+r
services.msc
Linux(CentO):
sudo systemctl restart oracle-xe
我也遇到了同样的问题,但我通过在控制面板 -> 管理工具 -> 服务 -> oracle TNS 监听器启动中启动 TNS 监听器解决了这个问题。我正在使用 Windows Xp 和 Toad 连接到 Oracle。
检查您的 TNS 名称,别名的左侧不能有空格
此致
根据 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.