Как подключиться к базе данных Oracle 11g удаленно - PullRequest
15 голосов
/ 13 ноября 2011

Oracle 11g XE установлен на компьютере A. Я могу подключиться через командную строку sql с помощью команды connect username/password Я также могу отправить инструкции SQL в демонстрационную базу данных: Select * from demo_customers;

База данных работает на локальном хосте компьютера A.

Я хочу, чтобы компьютер B подключился к базе данных компьютера A на локальном хосте. Как я могу это сделать?

Ответы [ 6 ]

12 голосов
/ 13 ноября 2011

Вам потребуется запустить утилиту lsnrctl на сервере A, чтобы запустить прослушиватель. Затем вы должны подключиться с компьютера B, используя следующий синтаксис:

sqlplus username/password@hostA:1521 /XE

Информация о порте является необязательной, если используется значение по умолчанию 1521.

Документация по настройке прослушивателя здесь. Документация удаленного подключения здесь.

5 голосов
/ 05 сентября 2015

Я устанавливаю сервер 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 status
    LSNRCTL для 64-разрядных Windows: версия 11.2.0.1.0 - выпуск 05-SEP-2015 13:51: 43
    Copyright (c) 1991, 2010, Oracle.Все права защищены.
    Подключение к (ОПИСАНИЕ = (АДРЕС = (PROTOCOL = IPC) (KEY = EXTPROC1521)))
    СОСТОЯНИЕ СЛУШАТЕЛЯ


    Псевдоним СЛУШАТЕЛЬ
    Версия TNSLSNRдля 64-битной Windows: версия 11.2.0.1.0 - производство
    дата начала работы 05-SEP-2015 13: 45: 18
    время безотказной работы 0 дней 0 часов.6 мин24 с
    Уровень трассировки выключен
    Безопасность включена: локальная проверка подлинности ОС
    SNMP выключена
    Файл параметров прослушивателя
    D: \ oracle11gr2 \ product \ 11.2.0 \ dbhome_1 \ network \ admin \ listener.ora
    Файл журнала прослушивателя d: \ oracle11gr2 \ diag \ tnslsnr \ eagleii \ listener \ alert \ log.xml
    Сводка конечных точек прослушивания ...
    (ОПИСАНИЕ = (АДРЕС = (PROTOCOL = ipc) (PIPENAME)= \. \ pipe \ EXTPROC1521ipc)))
    (ОПИСАНИЕ = (АДРЕС = (ПРОТОКОЛ = tcp) (ХОСТ = 127.0.0.1) (ПОРТ = 1521)))
    (ОПИСАНИЕ = (АДРЕС = (ПРОТОКОЛ =)tcp) (HOST = 192.168.1.12) (PORT = 1521)))
    Сводка служб ...
    Служба "CLRExtProc" имеет 1 экземпляр (ов).
    Экземпляр "CLRExtProc", состояние НЕИЗВЕСТНО, имеет1 обработчик (ей) для этой службы ...
    Служба "xe" имеет 1 экземпляр (ов).
    Экземпляр "xe", состояние ГОТОВ, имеет 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 сентября 2015 г. 14: 09: 11
Copyright (c) 1997, 2010, Oracle.Все права защищены.
Используемые файлы параметров:
D: \ oracle11gr2 \ product \ 11.2.0 \ dbhome_1 \ network \ admin \ sqlnet.ora

Используется адаптер EZCONNECT для разрешения псевдонима
Попытка связаться (DESCRIPTION = (CONNECT_DATA = (SERVICE_NAME =)) (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.12) (PORT = 1521))) *
OK (0 мс)

4 голосов
/ 30 сентября 2012

Это довольно просто на компьютере, вам не нужно ничего делать, просто убедитесь, что обе системы находятся в одной сети, если нет доступа к Интернету (для этого вам нужен статический ip). Хорошо, теперь на компьютере b перейдите в меню «Пуск», найдите конфигурацию в папке «Oracle», нажмите «Net Configuration Assistant» в этой папке, когда появится всплывающее окно, выберите опцию «Настройка локальной сети». Это должен быть третий вариант.

