Problemas con la SYSTABLES de una base

Gente:

Desde ayer estoy lidiando con un problema con el servidor de Producción.

Aparentemente, a raíz de que se intentó crear una tabla nueva, personalizada, con bastantes datos y que este proceso fallara por motivos que desconozco (no estaba presente en ese momento), quedó dañada la Systables y/o sus indices, aparentemente con algún registro con basura y con incongruencias en la cantidad de filas de las tablas. Obviamente ya se corrieron los Oncheck correspondientes (-cD, -cd, -cI y -ci), y apesar que detecta los errores y dice que los va a corregir, o no puede hacerlo o dice que lo corrigió pero el error sigue. Cuando quiero hacer un DROP de la base en cuestión, no deja y da error por problemas en la Systables. Lo mismo al intentar un rename.

En ese motor, aparte de los dbspaces Root, temporales y para los logs tenemos 3 dbspaces de datos de 2GB: uno para grado (donde está la base con problemas), otro para posgrados (este Guaraní funciona perfecto) y un dbspace para bases de pruebas, en la actualidad vacío. También tenemos los exports de la madrugada anterior al problema.

Las soluciones que se me ocurren son:

  1. Reinicializar todo el servidor con oninit -i, y tener que reconfigurar y rearmar todo de nuevo (ONCONFIG, dbspaces de datos y de operación, etc) y luego hacer los import

  2. Después se me ocurrió que quizás pueda Dropear el Dbspace donde está la base con problemas, y volverlo a crear e importar solo esa base y sin tener que reconfigurar todo el motor.

Antes de cualquiera de estas soluciones DRASTICAS, se les ocurre alguna otra? Y si no se les ocurre, cual les parece la mejor de las 2 anteriores?

Saludos

Gustavo

Corriste el oncheck -cc ?

Hola Gustavo

La alternativa 2 no es mala, sin embargo me parece que al borrar un dbspaces con onspaces, te va a validar primero que este vacio el dbspace, y en tu caso no lo esta. ASi que no te va apermitir borrarlo. con lo cual la alternativa 1 es la que yo tomaria

saludos
Ignacio

Alejandro:

El oncheck -cc para esa database se queda “plantado”, no hace nada y no devuelve el control a la consola. Por otra consola, puedo ver que con un onstat -u el motor no parece tener actividad alguna, como que el oncheck encuentra un problema y no puede seguir pero no termina …

La base la pude levantar con otro nombre en otro dbspace, el de pruebas, que estaba vacio.

Si no hay más ideas, la solución es la que dice Ignacio, la solución más drástica: la 1.

Saludos

Gustavo