jueves, 19 de febrero de 2009

Corregir estructuras de tablas de Oracle

ANALIZAR Y VALIDAR LA ESTRUCTURA DE UNA TABLA:

SQL> analyze table  MTI_INGRESOS.RI_CAJA_UNIVERSAL_02 validate

structure cascade;



PARA CORREGIR SU ESTRUCTURA:

Primero un move a la tabla:

 

alter table "MTI_INGRESOS"."RI_CAJA_UNIVERSAL_02" move tablespace mti_ingresos storage (initial 10m next 10m);

 

Seguido por un drop y recreación de los índices (no tiren el PK):

 

drop index "MTI_INGRESOS"."KAZ_IDX_RI_CAJA_UNIVERSAL_02";

 

CREATE INDEX "MTI_INGRESOS"."KAZ_IDX_RI_CAJA_UNIVERSAL_02" ON "MTI_INGRESOS"."RI_CAJA_UNIVERSAL_02" ("CAJA_KEY")

   PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

   STORAGE(INITIAL 10m NEXT 10m )

   TABLESPACE "MTI_INGRESOS_IDX";

 

Por último, la reconstrucción del primary key:

 

 

alter index mti_ingresos.PK_CAJA_UNIVERSAL_02 rebuild

   PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

   STORAGE(INITIAL 10m NEXT 10m )

   TABLESPACE "MTI_INGRESOS_IDX";

 

========================================================

Al final validamos que esté correcta la estructura:

 

SQL> analyze table "MTI_INGRESOS"."RI_CAJA_UNIVERSAL_02" validate

structure cascade;

 

Tabla analizada.

 

SQL>

 

 

Este comando lo pueden correr para cualquier tabla y si genera error, entonces hay que reconstruir.


No hay comentarios:

Publicar un comentario