Как перечислить имена сервисов в базе данных Oracle без доступа к ssh

Используя базу данных Oracle 9i, есть ли способ перечислить все имена активных служб, если я не знаю, какие базы данных/SID/имена служб работают?

Я пытаюсь подключиться, но основная ошибка

Прослушиватель отказался от соединения со следующей ошибкой: ORA-12504, TNS: прослушивателю не был предоставлен SID в CONNECT_DATA.

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

Прослушиватель отказался от соединения со следующей ошибкой: ORA-12514, TNS: прослушиватель в настоящее время не знает об услуге, запрошенной в дескрипторе подключения.

База данных представляет собой Oracle 9i, работающую на сервере в той же локальной сети. Очевидно, у меня есть имя хоста, порт, имя пользователя и пароль для подключения к базе данных (у меня нет доступа к командной строке сервера).

Я пытаюсь подключиться с помощью разработчика Oracle SQL (а также пробовал в PHP 7 с использованием последней библиотеки PECL).

Спасибо!


person DavideN    schedule 17.01.2017    source источник
comment
Состояние $lsnrctl. Слушатель отвечает за раскрытие service_names миру. Вы также можете войти в sqlplus / как sysdba и заглянуть в dba_services.   -  person Bjarte Brandt    schedule 17.01.2017
comment
Для lsnrctl мне нужен доступ к командной строке на компьютере с базой данных, которого у меня нет. А что касается подключения в качестве sysdba, когда я выбираю эту опцию в разработчике oracle sql, он все равно спрашивает у меня имя службы.   -  person DavideN    schedule 17.01.2017
comment
У вас есть каталог ldap для поиска tns или файл tnsnames.ora, который вы можете запросить?   -  person Bjarte Brandt    schedule 17.01.2017


Ответы (1)


Можно только «угадать» SID (существует множество методов, описанных в базе данных https://erpscan.com/wp-content/uploads/pub/Different%20ways%20to%20guess%20Oracle%20database).%20SID.pdf ), но есть не является простым способом получить его без доступа к tnsnames.ora или подобным.

person DavideN    schedule 06.02.2017