Установка Oracle – SQLPlus не может найти TNSNAMES.ORA

Вопрос или проблема

Я только что удалил более старую установку Oracle на своем компьютере (которая работала нормально) и установил новую, и новая установка не может найти файл TNSNAMES.ORA, даже несмотря на то, что он находится в папке \network\admin в той же директории установки, что и \bin\sqlplus.exe – и SQLPlus работает, если я подключаюсь, вводя IP и SID напрямую.

Есть ли какая-то настройка, которую я упускаю из виду, которая указывает на TNSNAMES.ORA? Я всегда думал, что он ищет в \network\admin по умолчанию.

Нашёл проблему – человек, который установил Oracle также установил Oracle Data Tools и поместил папку ODT первой в переменной окружения PATH, поэтому по какой-то причине Oracle искал там TNSNAMES (и нашёл пустую в \network\admin\sample). Перенос основной директории Oracle клиента в начало PATH исправил это.

Если вы удалите предыдущий клиент Oracle SQL и установите его заново, должно быть несколько папок, как показано ниже.
В Windows
C:\app\USER\product\ORACLE_CLENT_VERSION\client_INSTANCE-NO\network\admin
Замените строку в верхнем регистре на ваш путь на компьютере.

В Linux, это должно быть в каталоге ./oracle/network/admin.

И строка подключения должна быть такой:

net_service_name= 
 (DESCRIPTION= 
   (ADDRESS=(protocol_address_information))
   (CONNECT_DATA= 
     (SERVICE_NAME=service_name))) 

Думаю, ваша проблема в том, что вы всё ещё используете клиентскую версию предыдущего TNSNAMES.ORA. В C:\app\USER\product\ORACLE_CLENT_VERSION\client_INSTANCE-NO\network\admin первый установленный экземпляр создаёт папку client_1 (client_INSTANCE-NO), а второй экземпляр создаёт папку client_2 и так далее. Вам нужно убедиться, что вы редактируете TNSNAMES.ORA последнего экземпляра.

.

Ответ или решение

При установке нового клиента Oracle может возникнуть ситуация, когда SQLPlus не находит файл TNSNAMES.ORA, даже если он размещён в ожидаемом каталоге. Это распространённая проблема, особенно после удаления старой версии Oracle и установки новой. Давайте подробно разберем возможные причины и решения этого вопроса.

Анализ и решение проблемы

1. Путь к TNSNAMES.ORA

При установке Oracle предполагается, что SQLPlus будет искать файл TNSNAMES.ORA в каталоге network/admin, который находится вместе с bin/sqlplus.exe. Однако существует ряд факторов, которые могут препятствовать этому:

  • Переменная окружения PATH: Как вы уже обнаружили, порядок директорий в переменной среды PATH критически важен. Oracle сначала обращается к каталогам, которые находятся выше в списке PATH. Если у вас установлено несколько Oracle продуктов, один из которых помещён выше в PATH, SQLPlus будет искать TNSNAMES.ORA в этом каталоге.

  • Решение: Переместите главный каталог клиента Oracle в начало переменной PATH. Это можно сделать через Панель управления Windows или через интерфейс командной строки, используя команду setx.

2. Конфликты с другими версиями Oracle

  • Параллельные установки: Если у вас установлено несколько версий Oracle, возможно, вы случайно используете файл TNSNAMES.ORA от предыдущей установки. В каждой установке Oracle создаётся своя структура директорий. Это может быть client_1, client_2 и так далее. Убедитесь, что вы редактируете файл TNSNAMES.ORA в актуальной версии клиента, которую используете.

  • Решение: Проверьте текущий используемый файл TNSNAMES.ORA, используя команду echo %TNS_ADMIN% в командной строке Windows. Это покажет текущий активный каталог для конфигурации сети. Если результат команды пустой, убедитесь, что вы редактируете файл в правильной директории.

3. Конфигурация TNSNAMES.ORA

  • Пример настройки: Файл TNSNAMES.ORA должен содержать правильные параметры подключения. Пример конфигурации:
net_service_name= 
 (DESCRIPTION= 
   (ADDRESS=(PROTOCOL=tcp)(HOST=your_host)(PORT=your_port))
   (CONNECT_DATA= 
     (SERVICE_NAME=your_service_name)))
  • Проверка: Убедитесь, что все параметры, включая адрес, порт и имя сервиса, правильно указаны и соответствуют настройкам вашего сервера баз данных Oracle.

Рекомендации

Для избежания подобных проблем в будущем, следите за следующими моментами:

  • Документация: Внимательно следуйте инструкциям по установке и настройке в официальной документации Oracle.
  • Обновления: Периодически проверяйте обновления для вашего Oracle-клиента.
  • Среда: Используйте одинаковую конфигурацию среды на всех системах, где применяется Oracle, для уменьшения риска ошибок в конфигурации.

Решив вышеуказанные аспекты, вы обеспечите бесперебойную работу SQLPlus с файлом TNSNAMES.ORA. Если потребуется дополнительная помощь, рассмотрите возможность обращения к поддержке Oracle или к специализированным консультационным услугам.

Оцените материал
Добавить комментарий

Капча загружается...