Назад | Перейти на главную страницу

Установите Oracle DB в Linux VM

Я пытаюсь настроить сервер базы данных Oracle (на данный момент только для тестирования) на виртуальной машине.

Настройка, которую я использую:

Эта проблема

Я не могу получить доступ к базе данных (через порт 1521, с помощью sqlplus или разработчика SQL) с хоста. Однако я могу получить к нему доступ из самой виртуальной машины (используя sqlplus).

Я также могу подключиться к виртуальной машине по SSH с хоста, и я могу получить доступ к веб-интерфейсу с хоста, когда перейду к:

http://127.0.0.1:8080/apex

Таким образом, настройка NAT в VirtualBox до некоторой степени работает.

Кажется, слушатель встал, когда я выполняю lsnctrl статус. Файл listener.ora выглядит так:

# listener.ora Network Configuration File:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

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

PS C:\Users\winuser> sqlplus system/thepassword@127.0.0.1

SQL*Plus: Release 11.2.0.3.0 Production on Fr Jul 12 16:56:25 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified

Порт 1521 также кажется активным в виртуальной машине, и переадресация портов настроена соответствующим образом в VirtualBox:

[root@localhost admin]# nmap 127.0.0.1

Starting Nmap 5.51 ( http://nmap.org ) at 2013-07-12 17:02 CEST
Nmap scan report for localhost.localdomain (127.0.0.1)
Host is up (0.0000050s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
111/tcp  open  rpcbind
631/tcp  open  ipp
1521/tcp open  oracle
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds

Спасибо за любые советы или предложения.

Вы не можете подключиться к базе данных, используя только IP-адрес.

Бегать

lsnrctl status

на гостевой машине, чтобы узнать имя службы и имя экземпляра (например, ORCL). Затем отредактируйте tnsnames.ora на хост-машине следующим образом:

ORCL=
(DESCRIPTION=
 (ADDRESS=
   (PROTOCOL=TCP)
   (HOST=127.0.0.1)
   (PORT=1521)
 )
 (CONNECT_DATA=
   (SERVER=dedicated)
   (SERVICE_NAME=your_service_name_here)
 )
)

и попробуйте TNSPING:

tnsping ORCL

Это должно было сказать что-то вроде «Хорошо (20 мс)». Наконец, запустите sqlplus:

sqlplus user/password@ORCL

Для получения дополнительной информации прочтите документацию Oracle: http://www.oracle.com/pls/db112/portal.portal_db?selected=4&frame=#network_management

Похоже на проблему с сетевой конфигурацией Oracle. Либо используйте сетевой менеджер, либо вручную отредактируйте sqlnet.ora и tnsnames.ora в $ ORACLE_HOME / network / admin.