[RESPONDIDO] Errores en Sincronización Inicial.

Buenos días.
Estoy con problemas en las sincronizaciones iniciales en pilaga y diaguita.
En ambos sistemas en ambientes de test pero con copias idénticas de los ambientes de producción.
Adjunto logs de las sincronizaciones.
Intento buscar un proveedor en personas arai en pilaga y me tira un mensaje que dice que realice la sincronización inicial por que las bases Pilaga y Arai no parecen estar sincronizadas, cuando en realidad si lo están.
Adjunto dicha captura también.

Saludos.
Rodrigo.


Captura de pantalla de 2017-11-13 09-46-43.png

Captura de pantalla de 2017-11-13 09-46-43.png

logs_sincronizaciones.zip (185 KB)

Hola Rodrigo,

Revisando los errores de los logs que adjuntaste, te comento lo que habría que ajustar.
Existen tablas maestras que deben tener los mismos datos en las 3 bases (Diaguita, Pilaga, Arai Proveedores) caso contrario habrá proveedores que no pueden sincronizarse (están tablas maestras aún no se sincronizan en forma automática, requieren de una acción inicial para corroborar que los datos sean los mismos), puntualmente en su caso veo (según los logs):

  • Falta el concepto con ID 6 en la base Arai Proveedores (catalogos.sau_rt_conceptos_proveedor)

  • Falta la condición (concepto, condicion)=(1, 16) en la base Arai Proveedores (catalogos.sau_rt_condiciones)

  • Falta la condición (concepto, condicion)=(2, 13) en la base Arai Proveedores (catalogos.sau_rt_condiciones)

  • Falta la condición (concepto, condicion)=(2, 14) en la base Arai Proveedores (catalogos.sau_rt_condiciones)

  • Falta la condición (concepto, condicion)=(3, 12) en la base Arai Proveedores (catalogos.sau_rt_condiciones)

  • Falta la condición (concepto, condicion)=(1, 17) en la base Arai Proveedores (catalogos.sau_rt_condiciones)

Y varios otros casos similares que involucran las tablas de conceptos y condiciones, hay dos maneras de agregar estos faltantes:

Una vez realizada esta tarea volver a ejecutar la sincronización inicial desde Pilagá para ver si efectivamente ya no hay datos faltantes y la sincronización se efectúa sin errores, luego habría realizar la misma verificación del lado de Diaguita.

Saludos

Sigo con errores, ahora en Sincronización de datos satélites.
Tengo instalado en pilaga y arai el dblink.
pilaga_2017=# \dx
List of installed extensions
Name | Version | Schema | Description
----------±--------±-------------------±-------------------------------------------------------------
dblink | 1.1 | auxiliar_catalogos | connect to other PostgreSQL databases from within a database
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language

arai=# \dx
List of installed extensions
Name | Version | Schema | Description
---------±--------±-------------------±-------------------------------------------------------------
dblink | 1.1 | auxiliar_catalogos | connect to other PostgreSQL databases from within a database
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language

Log del Error:

COMIENZO Sincronizaci�n datos sat�lites - Pilaga → Arai

Sincronizando rt_conceptos
exception ‘toba_error_db’ with message ’
ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_08001
[MENSAJE]: ERROR: Ha ocurrido un error: 08001/could not establish connection
[SQL EJECUTADA]: SELECT auxiliar_catalogos.sincroniza_rt_conceptos(‘dbname=pilaga_2017 port=5432 host=localhost user=postgres password=**********’, ‘public’); – toba_log: 1849881
’ in /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/lib/db/toba_db.php:328
Stack trace:
#0 /usr/src/proyectos/pilaga311/php/p_nucleo/lib/sincronizador_satelites.php(35): toba_db->ejecutar(‘SELECT auxiliar…’)
#1 /usr/src/proyectos/pilaga311/php/p_nucleo/anexas/con_sincroniza_datos_satelites.php(2): sincronizador_satelites::sincronizar()
#2 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/nucleo/toba_solicitud_consola.php(25): require(‘/usr/src/proyec…’)
#3 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php(188): toba_solicitud_consola->procesar()
#4 /usr/src/proyectos/pilaga311/php/extension_toba/comandos/comando_arai.php(62): toba_nucleo->acceso_consola(‘produccion’, ‘pilaga’, 87000001)
#5 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/comando.php(60): comando_arai->opcion__sincroniza_datos_satelites(NULL)
#6 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/comando.php(54): comando->ejecutar_opcion(‘opcion__sincron…’, NULL)
#7 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/consola.php(74): comando->procesar()
#8 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/consola.php(51): consola->invocar_comando(‘arai’, Array)
#9 /usr/src/proyectos/pilaga311/php/extension_toba/pilaga_comando.php(78): consola->run(Array)
#10 /usr/src/proyectos/pilaga311/php/extension_toba/pilaga_comando.php(142): pilaga_comando->solicitar_consola()
#11 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/comandos/comando_proyecto.php(89): pilaga_comando->opcion__arai(Array)
#12 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/comando.php(54): comando_proyecto->ejecutar_opcion(‘opcion__arai’, NULL)
#13 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/consola.php(74): comando->procesar()
#14 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/consola.php(51): consola->invocar_comando(‘proyecto’, Array)
#15 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/php/consola/run.php(32): consola->run(Array)
#16 /usr/src/proyectos/pilaga311/vendor/siu-toba/framework/bin/toba(16): include(‘/usr/src/proyec…’)
#17 {main}

Rodrigo,

El error que te indica es: ERROR: Ha ocurrido un error: 08001/could not establish connection
Entiendo que se trata de la imposibilidad de conectarse al servidor que indicas en ‘dbname=pilaga_2017 port=5432 host=localhost user=postgres password=**********’, si podés revisá los datos de conexión

Hola Leonardo, muchas gracias.
Sabes que están perfectos los datos de la conexión.
Me resulta rarisimo ese tipo de error.
Gracias nuevamente por la colaboración.

Saludos.

Retomando esto.
Sigo con problemas en la sincronización de datos satélites.
Los bases.ini de los sistemas están configurados así:

[produccion pilaga arai]
motor = “postgres7”
profile = “10.1.3.15”
usuario = “postgres”
clave = “*********”
puerto = 5432
encoding = “LATIN1”
schema = “catalogos”
base = “arai”
Al [produccion pilaga arai] de pilaga lo hago apuntar al servidor Arai.

[produccion diaguita siu_arai]
motor = “postgres7”
profile = “10.1.3.15”
usuario = “postgres”
clave = “*******”
puerto = “5432”
encoding = “LATIN1”
schema = “catalogos”
base = “arai”
Al [produccion diaguita siu_arai] de Diaguita lo hago apuntar al servidor Arai.

Saludos.

Hola Rodrigo,

Si, es raro, podrías probar de ejecutar un comando dblink que involucre a las dos bases por afuera para probar si la conexión se establece correctamente.
La otra opción es revisar manualmente las diferencias en las bases sau_rt_condiciones y sau_rt_conceptos entre las bases Pilaga, Arai Proveedores y Diaguita y armar el script con las diferencias, con eso se solucionarían los errores del log que pasaste, quedaría ver si no existen diferencias en otras tablas maestras o si esas eran todas las diferencias a ajustar.

Si, está correcto, si la base Arai Proveedores la tenés en otro servidor verificá la visibilidad y permisos de conexión accediendo desde afuera, como te comentaba, por ejemplo generando una consulta con dblink de prueba desde el servidor Diaguita o Pilagá podés corroborarlo.

Ejemplo:

SELECT * FROM dblink(‘host=10.1.3.15 port=5432 dbname=arai user=postgres password=*****’, ‘select razon_social from catalogos.mdp_personas’)
AS t1(razon_social varchar(100))

ejecutándola sobre el servidor postgresql donde están las bases Diaguita y Pilaga

Hola Leonardo.
Muchas gracias por la ayuda que me estas dando.
Pude corregir las diferencias en las bases sau_rt_condiciones y sau_rt_conceptos entre las bases Pilaga, Arai Proveedores y Diaguita, quedaron en los tres sistemas iguales dichas tablas.
Ejecute de nuevo la sincronización inicial y ya no me tira los errores que me daba antes al comienzo de la migración pero sigue dandome un par de errores.

Resumen paso 1: Ocurrieron los siguiente errores:

ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_23505
[MENSAJE]: ERROR: duplicate key value violates unique constraint
“idx_anx_personas”
DETAIL: Key (persona_arai)=(4739) already exists.
[SQL EJECUTADA]: UPDATE anx_personas SET persona_arai=4739
WHERE persona=1013330 – toba_log: 1866518

Resumen paso 2:
ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_23503
[MENSAJE]: ERROR: update or delete on table “anx_domicilios” violates
foreign key constraint “r_153” on table “sau_te_sucursales”
DETAIL: Key (domicilio)=(140) is still referenced from table
“sau_te_sucursales”.
[SQL EJECUTADA]: DELETE FROM anx_domicilios WHERE domicilio = 140 –
toba_log: 1866518

Resumen paso 3: OK

Adjunto Logs completo.
Saludos y gracias nuevamente.


