Oracle - Listener

 
Vista:

Listener

Publicado por Hernan (6 intervenciones) el 27/08/2004 14:34:01
Gente,
Necesito un poco de ayuda, soy MUY nuevo en ORACLE y necesito entrar a una BDD me instale el oracle developer 10 el driver para entrar por ODBC, configure (como me parecio) el archivo tnsnames.ora etc.. el tema es que cuando le pongo CONECTAR me pide el nombre de la BDD, usr y pass y me da el error ORA 12541 - TNS No hay ningun Listener, me pasa siempre me intente conectar por donde me intente conectar... antes me daba otro error que lo solucione al configurar el archivo .ora
Desde ya Mil gracias !!
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Listener

Publicado por Jorge-DBA (123 intervenciones) el 27/08/2004 21:38:16
Mensaje 1 de 2

He instalado mas de 2 Oracle_Homes con diferentes versiones en varios Database Servers y generalmente me he enfrentado a este problema, lo que he hecho para este caso es reconfigurar el listener principal de escucha de la siguiente manera:

# listener.ora Network Configuration File: C:\orant\ora10g\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\orant\ora10g)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = TEST)
(ORACLE_HOME = c:\orant\ora10g\bin)
(SID_NAME = TEST)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERVER)(PORT = 1521))
)
)

Detienes el listener y lo vuelves a arrancar con el LSNRCTL.EXE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Jorge-DBA (123 intervenciones) el 27/08/2004 21:39:32
Mensaje 2 de 2

y en el TNSNAMES.ora

TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERVER)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TEST)
)
)

Esto te debe de funcionar, y si tienes dominio solo lo tienes que adicionar tanto en el TNSNAMES.ORA, SQLNET.ORA Y LISTENER.ORA

Error code de Oracle: ORA-12541
TNS:no listener

Cause The connection request could not be completed because the listener is not running.
Action Ensure that the supplied destination address matches one of the addresses used by the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on the remote machine.

Copyright (C) 1998, Oracle Corporation

SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Hernan (6 intervenciones) el 27/08/2004 21:53:12
Jorge,
Volvi a configurar el listener.ora cambie el port de defecto y puse otro que saque viendo la conexion que habia abierta entre la aplicacion que usa esta BDD y mi maquina resulto ser el 3203 siempre, el que variaba era el port de mi maquina.
ahora con este puerto me tira otro error (no termino mas) ORA12547 TNS: contacto perdido

voy mejorando o empeore ?? AYUUUDA !!!? !!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Hernan (6 intervenciones) el 27/08/2004 22:07:34
Jorge,
Me olvide de comentarte no tengo acceso al servidor de la BDD como para bajar el listener, modificarlo y subirlo de nuevo, solo me instale el developer 10 para entrar a modo de cliente a la base.
otra complicacion...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Jorge-DBA (123 intervenciones) el 27/08/2004 23:59:16
Mensaje 1 de 2
Recuerda que para tener una conectividad desde un cliente a un Database server tienen que estar sincronixzados 3 archivos del Transparent Network Substrate para que el Listener pueda interpretar la entrega de paquetes de los clientes.

1)Tnsnames.ora
2)Sqlnet.ora
3)Lisneter.ora <--- Por parte del Database server.

Mas capas de red.

Si no tienes acceso al Listener quiero entender que el problema que se esta presentando es solo en tu terminal, te recomiendo realizar lo siguiente:

1)Verifica si tienes en tu Regedit la variable TNS_ADMIN, solo debe haber una sola variable de ambiente, si la tienes, verifica el Full path y es ahi donde debes modificar el TNSNAMES.ora, si no la tienes, solo cuentas con un solo Oracle_HOME, ve al siguiente path: %ORACLE_HOME%\network\admin\ y revisa si estan escritos en ese path tus archivos TNSNAMES.ora + SQLNET.ora.

2) Verifica si la base de datos se encuentra en un dominio de Red ESTO ES MUY IMPORTANTE. Si la BD esta en un dominio, en tu SQLNET.ora verifica el parámetro "NAMES.DEFAULT_COMAIN = " verifica si tienes el dominio con .COM, verifica si tienes el parámetro SQLNET.AUTHENTICATION_SERVICES=NTS y por último revisa el parámetro NAMES.DIRECTORY_PATH = TNSNAMES salva el archivo.

