Вопрос

Я работаю над повторной компиляцией некоторого кода 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".Удаление этой опции монтирования решило мою проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top