Подключитесь к двум БД с помощью кошелька Oracle без изменения пути TNS_ADMIN

-bash-4.1$ export TNS_ADMIN="/tmp/PKI/DB_A"
-bash-4.1$ sqlplus /@DB_A

Подключается нормально

-bash-4.1$ export TNS_ADMIN="/tmp/PKI/DB_B"
-bash-4.1$ sqlplus /@DB_B

Подключается нормально

-bash-4.1$ sqlplus /@DB_A

Ошибка входа в систему запрещена (так как последний путь TNS_ADMIN указывает на DB_A)

Существует возможность использования имен TNS с JDBC, т. Е. Установить свойство oracle.net.TNS_ADMIN в каталог, содержащий ваш файл tnsnames.ora ( java -Doracle.net.tns_admin=$ORACLE_HOME/network/admin).

Ситуация, я не смогу изменить путь TNS_ADMIN. Есть ли в Oracle sqlplus какой-либо вариант НЕ указывать путь TNS_ADMIN, но, кажется, без проблем подключаться к DB_A и DB_B?

1 ответ

Вы можете подключиться напрямую к БД следующим образом:

sqlplus /@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.10)(PORT=1521))(CONNECT_DATA=(SERVER= DEDICATED)(SERVICE_NAME=DB_A)))"

т.е. скопировать полный текст из tnsnames.ora файл, который вы хотели бы использовать. Удалите все разрывы строк для использования в командной строке.

Другие вопросы по тегам