Теперь нажмите «Добавить» и нажмите «Далее» на следующем экране, здесь будет задано имя службы. Вам необходимо добавить глобальную базу данных Oracle «A» (обычно я использую «oracle86» для своей установки). Теперь нажмите «Следующий», затем выберите протокол, обычно его TCP Нажмите «Далее». в имени хоста введите имя компьютера А, которое вы можете найти в свойствах моего компьютера. Нажмите «Далее», не меняйте порт, пока вы не изменили его в «Компьютере А». Нажмите «Далее» и выберите «Проверить подключение сейчас». Здесь вы можете проверить работоспособность вашего соединения или нет, если ошибка - имя пользователя и пароль неверны, затем нажмите кнопку «Войти» и введите правильное имя пользователя пароль. Если его сообщение не удалось достичь компьютера, цель не найдена, поэтому необходимо добавить исключение в брандмауэр для порта 1521 или просто отключить брандмауэр на компьютере A.

3 голосов
/ 02 марта 2019

First. Необходимо добавить статический IP-адрес для компьютера A и B. Например, в моем случае Компьютер A (172.20.14.13) и B (172.20.14.78).

Второй. В компьютере A с Net Manager добавьте для прослушивателя новый адрес (172.20.14.13) или вручную добавьте новую запись в listener.ora

# listener.ora Network Configuration File: E:\app\user\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\user\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\user\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.14.13)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = E:\app\user

Третье. С помощью Net Manager создайте Naming Service с IP-адресом компьютера B (172.20.14.78) или вручную добавьте новую запись в tnsnames.ora

# tnsnames.ora Network Configuration File: E:\app\user\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

ALINADB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = alinadb)
    )
  )

LISTENER_ALINADB =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


LOCAL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.14.13)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = alinadb)
    )
  )

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.14.78)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

Четвертое. На компьютере B (172.20.14.78) установите win64_11gR2_client (например, это для меня в Windows 10 Pro 64 bit)

Пять. Создать с помощью прослушивателя Net Configuration Assistant (localhost) или вручную добавить запись в listener.ora

# listener.ora Network Configuration File: F:\app\alinasoft\product\11.2.0\client_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = myserver)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )

    ADR_BASE_LISTENER = F:\app\alinasoft

Шесть. С помощью Net Manager создайте Service Naming с IP-адресом компьютера A (172.20.14.13) или вручную добавьте новую запись в tnsnames.ora.

SERVER-DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.14.13)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = alinadb)
    )
  )

Семь (Компьютер A - (172.20.14.13)) для операций с базами данных и подключения от удаленных клиентов, следующие исполняемые файлы должны быть добавлены в список исключений брандмауэра Windows: (см. Изображение) Oracle_home \ bin \ oracle.exe - исполняемый файл базы данных Oracle Oracle_home \ bin \ tnslsnr.exe - слушатель Oracle

Восемь Разрешить соединения для порта 1158 (компьютер A - (172.20.14.13)) для Oracle Enterprise Manager (https://172.20.14.13:1158/em/console/logon/logon)

Девятая Разрешить соединения для порта 1521 (вход и выход) (компьютер A - (172.20.14.17))

Десятая В компьютере B 172.20.14.78 sqlplus / NOLOG СОЕДИНИТЬ систему / оракул @ // 172.20.14.13:1521/alinadb

Если использует жаба, в моем случае это enter image description here

3 голосов
/ 12 мая 2016

Сначала убедитесь, что прослушиватель на сервере базы данных (компьютер A), который получает запросы на подключение клиента, работает. Для этого выполните команду lsnrctl status.

В случае, если вы получаете сообщение TNS:no listener (см. Изображение ниже), это означает, что служба прослушивателя не работает. Чтобы запустить его, выполните команду lsnrctl start.

enter image description here

Во-вторых, для операций с базами данных и подключения к удаленным клиентам в список исключений брандмауэра Windows необходимо добавить следующие исполняемые файлы: (см. Изображение)

Oracle_home \ bin \ oracle.exe - исполняемый файл базы данных Oracle

Oracle_home \ bin \ tnslsnr.exe - слушатель Oracle

enter image description here

Наконец, установите Oracle Instant Instant Client на клиентском компьютере (компьютер B) и запустите:

sqlplus user/password@computerA:port/XE

0 голосов
/ 10 сентября 2015
# . /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/password@hostname:1521 as sysdba
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...