¿Qué es un bloque y que tamaño tiene? ¿Qué es una extensión y que es un segmento?

Hola.
Mi pregunta es la siguiente. Me gustaría saber ¿qué es un bloque y que tamaño tiene? ¿Qué es una extensión y que es un segmento? Donde se configuran los valores para parametrizar estas divisiones de la BBDD.
Gracias de antemano por la atención prestada.

1 Respuesta

Respuesta
1
A ver ...
Un bloque (de datos) es la mínima unidad de asignación para guardar datos.
La BD se divide en tablespaces, repartidos en 1 o más datafiles. Cada datafile se divide en bloques de un tamaño especifico de bytes.
Cada tablespace aloja los segmentos de la base de datos.
Un segmento es un objeto de la base de datos que ocupa un espacio físico dentro de un tablespace (ejemplo: tablas, indices, segmentos de rollback, etc).
El tamaño del bloque de datos se define al crear la BD (db_block_size) y no se puede modificar de allí en adelante (modificarlo puede ocasionar problemas de corrupción posteriores).
Un bloque de datos puede ser de 2k, 4k, 8k, 16k o 32, 64K (o más, de preferencia sugieren que consideres el tamaño de bloque de datos que utilice el sistema operativo)
Cuando creas un segmento, este ocupa un espacio físico 9que se define al momento de crear el segmento, agregando la clausula "storage (initial 100K next 100K)"
Donde initial es el tamaño inicial y next el el tamaño del siguiente extent en caso de requerir crecer el tamaño.
Una extensión es un nuevo extent creado por la BD cuando el espacio utilizado por el segmento no aloja un siguiente registro insertado (por ejemplo) en una tabla.
La configuración de dan la crear la BD (parámetro db_block_size) al crear los tablespaces (clausula size y default storage) y los segmentos (clausula storage).
Saludos.
Diego.
PD. No te olvides cerrar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas