Borderline ServerFault, но я решил сначала попробовать здесь, так как в прошлом мне везло с вопросами Oracle.
Я пытаюсь подключиться к базе данных Oracle с помощью PHP и получаю следующую ошибку.
ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
Это ошибка, о которой сообщает PHP, и ошибка, которая отображается в Oracle listener.log.
Моя непосредственная проблема - исправить эту ошибку. На более крупный вопрос, на который я хотел бы ответить, как работает модель соединения Oracle?
Это среда разработки, которая работает на моей локальной машине с Windows и работает до сих пор. К сожалению, среда была передана мне (я не настроил ее), и люди, которые сделали , не могут ее отладить.
Если бы я получал похожую ошибку с MySQL или PostgreSQL (две системы, с которыми я более знаком), я бы проверил, чтобы убедиться, что процесс базы данных запущен, а затем попытался бы вручную подключиться к базе данных, используя имя пользователя / пароль / строка подключения. К сожалению, я не знаком с инструментами Oracle для Windows (кроме SQL Developer) и не знаю, что такое TNS: слушатель или SID в контексте Oracle (у меня есть смутные идеи, но смутные идеи редко помогают, когда вы отлаживаете что-то вроде этого)
Буду признателен за любой общий совет.
Обновлений по комментариям:
В моем файле tnsnames.ora есть несколько записей, соответствующая запись:
OBS2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = steel-ae39650)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = OBS2)
)
)
Это не отражено в списке случаев, когда я запускаю
LSNRCTL> services
Итак, я думаю, что мой следующий вопрос: как мне попытаться вручную запустить экземпляр OBS2?