Problemas con la migración de Matrículas - SIU GUARANI versión 3.16.2

Buenos díass,

Estamos intentando hacer la migración de matrículas (Migración (./02_Modulos/05_Matriculas/02_Migracion/mig_matriculas.kjb)), y nos surgió el siguiente error:
(adjunto imagen del proceso y archivo con el resultado)

2020/01/17 10:07:01 - alumnos - ERROR (version 8.3.0.0-371, build 8.3.0.0-371 from 2019-06-11 11.09.08 by buildguy) : Ocurrió un error al ejecutar esta entrada de trabajo:
2020/01/17 10:07:01 - alumnos - Couldn’t execute SQL: SELECT * FROM ext.mig_alumnos()
2020/01/17 10:07:01 - alumnos -
2020/01/17 10:07:01 - alumnos - ERROR: out of shared memory
Hint: You might need to increase max_locks_per_transaction.
Where: SQL statement “INSERT INTO sga_propuestas_aspira (propuesta_aspira, persona,periodo_insc,anio_academico,propuesta,plan_version,modalidad,ubicacion,fecha_inscripcion,fecha_alta,situacion_asp)
2020/01/17 10:07:01 - alumnos - VALUES(cursor1.propuesta_aspira, _persona,_periodo_insc,cursor1.anio_academico,cursor1.propuesta,
2020/01/17 10:07:01 - alumnos - cursor1.plan_version_ingreso,
2020/01/17 10:07:01 - alumnos - cursor1.modalidad,cursor1.ubicacion,cursor1.fecha_inscripcion,cursor1.fecha_inscripcion,
2020/01/17 10:07:01 - alumnos - CASE cursor1.estado_inscripcion
2020/01/17 10:07:01 - alumnos - WHEN ‘P’ THEN 1
2020/01/17 10:07:01 - alumnos - WHEN ‘A’ THEN 2
2020/01/17 10:07:01 - alumnos - WHEN ‘R’ THEN 3
2020/01/17 10:07:01 - alumnos - END
2020/01/17 10:07:01 - alumnos - )”
PL/pgSQL function ext.mig_alumnos() line 109 at SQL statement
2020/01/17 10:07:01 - pg_conexion - Connection to database closed!

Seguimos la documentación correspondiente http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.16.0/Migracion/Desde_sistemas_externos/Migracion/Matricula y el archivo .csv cumple con el formato establecido.

Saludos,
Valeria


resultado mig_matriculas.txt (28.5 KB)

ScreenHunter_26 Jan. 17 10.10.gif

ScreenHunter_26 Jan. 17 10.10.png

Valeria, lo que indica alli es que es un problema de la configuracion de la base de datos.
Hint: You might need to increase max_locks_per_transaction.

Revisen la configuración del Postgres . Archivo \PostgreSQL<version>\data\postgres.conf y seteen un valor mayor en el parámetro max_locks_per_transaction que por defecto la instalación lo deja comentado.
Revisen y ajusten otros parámetros relacionados con el uso de la memoria (shared_buffers, temp_buffers, work_mem…)

Gracias Alejandro!!!

No funciono la modificacion del parámetro max_locks_per_transaction , por lo que se decidio subir un GDS,

Solicitud número 44565: Problemas con la migración de Matrículas - SIU GUARANI versión 3.16.2

Saludos,
Valeria

Luego de la modificacion, deben bajar y volver a levantar el postgres.
¿Que error les da ahora? Sigue el mismo error? Intentaron incrementar aun mas el valor de ese parámetro?
¿Cuantos registros en la tabla mig.sga_carreras_aspira ?

Hola Alejandro,

Buen día!!!
Sigue dando el mismo error, se incremento el parametro a 640 (estaba en 64) … la tabla mig.sga_carreras_aspira no la tengo creada dentro del esquema ext, adjunto captura de pantalla.

Saludos,
Valeria


ScreenHunter_30 Jan. 20 10.59.gif

ScreenHunter_30 Jan. 20 10.59.png

Tengo una tabla sga_propuesta_aspira dentro del esquema negocio con 308 registros.

Alejandro,

Una consulta más, puedo probar de dividir el archivo mig_matriculas ya que tiene 73945 registros, en 2 o 3 partes?

Gracias
Valeria

Alejandro,

Te adjunto una captura de pantalla del spoon, en donde al conectarme a la conexion de la base puedo ver los registros que tiene la tabla mig_alumnos y la tabla mig_propuesta_aspira_seq que detallo a continuación el detalle

sequence_name last_value start_value increment_by max_value min_value cache_value log_cnt is_cycled is_called
mig_propuesta_aspira_seq 74274 1 1 9223372036854775807 1 1 9 N Y

Gracias

Saludos,
Valeria


ScreenHunter_32 Jan. 21 10.50.gif

ScreenHunter_32 Jan. 21 10.50.png

Una consulta más, puedo probar de dividir el archivo mig_matriculas ya que tiene 73945 registros, en 2 o 3 partes?
Si, podes hacer la migracion por parte de los alumnos en el modulo de Matrícula
Sigue dando el mismo error, se incremento el parametro a 640 (estaba en 64) ... la tabla mig.sga_carreras_aspira no la tengo creada dentro del esquema ext, adjunto captura de pantalla.
Me equivoqué. La tabla [b]mig.sga_carreras_aspira[/b] es de la migracion de Guarani 2 a Guarani 3. Esta consulta debió ser por la tabla [b]ext.mig_alumnos[/b]

