Oracle TNS: нетто-имя службы не указано

Помощь! Я новичок в Oracle, который пытается получить доступ к базе данных на старом сервере, который мы унаследовали для клиента.

Я уверен, что у меня есть база данных оракула, и слушатель запущен и работает, но при попытке получить доступ к sqlplus или командам exp, я получаю следующую ошибку:

ORA-12162: TNS: имя сетевой службы указано неправильно

Я отредактировал файл tnsnames.ora, чтобы изменить хост на 127.0.0.1, а не внешний url, и я могу успешно подключить мое соединение, но не получаю намного больше.

Приветствуются любые советы или помощь.

Ответ 1

Попробуйте установить SID Oracle

установить ORACLE_SID = имя базы данных

Ответ 2

Вы пытаетесь локальное соединение (например, "sqlplus u/p" ) или сетевое соединение (например, "sqlplus u/[email protected]" )? Они оба дают вам ту же ошибку?

TNSPING по определению использует сетевое соединение. Я вижу некоторые ссылки, которые указывают, что вы можете получить ошибку 12612 при использовании локального соединения. Таким образом, это возможное объяснение, почему вы видите ошибку SQLPlus, но не TNSPING. Если это так, попробуйте выполнить сетевое подключение.

Локальное соединение не работает, вероятно, из-за неправильного установки ORACLE_SID, как предположил Джон, но его синтаксис может быть неправильным методом для любой используемой оболочки. Убедитесь, что вы используете правильный метод для данной оболочки, например "export ORACLE_SID = name" или "setenv ORACLE_SID name".

Ответ 3

Дэйв Коста представил вам два важных вопроса. Вы пытаетесь подключиться через net8 или локально через extproc? Является ли прослушиватель на локальном компьютере (127.0.0.1 - loop back device) для подключения extproc?

Чтобы использовать протокол подключения net8 или tcp, вам необходимо указать user/pw @tns_alias. Чтобы локально подключиться через extproc, вы должны указать параметр oracle_sid, а затем подключиться через имя /pw.

Я также замечаю, что в tnsalias добавлен домен .world, но файл sqlnet.ora не содержит ссылки на NAMES.DEFAULT_DOMAIN как "мир".

Также каков параметр env для TNS_ADMIN? Убедитесь, что ваши инструменты смотрят на правильный файл tnsnames.ora. Слишком много времени люди изменяют один tnsnames.ora, и программы/программное обеспечение смотрят на другое.

Ответ 4

Я редактировал файл tnsnames.ora, чтобы изменить хост на 127.0.0.1 чем внешний url, и я могу успешно подключить мое соединение, но не получаю намного больше.

В прошлый раз, когда это произошло со мной (tnsping работает, но sqlplus не имеет такого же сообщения об ошибке), проблема заключалась в том, что кто-то скопировал файл tnsnames.ora с Windows-машины и оставил неправильные коды строк в.

Если это так, вам нужно сделать dos2unix.

Эти файлы очень чувствительны к "правильному" белому пространству и табуляции.

Кто-то должен жаловаться на Oracle об этом.

Ответ 5

Проверка файла tnsnames.ora, в моем случае, заняла у меня несколько дней, чтобы выяснить, были ли символы табуляции в строке подключения или другие невидимые специальные символы, которые вызывали его сбой.

Ответ 6

В моем случае проблема заключалась в том, что DSN и ServiceName были настроены одинаково в файле odbc.ini. Это не должно быть проблемой, но только после изменения имени DSN я смог подключиться к базе данных через isql.,