Calcular los valores Initial, PCTFREE y PCTUSED

Eyes
05 de Noviembre del 2004
Hola a todos,

Tengo ciertas tablas que necesito reconstruirlas con los valores iniciales correctos, he leido acerca de como obtener el calculo de PCTFREE y PCTUSED, pero no del Initial... pero yo quisera ir más allá de esto, y quisiera pedirles, que si alguien tiene entre sus scritps una manera de hacerlo automática, es decir, que tome como parametro el nombre de la Tabla o tablas o incluso esquema y que genere los valores idóneos para la o las tablas y no estar calculando manualmente estos valores...

Agredezco de antemano la ayuda,

Saludos
Eyes

Jorge-DBA
05 de Noviembre del 2004
Que tal:

Primeramente necesitas saber cual será el tipo de almacenaje transaccionanal que tendrá la tabla, existen los tipos de tabla:

Histórico.
Catálogo.
Transaccionales.
Agregación.

(este tipo de tablas aplica para tablas que no contengas campos BLOB)

Cada una de ellas tiene objetivos diferentes:

Las históricas se consideran de volumenes gándes pero la información es de solo lectura, por ejemplo:
una tabla que contenga datos que no se actualicen, modifiquen, ni borren su información, puede ser la historia a intervalos en el tempo, (información de 2000 al 2001), para este tipo de tablas el valor de PCTFREE será muy por debajo el valor que el PCTUSED ya que los bloques de datos no serán modificados y la información es estática.

Las tablas de catálogo al igual que las históricas son aquellas que contienen información bastasnte estática, ya que los datos no serán transaccionales, si no de lectura y tienen un bajo mantenimiento, en este caso el valor de PCTFREE incrementa pero el valor de PCTUSED sigue siendo mayor.

Las tablas Transaccionales en su construcción deben estimarse varias cosas entre ellas las transacciones simultáneas y la estimación de almacenaje que se espera, son las tablas que mayor monitoreo se debe de tener, ya que son las que con mayor facilidad se fragmentan, aqui el valor de PCTFREE y PCTUSED se realiza un balance para estimar el tipo de transaccion que estará concurrentemente afectando los bloques.

En el caso de las tablas de Agregación, son aquellas que se utilizan en sentencias insert masivas, y muy consultadas, el porcentaje de mantenimiento de actualiuzación y borrado es muy bajo, por lo tanto el valor de PCTUSED debe ser mayor que el porcentaje libre PCTFREE.

Oracle ofrece en el Oracle Enterpise Manager Un asistente para crear segmentos de tipo tablas, donde una vez que se fué construida con sus campos y el tipo de datos que tandrá, en la parte de STORAGE ofrece algo muy similar a lo que requieres, solo necesitas saber el número de registros que estimas durante diferentes lapsos de tiempo para que puedas dar mantenimiento a la tabla, entre ellos se enecuentra la estimacion semanal, mensual o anual, simplemente verificas el comportamiento de la tabla que tipo será, y de forma automática hará el calculo para el valor INITIAL, es decir, la carga incial que tendrás que tener disponible en esos lapsos de tiempo, de lo contrario tienes que investigar las fórmulas de Oracle para tener esta información, aqui en este foro ayudé a una persona hace algun tiempo con este tema, tengo las formulas para calcular todos los valores, que me imagino es lo que tu ya has leido, si deseas mas informacion seguiremos en contacto, he dimensionado ya muchas bases de datos y he trabajado con tablas que almacenan 2.0 terabytes de informacion.

Saludos.

Jorge - DBA

Eyes
05 de Noviembre del 2004
Muchas Gracias Jorge

Te envié un correo hace rato, solicitando una informacion acerca de otro tema es de replicacion.

Con respecto a este tema mis tablas son de varios tipos, segun como las describiste, ahora bien, si me gustaría me pasaras esa informacion de las formulas y si tienes alguno que otro script, lo que tendría que hacer entonces es hacer un procedimiento o funcion que haga el trabajo, que le pase el nombre de la tabla o esquema y que me calcule esos valores de acuerdo, a lo mejor de un mes anterior y al menos en cuanto a inserts y a lo mejor hacer un job para dar cierto seguimiento a una tabla en especifico e ir tomando estadisticas cada cierto tiempo sobre la cantidad de registros agregados en la tabla a una fecha de creacion, que incluye la hora y minutos, calcular los updates y el tamaño promedio de incremento de esos renglones, no sé se me ocurre algo así para tener una estimacion más real de estos valores importantes en la definicion de las tablas.

Que opinas?

Saludos

Jorge-DBA
05 de Noviembre del 2004
Cuenta con la información.

Saludos.!

Jorge-DBA
05 de Noviembre del 2004
listo, te he enviado la informacion a [email protected]

Saludos,