mig_propuesta_aspira_seq es una secuencia utilizada para generar el valor del campo sga_propuestas_aspira.propuesta_aspira cuando se registren las inscripciones a propuestas en esa migración de alumnos.

Alejandro,

  1. La tabla ext.mig_alumnos esta y tiene 73944 registros.

  2. La intente hacer por partes, dividi el archivo en 3 (cada una 25000 registros aprox.), y con el primero dio el mismo error.

  3. una ultima consulta viendo el error nos dio, me llamo la atencion la linea “PL/pgSQL function ext.mig_alumnos() line 109 at SQL statement” ; si voy a la FUNCTION: ext.mig_alumnos() en la linea 109 hace referencia a “INSERT INTO sga_periodos_inscripcion_aplanado (periodo_insc, plan_version)” ?

2020/01/21 13:01:48 - alumnos - ERROR (version 8.3.0.0-371, build 8.3.0.0-371 from 2019-06-11 11.09.08 by buildguy) : Ocurrió un error al ejecutar esta entrada de trabajo:
2020/01/21 13:01:48 - alumnos - Couldn’t execute SQL: SELECT * FROM ext.mig_alumnos()
2020/01/21 13:01:48 - alumnos -
2020/01/21 13:01:48 - alumnos - ERROR: out of shared memory
Hint: You might need to increase max_locks_per_transaction.
Where: SQL statement “INSERT INTO sga_propuestas_aspira (propuesta_aspira, persona,periodo_insc,anio_academico,propuesta,plan_version,modalidad,ubicacion,fecha_inscripcion,fecha_alta,situacion_asp)
2020/01/21 13:01:48 - alumnos - VALUES(cursor1.propuesta_aspira, _persona,_periodo_insc,cursor1.anio_academico,cursor1.propuesta,
2020/01/21 13:01:48 - alumnos - cursor1.plan_version_ingreso,
2020/01/21 13:01:48 - alumnos - cursor1.modalidad,cursor1.ubicacion,cursor1.fecha_inscripcion,cursor1.fecha_inscripcion,
2020/01/21 13:01:48 - alumnos - CASE cursor1.estado_inscripcion
2020/01/21 13:01:48 - alumnos - WHEN ‘P’ THEN 1
2020/01/21 13:01:48 - alumnos - WHEN ‘A’ THEN 2
2020/01/21 13:01:48 - alumnos - WHEN ‘R’ THEN 3
2020/01/21 13:01:48 - alumnos - END
2020/01/21 13:01:48 - alumnos - )”
PL/pgSQL function ext.mig_alumnos() line 109 at SQL statement

Gracias
Valeria

Luego del cambio, bajaron el postgres y lo volvieron a levantar? porque para que tome el cambio deben hacer eso.

Hace lo siguiente:

  1. Descomenta la linea de la variable max_locks_per_transaction
    (sacale el # de adelante)

  2. Seteale 1024:
    max_locks_per_transaction = 1024

  3. Reinicia el motor de postgres

  4. Volve a probar la migración de ese módulo

Si aun sigue dando el mismo error, ponele 2048 y volve a probar.

Creiria que luego del cambio se bajo el postgres y luego se volvio a levantar … Ahora veo si podemos modificarlo nuevamente con los valores que sugeris.

Gracias

Valeria

Gracias Alejandro!!!
Ahora veo de probarlo y te cuento las novedades

Valeria

Se modifico a 2048 y continua con el mismo error.

Consulta me llama la atencion que repita constantemente el siguiente mensaje “mig_matriculas - Triggering heartbeat signal for mig_matriculas at every 10 seconds”

Valeria

Ese mensaje no lo daba antes, no?
Es decir que sigue dando el mismo mensaje del parametro "max_locks_per_transaction " y también este ultimo?

Este mensaje mensaje “mig_matriculas - Triggering heartbeat signal for mig_matriculas at every 10 seconds” lo muestra mientras esta corriendo el proceso de migracion de las matriculas.

¿La migración de esa tabla terminó ?
¿Volvió a dar error del parámetro max_locks_per_transaction o ya no y ahora registra ese mensaje (Triggering hearbeat …) en el log?

Valeria, podes enviar el texto completo con los errores?
Porque comentas que sigue el error en el parámetro max_locks_per_transaction, no? Si es asi, intentaste incrementarlo aun mas, por ejemplo a 4096?

Buen día,

Le adjunto el log completo con los errores que está dando el punto mig_matriculas, previa modificacion , habiendo realizado los siguientes cambios duplicación de la memoria al equipo (ahora tiene 16Gb), y de otros valores. El valor del parametro max_locks_per_transaction que nos sugirieron modififcar a 2048 lo pusimos en 4096. El equipo ya tiene una cantidad de memoria mas que respetable.

Al momento de ejecutar el punto mig_matriculas tarda un tiempo considerable, como pueden ver termino pasadas las 20.00 hs del día Viernes.

Saludos,

Valeria


resultado mig_matriculas II.txt (392 KB)