Как удаленно подключиться к базе данных Oracle 11g

#oracle #oracle11g

#Oracle #oracle11g

Вопрос:

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

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

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

Ответ №1:

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

 sqlplus username/password@hostA:1521 /XE
  

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

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

Ответ №2:

Я устанавливаю сервер Oracle, и он позволяет подключаться с локального компьютера без проблем. Но с другого Maclaptop в моей домашней сети он не может подключиться с помощью Sql Developer или Sql Plus. После проведения некоторых исследований я выяснил, что вам нужно выполнить этот дополнительный шаг:

Используйте Oracle net manager. Выберите прослушиватель. Добавьте IP-адрес (в моем случае это 192.168.1.12) помимо адреса 127.0.0.1 или localhost.

В конечном итоге будет добавлена запись в [OracleHome] product 11.2.0dbhome_1 network admin listener.ora

  • перезапустите службу прослушивания. (примечание: для меня я перезагружаю компьютер один раз, чтобы он заработал)

  • Используйте статус lsnrctl для проверки
    Обратите внимание, что отображается дополнительный ХОСТ = 192.168.1.12, и это то, что нужно для обеспечения работы удаленного подключения.

    C:WindowsSystem32 >статус lsnrctl
    LSNRCTL для 64-разрядной версии Windows: версия 11.2.0.1.0 — Выпуск 05 сентября 2015 13:51:43
    Авторские права (c) 1991, 2010, Oracle. Все права защищены.
    Подключение к (ОПИСАНИЕ =(АДРЕС =(ПРОТОКОЛ = IPC) (КЛЮЧ = EXTPROC1521)))
    СТАТУС ПРОСЛУШИВАТЕЛЯ


    Прослушиватель ПСЕВДОНИМОВ
    Версия TNSLSNR для 64-разрядной Windows: Версия 11.2.0.1.0 —
    Дата начала производства 05 сентября 2015 13:45:18
    Время безотказной работы 0 дней 0 часов 6 минут. На 24 секунды
    отключен уровень трассировки
    , включена безопасность: Проверка подлинности локальной ОС,
    SNMP отключен,
    Файл параметров прослушивателя
    D:oracle11gr2product11.2.0dbhome_1networkadmin listener.Файл журнала прослушивателя ora
    d:oracle11gr2diagtnslsnreagleiilisteneralertlog.xml
    Краткое описание конечных точек прослушивания…
    (ОПИСАНИЕ =(АДРЕС=(ПРОТОКОЛ = ipc)(ИМЯ канала =.pipe EXTPROC1521ipc)))
    (ОПИСАНИЕ=(АДРЕС=(ПРОТОКОЛ = tcp) (ХОСТ = 127.0.0.1) (ПОРТ = 1521)))
    (ОПИСАНИЕ=(АДРЕС =(ПРОТОКОЛ = tcp) (ХОСТ = 192.168.1.12) (ПОРТ = 1521)))
    Краткое описание служб…
    Служба «CLREEXTPROC» имеет 1 экземпляр (ы).
    Экземпляр «CLREEXTPROC», статус НЕИЗВЕСТЕН, имеет 1 обработчик (ы) для этой службы…
    Служба «xe» имеет 1 экземпляр (ы).
    Экземпляр «xe», состояние ГОТОВНОСТИ, имеет 1 обработчик (ы) для этой службы… Служба «xeXDB» имеет 1 экземпляр (ы).
    Экземпляр «xe», состояние ГОТОВНОСТИ, имеет 1 обработчик (ы) для этой службы… Команда успешно завершена

  • используйте tnsping для проверки соединения,
    пропингуйте IPv4-адрес, а не localhost или 127.0.0.1

C:WindowsSystem32 >tnsping 192.168.1.12
Утилита TNS Ping для 64-разрядной версии Windows: версия 11.2.0.1.0 — Выпуск 05 сентября 2015 14:09:11
Авторское право (c) 1997, 2010, Oracle. Все права защищены.
Используемые файлы параметров:
D:oracle11gr2product 11.2.0dbhome_1networkadminsqlnet.ora

Использовался адаптер EZCONNECT для разрешения псевдонима,
пытающегося связаться (ОПИСАНИЕ =(CONNECT_DATA=(SERVICE_NAME =))(АДРЕС =(ПРОТОКОЛ = TCP) (ХОСТ = 192.168.1.12)(ПОРТ = 1521)))
Нормально (0 мс)

Комментарии:

1. Великолепно и максимально просто.

Ответ №3:

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

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

введите описание изображения здесь

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

Oracle_homebinoracle.exe — Исполняемый файл базы данных Oracle

Oracle_homebintnslsnr.exe — Прослушиватель Oracle

введите описание изображения здесь

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

sqlplus user/password@computerA:port/XE

Ответ №4:

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

Теперь нажмите добавить и нажмите далее на следующем экране будет запрошено имя службы здесь вам нужно добавить имя глобальной базы данных oracle для компьютера A (обычно я использую oracle86 для своей установки) теперь нажмите далее на следующем экране выберите протокол, обычно это tcp нажмите далее в поле имя хоста введите имя компьютера A, вы можете найти это в свойствах моего компьютера. Нажмите далее не меняйте порт, пока не измените его на компьютере A нажмите далее и выберите проверить подключение теперь здесь вы можете проверить, работает ваше соединение или нет, если ошибка заключается в неправильном имени пользователя и пароле, затем нажмите кнопку «Учетные данные для входа» и введите правильные имя пользователя и пароль. Если он говорит, что не удается достичь целевого компьютера ot, не найден, вы должны добавить исключение в брандмауэр для порта 1521 или просто отключить брандмауэр на компьютере A.

Ответ №5:

Первый.Необходимо добавить статический 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:appuserproduct11.2.0dbhome_1NETWORKADMINlistener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:appuserproduct11.2.0dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:appuserproduct11.2.0dbhome_1binoraclr11.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:appuser
  

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

 # tnsnames.ora Network Configuration File: E:appuserproduct11.2.0dbhome_1NETWORKADMINtnsnames.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 (например, для меня это 64-разрядная версия Windows 10 Pro)

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

 # listener.ora Network Configuration File: F:appalinasoftproduct11.2.0client_1networkadminlistener.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:appalinasoft
  

Шесть.
С помощью Net Manager создайте имя службы с 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_homebinoracle.exe — Исполняемый файл базы данных Oracle
Oracle_homebintnslsnr.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 /NOOG CONNECT system/oracle@//172.20.14.13:1521/alinadb

Если используется Toad, в моем случае это введите описание изображения здесь

Ответ №6:

 # . /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