sinc_arai_pilaga_inical.log.zip (178 KB)

Hola Rodrigo

Bien, por lo visto el nuevo error tiene que ver con que están guardando sucursales en sau_te_sucursales y casualmente están modificando un proveedor que tiene al menos un domicilio con sucursales, voy a consultar con Pilagá y te confirmo los pasos a seguir.

Muchas gracias Leonardo.
Con respecto al DBlink no lo pude hacer funcionar, se utiliza en otras etapas de las sincronizaciones?
Saludos.

Casualmente hoy a otra UUNN le pasó lo mismo que a vos con dblink, evidentemente hay algo en la configuración de dblink que no termina de funcionar bien en algunas implementaciones, seguramente migremos la librería utilizada en ese comando para evitar estos problemas (postgresql sacó otra alternativa a dblink a partir de su versión 9.5).

Dblink solo se usa para ese comando, que es opcional.

Buenos días Leonardo.
Te cuento que pude sincronizar ya los datos en Diaguita.
Solo que con el “arai_sincronizacion” me devolvía que no se actualizaban los registros en Diaguita.
En cambio cuando hice “arai_resincroniza_base” si pude sincronziar y actualizar la misma cantidad de registros que habia levantado con Pilaga.
Por que puede ser?
Otra cosa, cuando quiero dar de alta una persona nueva desde ABM Personas Arai me aparece la advertencia " La instalación se encuentra configurada para utilizar catálogos comunes pero las bases Pilaga y Arai no parecen estar sincronizadas, o bien existe actividad realizada en modo desconectado que aún no fué sincronizada. Por favor ejecute el comando sincronización inicial para repararlo. ", y no me permite dar de alta una persona.
Adjunto pantalla.

Saludos.


Captura de pantalla de 2017-11-13 09-46-43.png

Captura de pantalla de 2017-11-13 09-46-43.png

Hola Rodrigo,

En principio disculpas por la demora en la respuesta, ese mensaje aparece cuando hay algo que no ha quedado correctamente sincronizado (en este caso en Pilagá que es donde te aparece el mensaje).
Te hago algunas consultas para identificar el problema:

  • Si realizás una sincronización inicial por consola en Pilagá que te devuelve?
  • Podrías enviarme lo que devuelve la ejecución del comando estado (también se ejecuta por consola) ?

Con eso deberíamos poder encontrar el motivo del mensaje de error.

Saludos

Muchas gracias Leonardo.
Con respecto a la sincronización inicial la hace hasta el punto 3, que da los errores de violaciones de claves que ibas a consultar con la gente de Pilaga.
Pero si realiza la sincronización, y si puedo traer los datos luego con Diaguita.
Y con respecto al comando “Estado” me tira:

BASE ARAI PROVEEDORES

Ultimo id_arai: 7756
Valor secuencia sq_sincronizacion_catalogo: 35346
Cantidad proveedores: 7755


BASE PILAGA

Ultimo id_arai: 7756
Valor id_sincronizacion (maximo): 35346
Valor id_operacion (maximo): 116503
Cantidad proveedores: 8656
Cantidad proveedores sincronizados: 7754.

Adjunto los logs de los comandos en cuestión.
Saludos.


sin_arai_log.zip (256 KB)

Bien, por lo que veo como respuesta del comando estado, solo habría un proveedor sin sincronizar, y por eso te aparece el mensaje, porque encuentra un proveedor sin sincronizar (seguramente el del error de las sucursales), vuelvo a reconsultar el tema con la gente de Pilagá para evaluar la mejor alternativa de resolver este caso puntual y te vuelvo a escribir.

Bueno Leonardo.
Muchas gracias por toda la colaboración.
Saludos.

Rodrigo, acabo de hablar con la gente de Pilagá, estuvimos evaluando una solución pero necesitaríamos una backup de su base de Pilagá para confirmar si es factible.
Podrás subir un backup de la base al repositorio?

Gracias

Buenos días Leonardo.
Te cuento que no puedo adjuntar el backup, se queda cargando el mismo todo el tiempo y queda en 0% todo el tiempo cuando carga.
No se si es problema de perfil de foro o algo del estilo.
Te lo podría compartir por google drive?
Saludos.

Buen día,

Si, podés, asignale permisos a lramirez@siu.edu.ar
De todas formas recomendamos el uso del repositorio por cuestiones de privacidad y seguridad, tenés que ingresar a http://comunidad.siu.edu.ar/ loguearte e ingresar a la opción repositorio (te lo comento por las dudas porque me pareció que en un tu respuesta indicabas que intentabas subir la base al foro).