Где найти tnsname.ora — Debian

На машине с Debian я могу использовать tnsping для определения имени tnsname.

Но я не могу найти tnsnames.ora на этой машине. (ничего в $ORACLE_HOME/network/admin/)

Итак, как я могу найти файл конфигурации имени tns, используемый командой tnsping? Есть ли какая-нибудь команда (аналогичная tnsping) для поиска файла tnsnames?

ОБНОВЛЕНИЕ: результат команды tnsping:

введите здесь описание изображения Заранее спасибо


person Dieu Luong    schedule 27.07.2016    source источник
comment
Вы должны включить трассировку стека/ошибку, которую вы получили   -  person HungPV    schedule 27.07.2016


Ответы (2)


Общего местоположения нет, и разные приложения/драйверы применяют разные пути поиска с разным порядком и приоритетом.

Проверьте следующие места:

  • $ORACLE_HOME/network/admin/
  • Текущий каталог приложения
  • $TNS_ADMIN (где TNS_ADMIN — настройки переменных среды)

Просто для полноты в случае проверки Windows также

  • Ключ реестра HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (для 64-битной версии)
  • Ключ реестра HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (для 32-битной версии)
  • Файл конфигурации .NET (например, machine.config и/или web.config)

В идеальном случае все они должны указывать на одно и то же место, рассмотрите возможность создания символических ссылок, если это необходимо.

NB, возможно файл tnsnames.ora просто не существует. Создайте такой файл в указанном выше месте.

person Wernfried Domscheit    schedule 27.07.2016
comment
Спасибо за Ваш ответ. Но на этой машине $TNS_ADMIN не является конфигом. Мне нужно настроить $ORACLE_HOME и $PATH; $LD_LIBRARY_PATH для запуска tnsping. - person Dieu Luong; 27.07.2016
comment
Обратитесь к этому вопросу, вы должны попытаться создать этот файл: dba.stackexchange.com/questions/28326/ - person HungPV; 27.07.2016

Вы говорите нам, что tnsping работает... У меня дома инструмент tnsping указывает точное местоположение используемого им sqlnet.ora... tnsnames.ora должен находиться в том же каталоге.

Когда ваша среда настроена правильно, tnsnames должны находиться в указанном каталоге. Если он не существует, вы можете попробовать запустить команду netca и настроить «Конфигурацию методов именования» и добавить пункт назначения с «Конфигурацией имени сетевой службы Locale». Эта утилита создаст sqlnet.ora en tnsnames.ora в расположении по умолчанию.

[oracle@somedir]$ tnsping test                                                                                                                                    

TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 27-JUL-2016 22:00:24                                                                                       

Copyright (c) 1997, 2011, Oracle.  All rights reserved.                                                                                                                   

Used parameter files:                                                                                                                                                     
/home/oracle/app/oracle/product/11.2.3/dbhome_1/network/admin/sqlnet.ora                                                                                                  


Used TNSNAMES adapter to resolve the alias                                                                                                                                
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST)))             
OK (0 msec)                                                                                                                                                               
person hetOrakel    schedule 27.07.2016
comment
Моя команда tnsping не показывает значения используемых файлов параметров. Я обновляю свой вопрос, чтобы добавить изображение результата. - person Dieu Luong; 28.07.2016