Oracle - Ayuda sobre tamaños de tablas

 
Vista:

Ayuda sobre tamaños de tablas

Publicado por maría (2 intervenciones) el 24/08/2004 21:30:01
Tengo una tabla con muchos registros y en un determinado momento un proceso me borra varios registros de la misma, pero la tabla por mas que corras estadisticas sigue quedando con el tamaño que tenía antes de borrar los registros.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda sobre tamaños de tablas

Publicado por Jorge-DBA (1 intervención) el 25/08/2004 01:21:55
Hola Maria:

Cuando tu creas una tabla y defines un Storage de carga inicial, Oracle reserva este espacio para los registros insertados con la frecuencia de transacciones, y una vez que son insertados los todos o la mayoría de los datos en la tabla ocupando esta primera carga, si tu llegaras a borrar parte o mucho de los datos de la tabla, oracle no realiza un resize de forma automática, esto se debe a que los bloques de datos se almacenan en las extensiones, y los bloques de datos no quedan totalmente contiguos.

Ahora bien, si en un momento dado, la tabla demandó un numero de extensiones mayor, (sobrepasando el tamaño inicial de la tabla) y posteriormente son borrados todos o parte de los datos, surge el mismo efecto, la tabla no disminuirá en su tamaño.

Este efecto de crecimiento de la tabla es muy normal, es lo que se le llama la degradación de la base de datos.

Mensaje 1 de 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda sobre tamaños de tablas

Publicado por Jorge-DBA (123 intervenciones) el 25/08/2004 01:23:04
Mensaje 2 de 2

Para estos casos, lo que necesitas es realizar un MANTENIMIENTO A LA TABLA e INDICES, es decir, calculas con las fórmulas de Oracle cuanta información demandará en tu carga inicial, y si es una tabla dinámica en actualización y borrado de información para que no se generen mas extensiones de lo contemplado, configuras tus parámetros de
PCTFREE y PCTINCREASE, que lo que hará es que administrarás la gestión de almacenaje por los bloques de Oracle, teniendo un mejor control de que la tabla no crezca de manera exponencial, además de ALOJAR la tabla en un TABLESPACE el cual puedas realizar mantenimientos preventivos sin que se fragmente el resto de tus segmentos en el TABLESPACES donde se encuentra la tabla, realizas un export de la tabla, la eliminas, realizas un COALESE al Tablespace, recreas la tabla junto con sus índices dimensionados, y realizas el import.

Si quieres la Formula de Oracle para calcular el Storage alojado lo puedes encontrar en la documentación de Oracle, en la sección de Storage.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar