Oracle Pro*C ORA-12547
-
13-09-2019 - |
Вопрос
Я работаю над повторной компиляцией некоторого кода Pro * C, который в настоящее время никто в моей компании никогда не компилировал.Он компилируется нормально, но когда я копирую его на рабочий сервер и запускаю, я получаю ошибку Oracle ORA-12547 (TNS:потерянный контакт)
Есть какие-нибудь идеи?
Решение
О, я это понял.:-)
Исполняемый файл C запускается не непосредственно на сервере, а с помощью скрипта, который настраивает среду подключения.т. е.что- то вроде этого:
export SHLIB_PATH=/oracleDatabaseSidHere/oracle/10.2/lib:/usr/lib:/oracleDatabaseSidHere/oracle/10.2/odg/lib
export ORACLE_BASE=/oracleDatabaseSidHere/oracle
export ORACLE_SID=oracleDatabaseSidHere
export ORACLE_HOME=/oracleDatabaseSidHere/oracle/10.2
# Set up the path and executable to run
PATH=.\:$PATH:$ORACLE_HOME/bin:/usrlocal/bin
PATH=$PATH:/path_to_application_logs
cd /path_to_application
application
Другие советы
В связи с этим я только что узнал, что получаю ту же ошибку ORA-12547 TNS потерял контакт на моем компьютере с Windows, когда я пытаюсь подключиться к базе данных Oracle с помощью PL / SQL, и в то же время у меня открыто VPN-соединение.
У меня была аналогичная проблема в Linux, Oracle 11gR2.Владелец Oracle может запустить SQL * Plus и подключиться либо через TNS, либо по локальному соединению.Пользователь, не являющийся пользователем Oracle, может войти в систему через TNS, но не как локальное соединение.
Оказывается, ответ заключался в том, что файловая система ORACLE_HOME была смонтирована "nosuid".Удаление этой опции монтирования решило мою проблему.