Asunto: Error Oracle 12c ORA-12154 could not resolve the connect
Hola, tengo un servidor con Oracle 12c y Linux CentOS 7, la base de datos funciona bien en el propio servidor Linux, pero para las conexiones externas intento usar ODBC de Oracle 12c y me da este error:
---------------------------
Testing Connection
---------------------------
Unable to connect
SQLState=08004
[Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve the connect identifier specified
¿A qué puede ser debido? no tengo conocimientos de Oracle. En mi empresa se usa como servidor de base de datos para las aplicaciones de Recursos Humanos, Contabilidad y Facturación. Lo estoy intentando pasar de Windows a Linux por temas de licencias pero no consigo que funcionen las conexiones externas.
El cortafuegos de Linux CentOS 7 lo deshabilité (por si acaso) con los comandos:
Código:
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
Pero sigue sin funcionar.
Publicado:
Dom Jul 12, 2015 8:34 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error Oracle 12c ORA-12154 could not resolve the connect
Anuncios
varios escribió:
[Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve the connect identifier specified
En primer lugar revisa que el fichero tnsnames.ora del equipo cliente desde el que estés intentando conectarte al sevidor Oracle está correctamente configurado. Edítalo con cualquier editor de texto plano y revisa si la IP o nombre de red y el SID de Oracle son correctos. Un ejemplo del contenido de este fichero:
* En HOST se debe indicar la IP o el nombre de red (nombre DNS o hostname) del equipo con Linux, si te estás conectando desde un equipo Windows y no tienes en el servidor DNS añadido el nombre de red del servidor Linux lo más fiable es usar la IP.
* En PORT debes indicar el puerto que uses para Oracle 12c, por defecto es el 1521.
* En SERVICE_NAME es muy importante que introduzcas el SID de la base de datos Oracle 12c a la que te quieras conectar.
Para obtener el SID, desde el servidor Linux con Oracle, abre SQL*Plus con el usuario "oracle" y comando:
Código:
sqlplus /nolog
Luego conéctate a la base de datos con el comando:
Código:
conn / as sysdba
Y ejecuta la siguiente select para obtener el SID de la BD:
Código:
select * from global_name;
El valor que te devuelva es el que debes colocar en SERVICE_NAME en el fichero tnsnames.ora.
Nota: el fichero tnsnames.ora suele estar en la carpeta de instalación del cliente de Oracle (o del ODBC) y en .../network/admin. Por ejemplo:
Si usas los ODBC de Oracle en un equipo Windows deberás tener la variable de entorno TNS_ADMIN apuntando a la carpeta donde esté el tnsnames.ora.
Publicado:
Dom Jul 12, 2015 8:44 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error Oracle 12c ORA-12154 could not resolve the connect
Anuncios
He revisado todo lo que comentas en el tnsnames.ora y lo tengo bien, la IP y el SID de Oracle. Me sigue dando el mismo error.
Publicado:
Dom Jul 12, 2015 8:45 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error Oracle 12c ORA-12154 could not resolve the connect
Anuncios
varios escribió:
He revisado todo lo que comentas en el tnsnames.ora y lo tengo bien, la IP y el SID de Oracle. Me sigue dando el mismo error.
Ok, si tienes dehabilitado el cortafuegos de Linux y el equipo cliente ve en la red al equipo Linux, revisa el estado del Listener en el servidor Linux con Oracle 12c. Abre una ventana de terminal y accede con el usuario "oracle", con:
Código:
su - oracle
Ejecuta el siguiente comando para acceder a la configuración del Listener:
Código:
lsnrctl
Se abrirá una línea de comandos para configurar el Listener, ejecuta lo siguiente para comprobar el estado:
Código:
status
Y dinos qué te devuelve.
Publicado:
Dom Jul 12, 2015 8:49 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error Oracle 12c ORA-12154 could not resolve the connect
Anuncios
alonsojpd escribió:
Ejecuta el siguiente comando para acceder a la configuración del Listener:
Código:
lsnrctl
Se abrirá una línea de comandos para configurar el Listener, ejecuta lo siguiente para comprobar el estado:
Código:
status
Y dinos qué te devuelve.
Me devuelve esto:
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=soraclel)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Publicado:
Dom Jul 12, 2015 8:51 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error Oracle 12c ORA-12154 could not resolve the connect
Anuncios
varios escribió:
Me devuelve esto:
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=soraclel)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Ok, eso quiere decir que no tienes iniciado el Listener en el servidor Linux con Oracle, por lo tanto no está escuchando las peticiones de los equipos cliente.
En la misma consola de lsnrctl ejecuta:
Código:
startup
Y vuelve a postearnos el resultado. Puedes ejecutar luego el status nuevamente.
Publicado:
Dom Jul 12, 2015 8:55 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Error Oracle 12c ORA-12154 could not resolve the connect
Anuncios
alonsojpd escribió:
En la misma consola de lsnrctl ejecuta:
Código:
startup
Y vuelve a postearnos el resultado. Puedes ejecutar luego el status nuevamente.
El "startup" me devuelve:
LSNRCTL> start
Starting /ora01/app/oracle/product/12.1.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 12.1.0.2.0 - Production
System parameter file is /ora01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
Log messages written to /ora01/app/oracle/diag/tnslsnr/srvora12/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=srvora12.ajpdsoft.local)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 12-JUL-2015 23:51:37
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /ora01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
Listener Log File /ora01/app/oracle/diag/tnslsnr/srvora12/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
The listener supports no services
The command completed successfully
Y el "status" me devuelve:
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=soracle)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 12-JUL-2015 23:51:37
Uptime 0 days 0 hr. 6 min. 17 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /ora01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
Listener Log File /ora01/app/oracle/diag/tnslsnr/srvora12/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=localhost)(PORT=5500))(Security=(my_wallet_directory=/ora01/app/oracle/admin/AJPDSOFT/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "AJPDSOFT" has 1 instance(s).
Instance "AJPDSOFT", status READY, has 1 handler(s) for this service...
Service "AJPDSOFTXDB" has 1 instance(s).
Instance "AJPDSOFT", status READY, has 1 handler(s) for this service...
Service "bdcontenedor" has 1 instance(s).
Instance "AJPDSOFT", status READY, has 1 handler(s) for this service...
The command completed successfully
Publicado:
Dom Jul 12, 2015 8:58 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error Oracle 12c ORA-12154 could not resolve the connect
Anuncios
varios escribió:
El "startup" me devuelve:
LSNRCTL> start
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
The listener supports no services
The command completed successfully
Y el "status" me devuelve:
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=soracle)(PORT=1521)))
Services Summary...
The command completed successfully
Ok, vuelve a intentar conectarte desde los clientes mediante ODBC o el método que uses de conexión. Ahora sí tienes el Listener iniciado.
Publicado:
Dom Jul 12, 2015 9:00 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: [RESUELTO] Error Oracle ORA-12154 could not resolve connect
Anuncios
alonsojpd escribió:
Ok, vuelve a intentar conectarte desde los clientes mediante ODBC o el método que uses de conexión. Ahora sí tienes el Listener iniciado.
Genial, soluciado, ahora sí me conecta mediante ODBC desde equipo Windows.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A