Knowledge Base - ORA-12541: TNS: no listener

Estaba configurando una aplicacion con conexion a base de datos hoy y me encontre con esto. ORA-12541: TNS: no listener. Normalmente esta aplicacion corre sin complicaciones con otros usuarios de esa computadora, pero ahora resulta que no quiere correr.

Este error es clasico de las aplicaciones que usan conexiones a bases de datos de ORACLE. Normalmente se refiere a un problema de permisos. Digo normalmentr, porque un soporte de ORACLE certificado de dira que lo primero que revise sea los archivos TNS names y ORA que se encuentran en c:\oracle. Verificar que esten y que se encuentren bien configurados. Osea, con el servidor y puertos correctos. Tambien se nos indicaria a hacer una prueba de TNS. Abrimos el Command Prompt y corremos el comando tnsping, y verificamos que el TNS este resoviendo nombres correctamente.

Otra cosa que seria indicado hacer es verificar que el servicio listener este corriendo. En linux se procederia de la siguiente forma:
# lsnrctl status
Con ese comando verificariamos si esta activo el servicio. Para iniciarlo utilizariamos este:
# lsnrctl start
Esto se hace mas simple en Windows donde solo hay que ir a la parte de servicios y verificar que el servicio listener este iniciado.



Ahora bien, si recuerdan, mi escenario era que el sistema corre bien con un usuario en especifico y con otro usuario en la misma PC no. Por ende, en sistemas que ya estan funcionando debidamente con un usuario, revisar todo lo anterior resulta innecesario puesto que sin eso los sistemas no funcionarian con ningun usuario. Osea, cuando el problema sea con un usuario en particular, lo que debe hacer es verificar los permisos del usuario sobre el directorio oracle. En las empresas normalmente usan estaciones con Windows en donde los usuarios no poseen permisos administrativos sobre las computadoras que usan, y cuando usan aplicaciones con clientes de ORACLE, salen los macos.



Para no tener que dar permisos administrativos al usuarios sobre esa PC, haga clic derecho en la carpeta \oracle, y en Security añada al usuario en cuestion. Concedales todos los permisos (FULL) y listo.

Con eso deberia funcionar.

Knowledge Base
Fuente: ELTECNIQUITO Labs

Comentarios