Опыта пока еще мало, немного нагуглил, сложилась такая картина, поправьте, где неправ:
1. Поставил на Debian virtual Oracle XE. Запустил Listneter. В Listener.ora прописаны настройки Listentera:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = debian)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
2. Хочу подключаться к БД через sqlplus. Существует отдельный файл tnsnames.ora, в котором можно создать своего рода alias для подключения к бд, чтобы потом для подключения использовать только логин, пароль, alias. Правильно?
3. Для начала пытаюсь подключиться к БД локально, т.е. с того же сервера. Посмотрел в tnsnames.ora имя alias, но при попытке из под sqlplus подключиться с помощью conn sys/12345@xe получаю
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
Сам tnsnames.ora выглядит следующим образом:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = debian)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
При этом через Application Express (Web) подключаюсь нормально.
Update (пока писал сообщение). Вроде заработало. Хотя бы скажите, насколько верны мои рассуждения?