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!
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…)
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 ?
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.
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
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.
La tabla ext.mig_alumnos esta y tiene 73944 registros.
La intente hacer por partes, dividi el archivo en 3 (cada una 25000 registros aprox.), y con el primero dio el mismo error.
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
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.
Consulta me llama la atencion que repita constantemente el siguiente mensaje “mig_matriculas - Triggering heartbeat signal for mig_matriculas at every 10 seconds”
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?
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.