我让Oracle在局域网的一台机器上运行 .
当我发出时,我可以使用sqlplus连接到数据库:
sqlplus myuser/mypass@localhost:1521/orcl
这很好用 .
在局域网的另一台机器上,我安装了oracle即时客户端(基本的sdk sqlplus) .
sqlplus myuser/mypass@oracle_server:1521/orcl
SQL*Plus: Release 11.2.0.3.0 Production on Sat Feb 25 09:10:41 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-12543: TNS:destination host unreachable
Enter user-name:
Oracle服务器已启动并正在运行,并且可以在网络上访问,但我无法连接到数据库 .
1 回答
localhost
是特定的本地地址127.0.0.1
,只能从同一台机器上访问;另一台机器无法直接连接到仅针对localhost
注册的服务 .oracle_server
将解析(或者如果您不使用主机名)机器上以太网接口的IP地址;在LAN上,这很可能以10.
或192.168.
开头,但也可能是其他内容 .检查您的Oracle侦听器配置是否正在侦听外部地址以及
localhost
.话虽如此,如果这是唯一的问题,你可能会看到
ORA-12541: TNS:no listener
而不是ORA-12543
. 这听起来好像在Oracle服务器计算机上可能运行防火墙,如果是这样,您需要配置它以允许端口1521上的流量 .另一种可能性是你将其解析为IP地址 . 检查你可以
ping oracle_server
;如果说cannot resolve oracle_server
之类的话,请检查名称,看看是否需要提供一个完全限定的名称(oracle_server.example.com
),或者在推送时将其添加到本地hosts
文件中 . 或者,使用连接字符串中的原始IP地址而不是主机名 .