Realiza un ping al database server con el cmd
ejemplo:
ping servertest

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Jorge-DBA (123 intervenciones) el 28/08/2004 00:00:01
Mensaje 2 de 2
si realiza el ping satisfactorio sin perdidas de paquetes verifica cual es el la "IP", una vez que tengas este dato a tu TNSNAMES.ora editalo y cambia el "HOSTNAME" por la "IP"
ejemplo:
TEST.DOMINIO_DE_LA_BASE_DE_DATOS.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 90.0.0.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test)
)
)

Si no tienes dominio puedes omitir (TEST.DOMINIO_DE_LA_BASE_DE_DATOS.COM por el servicio solamente)

Una vez hecho esto realizas un TNSPING desde el CMD

c:\%ORACLE_HOME%\BIN\tnsping 90.0.0.100 TEST 2

Te deben de dar 2 pulsos sin error de perdidas de TNS

Otra opción es copiar los archivos TNSNAMES.ora y SQLNET.ora del servidor y sobreescribirlos en tu network\admin de tu PC y realizas una prueba de conexión.

Si todo esto es muy confuso, y no tienes acceso al server, apoyate en la herramienta "Net Configuration Assistant" solo tienes que capturar la entrada de los parámetos, esta herramienta es instalada en el cliente, buscala en el menu inicio\Porgramas de Windows.

Suerte.!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Hernan (6 intervenciones) el 30/08/2004 15:18:50
Jorge,
Antes que nada MUCHAS GRACIAS !!
Te comento revise los puntos y salvo el primero (no encontre nada en el regedit) estaban todos Ok, solo agregue una linea en el sqlnet.ora (NAMES.DEFAULT_COMAIN= al servidor.com). Realice la primer prueba con un ping a este servidor y esta Ok, tanto por IP como por nombre, pero cuando hago el tnsping me arroja el error que subi en el mensaje anterior (TNS-12547: TNS:contacto perdido).
Para mas datos te comento que la Base a la que estoy intentando entrar es utilizada por una aplicacion que tengo instalada en mi maquina, (pero como esta aplicacion es bastante rigida, estoy intentando entrar de esta manera para armar mis propios reportes...) ¿puede ser que la aplicacion se "comunique" con la BDD sin levantar un listener? de esta manera estoy mas que perdido...
bueno igualmente, Muchas gracias de nuevo.
Saludos !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Jorge-DBA (123 intervenciones) el 30/08/2004 17:23:27
Mensaje 1 de 2

Que tal Hernan, antes que nada quiero comunicarte que tengo un error de parametros del SQLNET.ora que te mandé en una letra,
Cambia:
NAMES.DEFAULT_COMAIN=
por
NAMES.DEFAULT_DOMAIN=
(Este es un error mio)

por otra parte FORZOSAMENTE necesitas de un LISTENER en la base de datos para poderte comunicar con ella, puedes hacer una conexión local sin que el Listener este disponible, pero esto haría que solo usuarios se podrían conectar a través de ella solo con el servidor y no bajo la arquitectura cliente/servidor, Como Administrador de la base de datos Oracle, este problema que expones es muy comun en la conectividad y no es gran problema al que te enfrentas solo es cuestion de revisar si los parámetros en tu cliente como en el Listener esten ok.

Si llegaras a saber de otras terminales que esten en el dominio donde estes trabajando y que tengan conectividad con el Database Server sin problemas, solo copia su TNSNAMES.ORA y el SQLNET.ora de su Home donde se estan conectando al Database Server y sobre-escribe tus archivos de parámetros, verifica si se conectó existosamente.

Es una lastima que no puedes tener control sobre el Listener para verificar si esta corriendo adecuadamente y si tiene el servicio dentro de su archivo de parámetros "LISTNER.ora", lo que te pido de favor es que te comuniques con tu DBA y le comentes lo que esta sucediendo, en caso de que no tengas DBA y llegaras a tener acceso al Database Server, realiza lo siguiente:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Jorge-DBA (123 intervenciones) el 30/08/2004 17:24:08
Mensaje 2 de 2

