Добрый день,
Я только что установил виртуальную машину (используя VirtualBox) Oracle Linux с Oracle Database в ней. После настройки я могу убедиться, что могу подключиться к нему с помощью sqlplus (sqlplus виртуальной машины)
$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sat Apr 21 14:32:48 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn myusername/mypassword
Connected.
SQL> select count(1) from my_table;
COUNT(1)
----------
73
SQL>
Однако, когда я пытаюсь подключиться с помощью JDeveloper с хост-машины, я получаю
Состояние: сбой - проверка не удалась: ошибка ввода-вывода: сетевому адаптеру не удалось установить соединение.
Я попытался подключиться к другим базам данных из нашей интрасети от JDeveloper хост-машины, и им это удалось. Также я попытался отключить iptables виртуальной машины (на всякий случай).
sudo /etc/init.d/iptables stop
Но пока ничего не работает.
Любые идеи?
Спасибо,
Франц Зее
РЕДАКТИРОВАТЬ: Обновление: я только что установил sqlplus на свой хост-компьютер (Примечание для других: Instantclient 10.2.0.4.0 64bit не работает на Mac. Вместо этого используйте 32-битную версию, даже если ваш Mac 64-битный, как мой.), и я попытался подключиться к моей базе данных Oracle на моей виртуальной машине, и это удалось! Однако я все еще не могу подключиться с помощью JDeveloper.
На машине, на которой установлен sqlplus, в вашем случае хост виртуальной машины, вам необходимо установить переменные среды Oracle прежде чем вы сможете подключиться к другим серверам Oracle Database. Например:
setenv ORACLE_SID orcl
setenv ORACLE_HOME /u01/app/oracle/product/11.1.0/db_1
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib
Возможно, вам придется вручную создать папку администратора и tnsnames.ora
файл в этой папке.
Процесс подключения к удаленному серверу Oracle не зависит от мастера и требует некоторого ручного труда с вашей стороны. Справочный документ, ссылка на который приведена выше, проведет вас через то, что вам нужно для вашей конкретной среды.
Извините, я думаю, что теперь понимаю вещи лучше. Давайте попробуем что-нибудь другое.
Я думаю, что прослушиватель экземпляра на виртуальной машине не прослушивает IP-адрес. На виртуальной машине перейдите на страницу администрирования сетевых служб в веб-интерфейсе Oracle Enterprise Manager. Отредактируйте слушателя (LISTENER_localhost
), добавьте слушателя и выберите использование IP-адреса экземпляра. Оставьте порт 1521 по умолчанию. Вас спросят, хотите ли вы перезапустить службу. Пожалуйста, сделай так. Тогда вы сможете подключиться с вашего хоста (или любого другого компьютера, если на то пошло).
В JDeveloper, используя мастер подключения на остановке 3 из 4, используйте имя службы, а не SID.
Я выяснил, что такое «Статус: сбой - тест не прошел: ошибка ввода-вывода: сетевой адаптер не смог установить соединение». средства. Как оказалось, установить соединение не удалось из-за конфигурации прокси.