无法从LAN上的其他计算机使用sqlplus访问oracle

时间:2012-02-25 08:06:21

标签: oracle sqlplus

我在局域网的一台机器上运行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 个答案:

答案 0 :(得分:1)

localhost是一个特定的本地地址127.0.0.1,只能从同一台机器上访问;另一台计算机无法直接连接到仅针对localhost注册的服务。 oracle_server将解析(或者如果您不使用主机名)机器上以太网接口的IP地址;在局域网上,这可能从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地址而不是主机名。