Не удается получить доступ к оракулу с помощью sqlplus с другого компьютера в локальной сети - PullRequest
1 голос
/ 25 февраля 2012

У меня Oracle работает на одной машине в локальной сети.
Я могу подключиться к БД с помощью sqlplus при выдаче:

sqlplus myuser/mypass@localhost:1521/orcl

Это работает нормально.

На другом компьютере из локальной сети я установил мгновенный клиент oracle (basic + 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 Ответ

1 голос
/ 25 февраля 2012

localhost - это определенный локальный адрес, 127.0.0.1, который доступен только с той же машины;другая машина не может напрямую подключиться к услуге, зарегистрированной только для localhost.oracle_server будет разрешено (или если вы не используете имя хоста) IP-адрес интерфейса Ethernet на машине;в локальной сети это может начинаться с 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-адрес в строке подключения вместо имени хоста.

...