Admito un servidor web IIS 7.5 y he tenido algunos problemas con mis grupos de aplicaciones. Lo que veo es que, de vez en cuando, las aplicaciones que utilizan conexiones a bases de datos Oracle dejarán de funcionar y arrojarán el error "ORA-12154: TNS: no se pudo resolver el identificador de conexión especificado". Lo que es exasperante es que nada ha cambiado en el servidor de base de datos, el servidor web o dentro de la aplicación. Probé un TNS Ping a la base de datos y se conecta bien. Las aplicaciones en el mismo grupo de aplicaciones que usan bases de datos de SQL Server no parecen tener problemas.
IMPORTANTE: Si cambio la aplicación para que pertenezca a un grupo de aplicaciones diferente, comienza a funcionar nuevamente. Si vuelvo a cambiarlo al grupo de aplicaciones original, el error persiste.
¿Qué podría estar pasando aquí? No entiendo por qué el problema aparece de la nada y solo afecta a ciertos grupos.
¡Gracias!
Respuesta1
Intente hacer ping a su oyente TNS para ver si ocurre algo como esto en Linux:
tnsping oracle
...
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oracle)))
...
OK (2311770 msec)
Si está activo pero no puedes obtener el estado del oyente TNS de esta manera:
lsnrctl status
TNS-01153: Failed to process string: �9M0
Intente forzar al oyente a actualizarse sin errores con el siguiente comando (nuevamente, esto es una búsqueda de Linux para el comando equivalente de Windows Server):
lsnrctl start oracle
TNS-01106: Listener using listener name LISTENER has already been started
Puede estar relacionado con el hardware/y/o/el ajuste incorrecto de Oracle/y/o/la configuración incorrecta de Oracle. Tengo exactamente el mismo error que usted, excepto que estoy ejecutando Apache-Tomcat como servidor web, e inmediatamente después de iniciar el servidor web. mi servicio Oracle se detiene (TNS: error de escucha, y en mi aplicación web veo la excepción Socket Time Out). No es como si tuvieras la oportunidad de ejecutar tus aplicaciones por un tiempo antes de que el servicio TNS se detenga, supongo que esa es la parte del sistema operativo.
Estoy usando una máquina virtual, VM Fusion con CentOS 6.6 instalado, esta VM funciona bien solo en 1 de 3 computadoras portátiles diferentes, puedo confirmar que podría estar relacionado con la memoria RAM, ¿cómo se ve la RAM de su servidor cuando eso sucede? Incrementé esto varias veces y solucionó el problema, pero luego volvió y la única forma de deshacerme de él era monitorear la RAM y limpiarla automáticamente cuando alcanza el máximo y luego forzarla a ejecutarse con:
lsnrctl start oracle