Как подключиться к базе данных Oracle 11g удаленно
У меня установлен Oracle 11g XE на компьютере A. Я могу подключиться через командную строку sql с помощью команды connect username/password
. Я также могу отправить инструкции SQL в базу данных демо: Select * from demo_customers;
База данных работает на локальном компьютере компьютера A.
Я хочу, чтобы компьютер B подключался к базе данных компьютера A на localhost. Как я могу это сделать?
Ответы
Ответ 1
Вам нужно будет запустить утилиту lsnrctl на сервере A, чтобы запустить прослушиватель. Затем вы подключаетесь с компьютера B, используя следующий синтаксис:
sqlplus username/[email protected]:1521 /XE
Информация о порте необязательна, если используется значение по умолчанию 1521.
Документация о конфигурации прослушивателя здесь.
Документация удаленного подключения здесь.
Ответ 2
Совсем просто на компьютере, вам не нужно ничего делать, просто убедитесь, что обе системы находятся в одной сети, если это не интернет-доступ (для этого вам нужен статический ip). Итак, теперь на компьютере b перейдите в меню "Начать настройку меню" в папке oracle, выберите "Net Configuration Assistant" под этой папкой, когда появится окно "Локальная сетевая конфигурация", это должен быть третий вариант.
Теперь нажмите "Добавить" и нажмите "Далее" в следующем окне, и оно спросит имя службы здесь, вам нужно добавить имя глобальной базы данных oracle для компьютера A (Обычно я использую oracle86 для моей установки) теперь нажмите следующий следующий экран, выберите протокол, обычно его tcp нажмите далее в имени хоста введите компьютер. Имя, которое вы можете найти в свойствах моего компьютера. Нажмите "Далее" , не меняйте порт до тех пор, пока вы не измените его на компьютере. Нажмите "Далее" и выберите "Проверить соединение". Здесь вы можете проверить работоспособность вашего соединения или нет, если ошибка не совпадает с именем пользователя и паролем, затем нажмите кнопку авторизации входа и введите правильное имя пользователя и пароль. Если его высказывание не сможет найти компьютер с целью не найден, вы должны добавить исключение в брандмауэр для порта 1521 или просто отключить брандмауэр на компьютере А.
Ответ 3
Во-первых, убедитесь, что запущен прослушиватель на сервере базы данных (компьютер A), который принимает запросы на подключение к клиенту. Для этого запустите команду lsnrctl status
.
В случае, если вы получили сообщение TNS:no listener
(см. ниже изображение), это означает, что служба прослушивания не запущена. Чтобы запустить его, запустите команду lsnrctl start
.
![введите описание изображения здесь]()
Во-вторых, для операций с базой данных и подключения от удаленных клиентов в список исключений брандмауэра Windows необходимо добавить следующие исполняемые файлы: (см. изображение)
Oracle_home\bin\oracle.exe - исполняемый файл Oracle Database
Oracle_home\bin\tnslsnr.exe - Слушатель Oracle
![введите описание изображения здесь]()
Наконец, установите клиент oracle мгновенного клиента на клиентской машине (компьютер B) и запустите:
sqlplus user/[email protected]:port/XE
Ответ 4
Я устанавливаю сервер Oracle, и он позволяет без проблем подключаться к локальной машине. Но из другого Maclaptop в моей домашней сети он не может подключиться с использованием Sql Developer или Sql Plus. Проведя некоторые исследования, я понял, что вам нужно сделать следующий шаг:
Используйте сетевой менеджер Oracle. Выберите прослушиватель. Добавьте IP-адрес (в моем случае это 192.168.1.12), кроме 127.0.0.1 или localhost.
Это приведет к добавлению записи в [OracleHome]\product\11.2.0\dbhome_1\network\admin\listener.ora
-
перезапустить службу прослушивателя. (примечание: для меня я перезагружаю машину один раз, чтобы заставить ее работать)
-
Использовать статус lsnrctl для подтверждения
Обратите внимание, что появляется дополнительный HOST = 192.168.1.12, и это то, что нужно сделать для удаленного подключения.
C:\Windows\System32 > статус lsnrctl
LSNRCTL для 64-битной Windows: версия 11.2.0.1.0 - производство на 05-SEP-2015 13:51:43
Copyright (c) 1991, 2010, Oracle. Все права защищены.
Подключение к (ОПИСАНИЕ = (ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1521)))
СТАТУС ПРОСЛУШИВАНИЯ
Псевдоним LISTENER
Версия TNSLSNR для 64-разрядной версии Windows: версия 11.2.0.1.0 - Производство
Дата начала 05-SEP-2015 13:45:18
Время работы 0 суток 0 часов. 6 мин. 24 sec
Уровень трассировки
Безопасность включена: аутентификация локальной ОС
SNMP OFF
Файл параметров прослушивателя
D:\oracle11gr2\продукт\11.2.0\dbhome_1\сеть\админ\listener.ora
Файл журнала прослушивателя d:\oracle11gr2\diag\tnslsnr\eagleii\listener\alert\log.xml
Прослушивание конечных точек Резюме...
(ОПИСАНИЕ = (АДРЕС = (ПРОТОКОЛ = IPC) (PIPENAME = \.\Труба\EXTPROC1521ipc)))
(ОПИСАНИЕ = (АДРЕС = (ПРОТОКОЛ = TCP) (HOST = 127.0.0.1) (PORT = 1521)))
(ОПИСАНИЕ = (АДРЕС = (ПРОТОКОЛ = TCP) (HOST = 192.168.1.12) (PORT = 1521)))
Резюме услуг...
Услуга "CLRExtProc" имеет 1 экземпляр (ы).
Экземпляр "CLRExtProc", статус UNKNOWN, имеет 1 обработчик для этой службы...
Сервис "xe" имеет 1 экземпляр (ы).
Экземпляр "xe" , статус READY, имеет 1 обработчик (и) для этой службы... Сервис "xeXDB" имеет 1 экземпляр (ы).
Экземпляр "xe" , статус READY, имеет 1 обработчик (и) для этой службы... Команда успешно завершена
-
используйте tnsping, чтобы проверить соединение
ping адрес IPv4, а не localhost или 127.0.0.1
C:\Windows\System32 > tnsping 192.168.1.12
Утилита TNS Ping для 64-битной Windows: версия 11.2.0.1.0 - производство на 05-SEP-2015 14:09:11
Copyright (c) 1997, 2010, Oracle. Все права защищены.
Используемые файлы параметров:
D:\oracle11gr2\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
Используется адаптер EZCONNECT для разрешения псевдонима
Попытка связаться (ОПИСАНИЕ = (CONNECT_DATA = (SERVICE_NAME =)) (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.12) (PORT = 1521)))
OK (0 мс)
Ответ 5
# . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
# sqlplus /nolog
SQL> connect sys/password as sysdba
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
SQL> CONNECT sys/[email protected]:1521 as sysdba