Error ORA-12541: TNS:no listener al conectar aplicaciones a Oracle Database
¿Por qué ocurre el error ORA-12541?
Este error indica que el TNS Listener, el proceso encargado de gestionar las conexiones entrantes a la base de datos, no está activo o es inaccesible. Las causas más frecuentes incluyen:
- El servicio de escucha está detenido en el servidor de bases de datos.
- Configuraciones incorrectas en el archivo
listener.ora(puerto, dirección IP o nombre de servicio). - Problemas de red que bloquean el puerto predeterminado (1521).
Diagnóstico y solución paso a paso
1. Verificar el estado del Listener
Ejecuta el siguiente comando en la consola del servidor Oracle:
lsnrctl status
Si el Listener no está activo, el comando mostrará un mensaje similar a ‘TNS-12541: TNS:no listener’.
2. Iniciar el servicio de escucha
Para reactivarlo, utiliza:
lsnrctl start
Si el comando falla, verifica los permisos del usuario o reinicia el servicio desde Services (Windows) o systemctl (Linux).
3. Validar la configuración en listener.ora
Localiza el archivo en $ORACLE_HOME/network/admin/listener.ora y confirma:
- El puerto (PORT) coincide con el usado en la cadena de conexión.
- La dirección HOST apunta a la IP correcta del servidor.
Ejemplo de configuración válida:
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = servidor.oracle)(PORT = 1521))
)
4. Probar la conexión desde el cliente
Actualiza el archivo tnsnames.ora en el equipo cliente para asegurar que el alias de conexión (TNS) coincide con los parámetros del servidor. Usa tnsping [servicio] para probar la ruta.
Herramientas adicionales de diagnóstico
- Documentación oficial de errores Oracle: Referencia técnica de códigos de error.
- Guía de configuración TNS: Explicación detallada de los archivos de red.
Preguntas frecuentes (FAQs)
¿Puedo usar un puerto diferente al 1521?
Sí, pero debes actualizar tanto el listener.ora como las cadenas de conexión en los clientes para reflejar el cambio.
¿Cómo sé si el puerto está bloqueado por el firewall?
Ejecuta telnet [IP_servidor] [puerto] desde el equipo cliente. Si la conexión falla, revisa las reglas de firewall.
¿El error puede deberse a la versión de Oracle?
Es improbable, pero verifica que los controladores (ODBC/JDBC) en el cliente sean compatibles con la versión del servidor.
Samuel Gil es especialista en infraestructura tecnológica, administración de servidores y desarrollo de servicios digitales. Con una sólida trayectoria en entornos web de alta exigencia, optimización de servidores y gestión de arquitecturas de red, Samuel dedica su labor en faq-box.com a desglosar cuestiones técnicas complejas para convertirlas en guías prácticas, transparentes y de alto valor técnico.
Su enfoque editorial prioriza el rigor, la seguridad en los sistemas y la resolución eficiente de problemas técnicos cotidianos y avanzados. A través de sus análisis, busca ofrecer respuestas directas y contrastadas para profesionales y entusiastas del sector tecnológico.
Cuenta con una sólida formación en el área tecnológica, destacando su especialización a través del Máster en Inteligencia Artificial Aplicada a la Gestión Empresarial y el MBA in Digital Transformation & Artificial Intelligence de ISEEN.EU, lo que aporta un rigor técnico avanzado a cada análisis de desarrollo y arquitectura digital.