Entra a menu inicio / configuracion / panel de control/ Herraminetas Administrativas / Servicios --> abrelo y verifica si esta iniciado el servicio de Oracle%Oracle_HOME%TNSListener, si esta iniciado.

Dentro del mismo DBserver entra con una sesión de CMD y ejecuta el siguiente comando:

c:\lsnrctl stat

Deben estar corriendo Satisfactoriamente los servicios, si no existieran errores, el problema obviente esta en el cliente, por el contrario si existen problemas de TNS, "Ahi es donde este el problema" intenta hacer lo siguinete:

c:\lsnrctl start

y debe ejecutarse el listener, si aun asi existen problemas, de levantamiento de Listener, los parámetros del archivo LISTENER.ora puede que esten incorrectos.

Mandame porfavor tu tnsnames.ora y el sqlnet.ora y dime tu dominio donde estas trabajando si lo llegaras a tener, si no solo dime que no existe dominio y dime cual es el SID de la base de datos, tal vez revisando lo parámtros de tu cliente pueda detectar el error.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Hernan (6 intervenciones) el 30/08/2004 19:37:15
Jorge,
Disculpa que te sigo molestando:
Te comento que cambiando la linea que me pasaste con error del sqlnet.ora cambio el mensaje ahora me dice lo siguiente TNS-3505: fallo al resolver el nombre
Con respecto a obtener los archivos de otra maquina aca nadie usa la BDD de esta manera, es decir todos usan la aplicacion y no existen los archivos tnsnames, sqlnet y listener en ninguna maquina (no se el servidor porque no tengo acceso).
Te paso como los tengo configurados (sin datos reales porque hay mucho hacker suelto)
listener.ora:
BASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 66.6.6.66)(PORT = 3203))
)

sqlnet.ora:
NAMES.DEFAULT_DOMAIN =servidor.algo.com
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES)

tnsnames.ora:
BASE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 66.6.66.66)(PORT = 3203))
)
(CONNECT_DATA =
(SERVICE_NAME = servicio)(SID = BP3)
)
)

Desde ya y otra ves MUCHAS GRACIAS !!!!
SALUDOS!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Jorge-DBA (1 intervención) el 30/08/2004 20:31:04
Te mando 2 configuraciones del TNSNAMES.ora prueba con ambas, solo cambia tus parámetros y prueba una por una.

1)

BASE.servidor.algo.com =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 66.6.66.66)(PORT = 3203))
)
(CONNECT_DATA =
(SERVICE_NAME = servicio)(SID = BP3)
)
)

2)

base.servidor.algo.com =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 66.6.66.66)(PORT = 3203))
)
(CONNECT_DATA =
(SERVICE_NAME = NOMBRE_DEL_SID_DE_LA_BASE_DE_DATOS)
)
)

Mandame por favor tus resultados.

Suerte.!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Hernan (6 intervenciones) el 30/08/2004 21:40:31
Jorge,
Con la correccion del primer renglon del tns names (poner el .servidor.algo.com que no estaba) ahora se fue el error anterior (error al resolver el nombre).
Ahora volvio el error 12547 TNS contacto perdido, y creo que puede ser el SERVICE_NAME ya que probe todo lo que me parecio (para optar por tu 2da opcion) y con nada funciono, es decir ya se que el SID es el que te pase pero ahora que pruebo tanto no estoy seguro que el service este bien... y no se como ver el NOMBRE_DEL_SID_DE_LA_BASE_DE_DATOS al que te referis.
¿como podria averiguarlo?

Otra ves MUCHAS GRACIAS,
SALUDOS !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Listener

Publicado por Jorge-DBA (123 intervenciones) el 02/09/2004 01:08:45
Que tal Hernan:

NOMBRE_DEL_SID_DE_LA_BASE_DE_DATOS significa:

System Identification.

Es decir el nombre de la base de datos (No el nombre global)

Por otra parte el mensaje que me comentas: "error al resolver el nombre" que como generalmente se ve es con el error code ORA-12154 significa que no encuentra el parámetro "nombre del servicio", una vez que hiciste la prueba que me comentas, me gustaría saber como es que te estas contectando, es decir si en tu conexión de BD estas poniendo:

SQL>username/password@base <-- solo deja "base"

Te envié un correo electrónico, ¿Puedes revisarlo porfavor?

Espero tu respuesta.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar