Buenos dias! Tengo una consulta sobre como borrar y recrear indices de una tabla.
Estoy trabajando en la v2.09.3 del G2. Realizo los dbexport y debimport sin inconvenientes, y a menudo al ejecutar el comando update statistics high no me tira ningun error.
En esta oportunidad al ejecutar dicho comando (update statistics high) me tira un error de “Could not check rowids and perform data<->index check”
El mensaje completo es el sgte.:
Validating indexes for exa2507:dba.sga_detalle_acta…
Index 249_859
Index fragment partition datos in DBspace datos
Could not check rowids and perform data<->index check
Cannot create a temporary operating system file to use in a sort.
Index in_detac_fecha
Index fragment partition datos in DBspace datos
Index 249_5426
Index fragment partition datos in DBspace datos
Could not check rowids and perform data<->index check
Cannot create a temporary operating system file to use in a sort.
Index 249_5494
Index fragment partition datos in DBspace datos
Could not check rowids and perform data<->index check
Cannot create a temporary operating system file to use in a sort.
Index 249_5631
Index fragment partition datos in DBspace datos
Could not check rowids and perform data<->index check
Cannot create a temporary operating system file to use in a sort.
Index 249_5632
Index fragment partition datos in DBspace datos
Please Drop and ReCreate Index 249_859 for exa2507:dba.sga_detalle_acta.
Please Drop and ReCreate Index 249_5426 for exa2507:dba.sga_detalle_acta.
Please Drop and ReCreate Index 249_5494 for exa2507:dba.sga_detalle_acta.
Please Drop and ReCreate Index 249_5631 for exa2507:dba.sga_detalle_acta
Como podria solucionar este problema?
Desde ya muchas gracias!
Daniela Rolón
FCEQyN - UNaM
Segun el mensaje que reporta el informix, se soluciona borrando y volviendo a crear esos indices.
Son esos 4 indices de la tabla dba.sga_detalle_acta (el tabid debe ser el 249) 249_859
249_5426
249_5494
249_5631
Como no tienen un nombre reconocido, pareciera que esos indices deben estar relacionados con FK de esa tabla. Ya que al crear una fk crea automáticamente un índice.
Fijate a que FK pertenecen esos indices, borra los indices, las fk y volve a crearlas nuevamente.
SELECT b.constrname,a.tabid,b.idxname, part1,part2,part3,part4,part5, part6,part7,part8,part9,part10,part11,part12,part13,part14,part15,part16
FROM systables a,
sysconstraints b,
sysindexes c
WHERE tabla= 'sga_actas_detalle'
and a.tabid=b.tabid
-- and constrtype IN ('R',','P','U')
and b.idxname = c.idxname
order by b.constrname