Когда я делаю updateb и нахожу tnsnames.ora, я получаю длинный список из-за различных установок Oracle DB. Мне нужно добавить несколько записей в тот файл tnsnames.ora, который настроен для системы по умолчанию.
Как мне узнать, какой из многих файлов tnsnames.ora действительно используется?
примечание: ни один из 30 лишних экземпляров не находится ни в одной "системной" папке (например, / etc / usr и т. д.) и:
> echo $TNS_ADMIN
TNS_ADMIN: Undefined variable.
> echo $PATH
/usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/local/ade/bin:/usr/NX/bin
> echo $ORACLE_HOME
ORACLE_HOME: Undefined variable.
RHEL4
Если $TNS_ADMIN
не установлен, то tnsnames.ora
должен быть в $ORACLE_HOME/network/admin/
.
Вы можете найти больше объяснений на tnsnames.ora в Справочник по сетевым службам книга.
Для определения стоимости $ORACLE_HOME
, вы можете посмотреть файл /etc/oratab
. Этот файл содержит базу данных и связанные $ORACLE_HOME
и если БД должна запускаться / останавливаться автоматически.
Вы также можете найти некоторую информацию в oraInventory
(посмотри на /etc/oraInventory
папка или /etc/oraInst.loc
файл)
Ваш вывод выше относится к серверу, на котором установлены ваши установки Oracle? Вы вошли в систему как пользователь, имеющий доступ к Oracle? Я не понимаю, как вы могли бы получить доступ к чему-либо Oracle на основе этих выходных данных, если только вы не делаете это через сценарии оболочки, которые каждый раз создают вашу среду. Прошло некоторое время, но IIRC в системах * nix вы должны определить ORACLE_HOME для доступа к Oracle.
Если вы наберете:
sqlplus someuser@somedb
из приведенной выше командной строки, что он вам говорит? Мне кажется, это должно сказать вам, что sqlplus - неизвестная команда. Если нет, то что значит
which sqlplus
сказать тебе?
Если ни ORACLE_HOME, ни TNS_ADMIN не установлены, попробуйте /etc/tnsnames.ora