Buenas noches.
Como les va?
Tengo un inconveniente que se genera por problemas en los índices de una tabla, el problema fue que varios de los índices se dañaron, con lo cual se corrieron dos script que buscan reestablecer los índices de las tablas que usa SIU, los script son "updstssql.sql" y "updstssql_high_tablas.sql" provistos en algún momento por ustedes.
Luego se corrieron el proceso de liberación de log "ontape -a" para libración de logs.
Luego de todo esto la base de datos volvió a su funcionamiento normal. Pero cuando se fue a cerrar un acta de examen final de un alumno, nos arroja un error al momento de querer abrir la misma para su cierre, error que se ve en la imagen que se adjunta.
Buscando cual es el motivo del error note que dentro de la tabla "sga_detalle_acta" existen menos alumnos que los que realmente figuran en el acta que se imprimió, verifique con la tabla de log_detalle_acta y noto que en esa tabla figuran todos los alumnos que realmente existen en el acta impresa.
Se me ocurrió solucionar dicho inconveniente haciendo directamente un insert con todos los datos faltantes que los saco de la tabla log pero al ejecutar dicha consulta me da un error de registro duplicado, es decir, evidentemente los índices de dicha tabla luego de haber corrido los anteriores script no se arreglaron, los volví a correr y sigue igual. Desactive los triggers y volví a intentar el insert y da el mismo mensaje, registro duplicado, pero en realidad no existe en la tabla.
Con lo cual me llevo a seguir buscando en el foro algo que me oriente a una solución posible a este problema, llegue a este hilo "
https://foro.comunidad.siu.edu.ar/index.php?action=profile;area=showposts;u=599", el cual plantea la regeneración de los índices de la tabla "sga_detalle_acta" con la previa eliminación de los mismos.
Mi duda radica en que recomendaciones me darían antes de correr esos comando que se proponen en ese hilo? hacer un backup de la tabla y recién correr porque tengo miedo que si hago eso y llega a haber un problema en el medio la tabla estimo quedara totalmente corrupta sin poder accederla de nuevo.
Corrí además el comando "oncheck -ciI SIU_295" sobre la base de datos y surgieron errores de índices y advertencias en múltiples tablas de la base de datos. Con lo cual deduzco que el problema esta sobre los índices de las tablas. Al correr el comando sobre consola arroja los errores que va detectando pero a medida que avanza el proceso la información que se arrojo anteriormente se pierde, existe forma alguna de mandar la respuesta a un archivo o que no se pierda la información que se informa desde un principio, porque por más que retroceda con el scroll solo recupero las ultimas dos paginas que me va informando el comando sobre la consola. Y como si fuera poco a esto se le suma que el Informix comenzó a funcionar lento, demora mucho en responder a pedidos que le realicen desde el Gestión como por el 3W.
Tengo entendido que corriendo los comando "oncheck -cd -y" para reparar las incoherencias de cada página asi como el comando "oncheck -ci -y" para reparar índices de las tablas pero recomiendan hacer esta parte con "SQL DROP INDEX y CREATE INDEX" ya que el comando oncheck demora mucho en su ejecución.
Es por eso que mi consulta esta en cual comando correr o recomiendan correr o si existe otra solución al problema que se me presenta actualmente sin necesidad de eliminar los índices?
La regeneración de los índices solo afectaría a la tabla sga_detalle_acta o también tendría que tener en cuenta otra/s tabla/s?
Saludos y gracias!!!