Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Error TNS-12564: TNS:connection refused Oracle 11g
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Error TNS-12564: TNS:connection refused Oracle 11g

Publicar nuevo tema Responder al tema
Foros de discusión » Oracle Database, motor de base de datos profesional   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Error TNS-12564: TNS:connection refused Oracle 11g Responder citando

Hola, tengo un servidor con Oracle 11g sobre Linux y varios servidores de Terminal Server con aplicativos de facturación, contabilidad, almacén y RRHH que atacan a la BD de Oracle.

Hasta ahora me habían funcionado bien, tanto los Terminal Server como el servidor de Oracle. Pero recientemente están dando errores de conexión a la base de datos Oracle y ocurre de vez en cuando y casi siempre a los mismos usuarios y en las mismas aplicaciones.

El error que aparece en la aplicación de Contabilidad y Facturación no es muy descritivo, básicamente dice que no se ha podido conectar con la base de datos Oracle, aceptas el error y continúa trabajando.

¿A qué puede ser debido? no tengo conocimientos de Oracle y no sé qué hacer.
MensajePublicado:
Mar Feb 17, 2015 12:13 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error TNS-12564: TNS:connection refused Oracle 11g Responder citando



Anuncios



varios escribió:
Hola, tengo un servidor con Oracle 11g sobre Linux y varios servidores de Terminal Server con aplicativos de facturación, contabilidad, almacén y RRHH que atacan a la BD de Oracle.

Hasta ahora me habían funcionado bien, tanto los Terminal Server como el servidor de Oracle. Pero recientemente están dando errores de conexión a la base de datos Oracle y ocurre de vez en cuando y casi siempre a los mismos usuarios y en las mismas aplicaciones.

El error que aparece en la aplicación de Contabilidad y Facturación no es muy descritivo, básicamente dice que no se ha podido conectar con la base de datos Oracle, aceptas el error y continúa trabajando.

¿A qué puede ser debido? no tengo conocimientos de Oracle y no sé qué hacer.


En primer lugar intenta ver el log del cliente de Oracle que tendrás instalado en los equipos con Terminal Server, si usas el cliente 11g el log suele estar en la carpeta de Oracle de cada usuario, en:

C:\Documents and Settings\XXX\Oracle\oradiag_XXX\diag\clients\user_XXX\host_ZZZ_80\trace\sqlnet.log

(las carpetas pueden variar en función del tipo de configuración e instalación de Oracle Client, si no la encuentras busca en el disco duro "sqlnet.log")

Abre dicho fichero con el bloc de notas y revísalo, ahí suelen venir los posibles errores de conexión con la base de datos en los servidores clientes. Si ves algún error nos lo posteas y lo estudiamos.
MensajePublicado:
Mar Feb 17, 2015 12:16 pm
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Error TNS-12564: TNS:connection refused Oracle 11g Responder citando



Anuncios



alonsojpd escribió:
En primer lugar intenta ver el log del cliente de Oracle que tendrás instalado en los equipos con Terminal Server, si usas el cliente 11g el log suele estar en la carpeta de Oracle de cada usuario, en:

C:\Documents and Settings\XXX\Oracle\oradiag_XXX\diag\clients\user_XXX\host_ZZZ_80\trace\sqlnet.log

(las carpetas pueden variar en función del tipo de configuración e instalación de Oracle Client, si no la encuentras busca en el disco duro "sqlnet.log")

Abre dicho fichero con el bloc de notas y revísalo, ahí suelen venir los posibles errores de conexión con la base de datos en los servidores clientes. Si ves algún error nos lo posteas y lo estudiamos.


Sí que tengo ese fichero, mirando en uno de los usuarios a los que le suele salir el error me aparece lo siguiente, que coincide en la hora con el error que da en la aplicación de contabilidad y facturación:

Fatal NI connect error 12516, connecting to:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVIDOR_ORACLE)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=BDORACLE)(CID=(PROGRAM=C:\App\Conta\contabilidad.exe)(HOST=SERVIDOR_TS_1)(USER=XXX))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 11.2.0.3.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 11.2.0.3.0 - Production
Time: 17-FEB-2015 12:29:07
Tracing not turned on.
Tns error struct:
ns main err code: 12564
TNS-12564: TNS:connection refused
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0


Además veo que el error se repite varias veces ¿a qué puede ser debido? que yo sepa no hemos hecho ningún cambio de configuración ni de Oracle ni de las aplicaciones.
MensajePublicado:
Mar Feb 17, 2015 12:20 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error TNS-12564: TNS:connection refused Oracle 11g Responder citando



Anuncios



