我是Oracle数据库的新手,但是有一个问题。在我的数据库服务器(server1)上,侦听器和数据库实例正常运行,可以sqlplus
用来连接到该数据库。当我使用其他服务器连接到数据库时,我检查了TNS配置,它是正确的,但系统显示:
ERROR: ORA-12541: TNS:no listener
我的数据库是Oracle 10gR2
那么我该如何解决这个问题呢?
我是Oracle数据库的新手,但是有一个问题。在我的数据库服务器(server1)上,侦听器和数据库实例正常运行,可以sqlplus
用来连接到该数据库。当我使用其他服务器连接到数据库时,我检查了TNS配置,它是正确的,但系统显示:
ERROR: ORA-12541: TNS:no listener
我的数据库是Oracle 10gR2
那么我该如何解决这个问题呢?
Answers:
您需要将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))
)
)
# ...
Windows:WinKey+r
services.msc
Linux(CentOs):
sudo systemctl restart oracle-xe
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
我也遇到了同样的问题,但是我通过在控制面板->管理工具->服务-> Oracle TNS监听器启动中启动TNS监听器解决了这个问题。我使用Windows Xp和Toad连接到Oracle。
tnsping YourOracleSID
,如果出现错误,在这里看到的解决办法,比如尝试LSNRCTL.EXE start
:sort.veritas.com/public/documents/ccser/5.2/windowsandunix/...
根据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.