Для чего используется переменная TNS_ADMIN в Oracle?

Скажите, пожалуйста, для чего нужен параметр TNS_ADMIN в Oracle? Я работаю над Unix, используя базу данных оракула.

Требуется ли этот параметр для поиска файла sqlplus. Я выполняю скрипт, в котором выполняется запрос на обновление базы данных Oracle.

Скрипт завершается с кодом ошибки 127 при выполнении с помощью crontab.

Содержимое скрипта, которое, как я подозреваю (eval), не работает,

----------
cmd='sqlplus ${ORALOGIN} < SQLS
----------
eval $cmd

person Sachin Chourasiya    schedule 30.11.2009    source источник
comment
Я не минусовал, но вам может быть интересно прочитать: asktom.oracle.com/pls/asktom/   -  person OMG Ponies    schedule 30.11.2009


Ответы (1)


TNS_ADMIN сообщает sqlplus, где найти файл tnsnames.ora.

Если вы запускаете sqlplus из crontab, то нормальная причина проблем:

  1. Неверный путь
  2. Отсутствие правильно установленного ORACLE_SID или другой информации о соединении с Oracle
  3. Сценарий запуска/входа, который выполняется при входе в систему, который мешает выполнению вашего cron.
  4. Некоторый скрипт, который вы запускаете из командной строки при входе в систему, который настраивает вашу среду Oracle, который не выполняется в вашем crontab.

Проверьте эти и другие элементы, связанные с окружающей средой. Мне всегда требуется несколько проходов, чтобы заставить crontab и Oracle работать вместе.

person Philip Schlump    schedule 30.11.2009
comment
Помимо этого, какова цель TNS_ADMIN? - person Sachin Chourasiya; 30.11.2009
comment
Как сказал Филипп в начале, TNS_ADMIN сообщает sqlplus, где найти файл tnsnames.ora. Это в основном все! Или вы хотите знать, для чего нужен файл tnsnames.ora? - person Tony Andrews; 30.11.2009
comment
Расположение по умолчанию для файлов конфигурации Net8 — $ORACLE_HOME/network/admin. Вы можете переопределить это, используя переменную среды TNS_ADMIN, чтобы указать каталог, в котором Oracle найдет файл sqlnet.ora. - person spencer7593; 01.12.2009