varios escribió:
Sí que tengo ese fichero, mirando en uno de los usuarios a los que le suele salir el error me aparece lo siguiente, que coincide en la hora con el error que da en la aplicación de contabilidad y facturación:

Fatal NI connect error 12516, connecting to:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVIDOR_ORACLE)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=BDORACLE)(CID=(PROGRAM=C:\App\Conta\contabilidad.exe)(HOST=SERVIDOR_TS_1)(USER=XXX))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 11.2.0.3.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 11.2.0.3.0 - Production
Time: 17-FEB-2015 12:29:07
Tracing not turned on.
Tns error struct:
ns main err code: 12564
TNS-12564: TNS:connection refused
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0


Además veo que el error se repite varias veces ¿a qué puede ser debido? que yo sepa no hemos hecho ningún cambio de configuración ni de Oracle ni de las aplicaciones.


El error puede ser debido a varios factores, tal vez hayáis incrementado el número de usuarios que utilizan las aplicaciones o alguna otra aplicación que usa la base de datos Oracle y estáis llegando al límite de conexiones simultáneas máximo o al límite de procesos de Oracle.

Esto lo puedes ver desde la línea de comandos de Oracle (con sqlplus) ejecutando:

Código:

select count(*) from v$process;


Esto de dará el número de procesos abiertos actualmente en Oracle.

Para ver el número de sesiones:

Código:

select count(*) from v$sessions;


Las consultas SQL anteriores te mostrarán el número de procesos y de sesiones abiertas actualmente. Si quieres ver el número máximo de procesos y sesiones que admite tu BD Oracle ejecuta, para el número de procesos:

Código:

show parameter processess;


Y para el de sesiones:

Código:

show parameter sessions;


El número de procesos (processes) a establecer en Oracle varía en función de la carga de trabajo que vaya a recibir. Lo aconsejable es establecer un número e ir monitorizando con algún software, como por ejemplo Pandora FMS:

Monitorizar número sesiones abiertas Oracle en Pandora FMS

(el caso anterior es para las sesiones, para los procesos es similar cambiando v$session por v$process)

Y si en algún momento alcalza el límite ir ampliando poco a poco hasta que se quede a unos cuantos de alcanzarlo.

Para el caso del número de sesiones, Oracle recomienda usar la siguiente fórmula:

Número actual de usuarios + Número de procesos en segundo plano + 10% de las cantidades anteriores para contemplar los procesos recursivos

Al igual que con los procesos, para las sesiones, también es recomendable monitorizarlas e ir ajustándolas a lo que realmente necesite nuestra organización:

Monitorizar número sesiones abiertas Oracle en Pandora FMS

Para modificar el valor de los parámetros anteriores puedes ejecutar, en SQL Plus:

Código:

alter system set processes = 500 scope=spfile;
alter system set sessions = 555 scope=spfile;


Con "escope=spfile" harás que el cambio se guarde en el fichero de configuración de Oracle, el cambio se aplicará en el próximo reinicio de la base de datos. Estos parámetros no pueden modificarse online (con scope=both), si lo intentas te devolverá un error: ORA-02095: specified initialization parameter cannot be modified.

Por lo tanto para aplicar los cambios tendrás que reiniciar la base de datos (teniendo en cuenta que durante el reinicio no se podrá trabajar con Oracle) con:

Código:

shutdown immediate


y

Código:

startup


Ten en cuenta también que en Oracle 11g al modificar el parámetro "processes" Oracle calculará y establecerá el valor óptimo para el parámetro "sessions" por lo que aunque establezcas 500 probablemente Oracle incremente ese número.


Ultima edición por alonsojpd el Mar Feb 17, 2015 11:10 pm, editado 2 veces
MensajePublicado:
Mar Feb 17, 2015 1:56 pm
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Re: Error TNS-12564: TNS:connection refused Oracle 11g Responder citando



Anuncios



alonsojpd escribió:
El error puede ser debido a varios factores, tal vez hayáis incrementado el número de usuarios que utilizan las aplicaciones o alguna otra aplicación que usa la base de datos Oracle y estáis llegando al límite de conexiones simultáneas máximo o al límite de procesos de Oracle....niciar Oracle) y que se guarde en el fichero de configuración para cuando se reinicie Oracle también se aplique.


Genial tu explicación, efectivamente parece que estaba rozando el límite de processess, supongo que en algún momento lo intentaría sobrepasar y de ahí el error TNS-12564: TNS:connection refused Oracle 11g.

Una duda ¿hay alguna forma de saber cuántas sesiones hay consumidas por aplicación (ejecutable o algo)? es que efectivamente hemos instalado una nueva aplicación web que usa también Oracle y no sabemos si es esta la que está consumiendo muchas sesiones.
MensajePublicado:
Mar Feb 17, 2015 1:58 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Error TNS-12564: TNS:connection refused Oracle 11g Responder citando



