Pregunta

Estoy trabajando en la re-compilar un código Pro * C que nadie actualmente en mi empresa nunca ha compilado. Se compilar bien, pero cuando lo copio al servidor de producción y ejecutarlo me estoy Oracle error ORA-12547 (TNS: el contacto perdido)

¿Alguna idea?

¿Fue útil?

Solución

Oh, figurado a cabo. : -)

El ejecutable C no se ejecuta directamente en el servidor, pero puso en marcha a través de un script que configura el entorno de conexión. es decir, algo como esto:

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

Otros consejos

En relación con esto, me acabo de enterar que me sale el mismo error ORA-12547 TNS perdió contacto en mi máquina de Windows cuando intento conectar a una base de datos Oracle con PL / SQL y, al mismo tiempo que tengo una conexión VPN abierta.

Yo tenía un problema similar en Linux, Oracle 11gR2. Oracle propietario podría ejecutar SQL * Plus y obtener a través de cualquiera de TNS o conexión local. Oracle usuario no podía acceder a través de TNS, pero no como conexión local.

Resulta que la respuesta fue que el sistema de archivos ORACLE_HOME se montó "nosuid". Eliminar esa opción de montaje resuelto mi problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top