SIU-Guarani/Version3.14.0/Migracion/Desde SIU Guarani 2/Migracion/precontrolesifx

De SIU
Revisión del 13:12 29 sep 2015 de Jbichman (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Migración de SIU-Guaraní 2 a SIU-Guaraní 3

El proceso de migración se separa en dos partes:

  1. Pasaje de una base Guaraní 2 de Informix a un motor Postgresql.
  2. Una vez que la base de Guaraní 2 se encuentra en Postgresql, se procede a pasar los datos del modelo de datos de Guaraní 2 al modelo de datos de Guaraní 3 por módulos funcionales.

Antes de realizar este proceso, es necesario correr una serie de pre-controles sobre la base de Informix para detectar posibles inconsistencias de datos que pueden llegar a hacer que falle el pasaje a Postgresql. Este paso es muy importante, para evitar fallas en el proceso de migración. Consiste principalmente, en detectar claves primarias que podrían resultar duplicadas en Postgres. Luego de correr los precontroles, se provee una serie de funciones para proceder a corregir los casos que fallaron.

Pre-Controles sobre la base SIU-Guaraní 2 de Informix

Esta instacia se divide en diversas acciones:

  1. Ejecución de un trabajo en Kettle que corre Pre-Controles sobre la base de Informix y crea las funciones de corrección.
  2. Verificación de resultados de los pre-controles
  3. Corrección de errores reportados en los pre-controles: ejecución de las funciones provistas para cada caso.

Pasos

  1. Ejecución de Pre-Controles desde Kettle
    • Trabajo a ejecutar: 00_Controles_Guarani2/controles_guarani2.kjb
      Mig g2 0001.png
    • Descripción: este trabajo corre controles sobre tablas que puedan resultar con claves primarias duplicadas.
    Aclaración sobre la ejecución del trabajo: este trabajo tiene nodos 'condicionales' que controlan la existencia de determinados Stored Procedure en la base a ser migrada (los nodos son: Existe mig control datos y Existen funciones de update). En caso de que no los encuentre en la base, lo cual es muy probable que se de en la primer ejecución de este trabajo, saldrá de dichos nodos por el false y se logueará como 'Error' o 'Abortado'. Esto no implica que el trabajo finalice en error, sino que simplemente, forma parte de la ejecución normal del mismo si se da determinada condición. Para verificar la correcta ejecución del trabajo, deben verificarse los siguientes puntos:
    • Ultimo renglón de solapa 'Job Metrics' con Resultado 'Éxito'
    • Creación de archivo Controles_Guarani2.xls en carpeta de precontroles
    • Creación de SPs de Update en base de informix: 'mig_u_comisiones', 'mig_u_mesa_examen','mig_u_turno_examen'
    • Output: en el directorio 02_Modulos/precontroles_excel se creará un archivo con los precontroles que fallaron, Controles_Guarani2.xls. Es importante su corrección antes de seguir con los demás trabajos de Kettle
  2. Verificación y corrección de errores
    1. Revisar el archivo de salida del paso anterior: 02_Modulos/precontroles_excel/Controles_Guarani2.xls, si no hay registros con errores, se puede proseguir con el siguiente trabajo de Kettle (Pasaje de Informix a Pg, próximo paso)
    2. Los precontroles que se realizan en esta instancia son por valores duplicados de la base de Informix que fallarán al momentos de pasarlos a Postgres. Por cada precontrol que falle, deberá correrse la query indicada en el archivo de excel para determinar los registros duplicados. Para cada registro, deberá correrse una función de update. A continuación se detallan los posibles precontroles y sus funciones de corrección
Control de Duplicados Descripción Procedimiento para ajustarlo Parámetros Ejemplo
Turnos de Examen Se controla que la PK de la tabla mig.sga_turnos_examen no esté duplicada. Campos: anio_academico, trim(turno_examen) mig_u_turno_examen Año académico, Nombre de turno de examen actual, Nombre nuevo del turno de examen EXECUTE PROCEDURE mig_u_turno_examen(2008, ' Mayo', '-Mayo')
Mesas de Examen Se controla que la PK de la tabla mig.sga_mesas_examen no esté duplicada. Campos: unidad_academica, materia, anio_academico, trim(turno_examen), trim(mesa_examen) mig_u_mesa_examen Unidad académica, Código Materia, Año Académico, Turno de examen, Mesa de examen nombre actual, Mesa de examen nombre nuevo EXECUTE PROCEDURE mig_u_mesa_examen ('SIU','2050', 2009, 'Mayo', ' MESA1', '-MESA1');
Comisiones Se controla que la PK de la tabla mig.sga_comisiones no esté duplicada. Campos: nombre, anio_academico, periodo_lectivo, materia, sede mig_u_comisiones No tiene EXECUTE PROCEDURE mig_u_comisiones();

Aclaración: los procedimientos de corrección de duplicados son creados en el trabajo controles_guarani2.kjb, mediante el nodo que ejecuta el script: mig_control_datos.sql. El usuario solamente deberá ejecutar los procedimientos con los parámetros de los registros duplicados.
A medida que se reporten casos de duplicados en otras tablas, serán agregados en esta sección.
Una vez corregidos los precontroles, seguir con la ejecución de los trabajos
Recordar que la corrección de datos se realiza sobre la base de Informix que se migrará.


Consideraciones

  • Es recomendable volver a correr el proceso una vez que se corrigieron los precontroles, para asegurarse que no hayan quedado inconsistencia en los datos.





< Migración desde SIU-Guaraní 2 Pasaje de Informix a Postgres >