Anuncios



varios escribió:
Una duda ¿hay alguna forma de saber cuántas sesiones hay consumidas por aplicación (ejecutable o algo)? es que efectivamente hemos instalado una nueva aplicación web que usa también Oracle y no sabemos si es esta la que está consumiendo muchas sesiones.


Sí que la hay, puedes usar la siguiente consulta SQL, te devolverá el número de sesiones consumidas por cada aplicación y también de los procesos en segundo plano de Oracle:

Código:

select count(*), program from v$session group by program;


Te devolverá algo así:

COUNT(*) PROGRAM
---------- ------------------------------------------------
39 JDBC Thin Client
11 OMS
1 facturacion.exe
25 contabilidad.exe
61 rrhh.exe
3 emagent@servidor_oracle.ajpdsoft.com (TNS V1-V3)
1 oracle@servidor_oracle.ajpdsoft.com (ARC0)
1 oracle@servidor_oracle.ajpdsoft.com (ARC1)
1 oracle@servidor_oracle.ajpdsoft.com (ARC2)
1 oracle@servidor_oracle.ajpdsoft.com (ARC3)
1 oracle@servidor_oracle.ajpdsoft.com (ASMB)
1 oracle@servidor_oracle.ajpdsoft.com (CJQ0)
1 oracle@servidor_oracle.ajpdsoft.com (CKPT)
1 oracle@servidor_oracle.ajpdsoft.com (DBRM)
1 oracle@servidor_oracle.ajpdsoft.com (DBW0)
1 oracle@servidor_oracle.ajpdsoft.com (DBW1)
1 oracle@servidor_oracle.ajpdsoft.com (DBW2)
1 oracle@servidor_oracle.ajpdsoft.com (DIA0)
1 oracle@servidor_oracle.ajpdsoft.com (DIAG)
1 oracle@servidor_oracle.ajpdsoft.com (DM00)
1 oracle@servidor_oracle.ajpdsoft.com (DW00)
1 oracle@servidor_oracle.ajpdsoft.com (GEN0)
1 oracle@servidor_oracle.ajpdsoft.com (LGWR)
1 oracle@servidor_oracle.ajpdsoft.com (MARK)
1 oracle@servidor_oracle.ajpdsoft.com (MMAN)
1 oracle@servidor_oracle.ajpdsoft.com (MMNL)
1 oracle@servidor_oracle.ajpdsoft.com (MMON)
1 oracle@servidor_oracle.ajpdsoft.com (O000)
1 oracle@servidor_oracle.ajpdsoft.com (O001)
1 oracle@servidor_oracle.ajpdsoft.com (PMON)
1 oracle@servidor_oracle.ajpdsoft.com (PSP0)
1 oracle@servidor_oracle.ajpdsoft.com (Q000)
1 oracle@servidor_oracle.ajpdsoft.com (Q001)
1 oracle@servidor_oracle.ajpdsoft.com (Q002)
1 oracle@servidor_oracle.ajpdsoft.com (Q003)
1 oracle@servidor_oracle.ajpdsoft.com (Q004)
1 oracle@servidor_oracle.ajpdsoft.com (QMNC)
1 oracle@servidor_oracle.ajpdsoft.com (RBAL)
1 oracle@servidor_oracle.ajpdsoft.com (RECO)
1 oracle@servidor_oracle.ajpdsoft.com (SMCO)
1 oracle@servidor_oracle.ajpdsoft.com (SMON)
1 oracle@servidor_oracle.ajpdsoft.com (VKTM)
1 oracle@servidor_oracle.ajpdsoft.com (W000)
1 sqlplus@servidor_oracle.ajpdsoft.com (TNS V1-V3)
1 ude@servidor_oracle.ajpdsoft.com (TNS V1-V3)
MensajePublicado:
Mar Feb 17, 2015 2:06 pm
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: [RESUELTO] Error TNS-12564: connection refused Oracle 11g Responder citando



Anuncios



alonsojpd escribió:
Sí que la hay, puedes usar la siguiente consulta SQL, te devolverá el número de sesiones consumidas por cada aplicación y también de los procesos en segundo plano de Oracle:

Código:

select count(*), program from v$session group by program;


Efectivamente era la aplicación web, que realiza varias conexiones a Oracle.
Muchas gracias por la ayuda.
Solucionado y funcionando correctamente.
MensajePublicado:
Mar Feb 17, 2015 2:14 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Oracle Database, motor de base de datos profesional  

Cambiar a:  
Key
  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