Question

Je travaille sur recompiler un code Pro * C qui ne actuellement à mon entreprise n'a jamais compilé. Il est la compilation OK, mais quand je copie sur le serveur de production et de l'exécuter, je reçois l'erreur Oracle ORA-12547 (TNS: contact perdu)

Toutes les idées?

Était-ce utile?

La solution

Oh, compris. : -)

L'exécutable C est pas exécuté directement sur le serveur, mais lancé par un script qui définit l'environnement de connexion. à-dire quelque chose comme ceci:

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

Autres conseils

À cet égard, je viens de découvrir que je reçois la même erreur TNS ORA-12547 a perdu le contact sur ma machine Windows lorsque je tente de se connecter à une base de données Oracle avec PL / SQL et en même temps, j'ai une connexion VPN ouvert.

J'ai eu un problème similaire sur Linux, Oracle 11gR2. propriétaire Oracle pourrait exécuter SQL * Plus et obtenir via TNS ou soit une connexion locale. utilisateur non-Oracle pourrait se connecter via TNS, mais pas la connexion locale.

Transforme la réponse était que le système de fichiers ORACLE_HOME a été monté « nosuid ». Enlever cette option de montage résolu mon problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top