# data[].attributes.headline
5. Administración de las estructuras lógicas y físicas de almacenamiento

# data[].attributes.subject
5. Administración de las estructuras lógicas y físicas de almacenamiento

# data[].attributes.body
Permite administrar sus datos, así como su espacio libre, almacena datos de objetos como:

Tablas

Indices

Cluster de tablas

# data[].attributes.body
Son creadas y administradas únicamente por la base de datos y por lo tanto desconocidas por el sistema operativo.

# data[].attributes.body
Dirección de disco, tipo de segmento, datos de transacción

# data[].attributes.body
●Estructuras lógicas de almacenamiento

○Bloque de datos

○Extensión

○Segmento

○Tablespace

●Estructuras físicas de almacenamiento

○Data file

○Control file

○Online Redo Log

# data[].attributes.body
Estas estructuras son creadas cuando se requiere almacenar datos de un determinado objeto, por ejemplo, tablas, índices, etc.

# data[].attributes.body
Múltiples tablas pueden almacenar múltiples datos.

# data[].attributes.body
Describe la ubicacion de los registros contenidos en el bloque.

# data[].attributes.body
-Representa la unidad mínima de almacenamiento lógico.

-Representa la unidad mínima de operaciones de lectura y escritura I/O

-Llamado también Oracle block o page

# data[].attributes.body
Cadena de 18 caracteres que permite conocer la ubicación de registro en particular

select rowid as row_id,cliente_id,nombre,ap_paterno,ap_materno,entidad,sexo,
codigo_postal,email
from cliente;

# data[].attributes.body
El índice se indexa con una lista de ROWIDS con los cuales se ubican la carga del registro.

# data[].attributes.body
Conjunto de extensiones que contienen todos los datos de un objeto ubicado dentro de un tablespace.

# data[].attributes.body
Empleados en objetos para almacenar los datos de los usuarios

# data[].attributes.body
La separación entre un bloque lógico de la BD y uno físico del s.o. ofrece los beneficios:

○Las aplicaciones evitan trabajar directamente con direcciones físicas del disco

○Permite la posibilidad de almacenar los datos de una misma BD en múltiples discos.

# data[].attributes.body
Se utilizan para almacenar resultados intermedios durante la ejecución de sentencias SQL, especialmente en operaciones que no pueden realizarse en memoria.

# data[].attributes.body
Se da durante la ejecución de transacciones, permite realizar acciones como rollback y recuperación de transacciones, así como mantener la consistencia de lectura bajo la propiedad ACID

# data[].attributes.body
En caso de no especificar este parámetro se hace uso del tamaño de bloque del sistema operativo. En valor de este parámetro no puede ser modificado posterior a la creación de la BD.

# data[].attributes.body
●Tipos de bloques empleados para almacenar índices:

○Root block

○Branch blocks

○Leaf blocks

# data[].attributes.body
Cuando las extensiones se marcan como inactivas, pueden reutilizarse o sobrescribirse; si todas están activas, se crea una nueva extensión para almacenar más datos

# data[].attributes.body
Mecanismo empleado para reducir el espacio de almacenamiento requerido por los registros que contiene el bloque.

# data[].attributes.headline
5.4.4 Administración del espacio de almacenamiento

# data[].attributes.subject
5.4.4 Administración del espacio de almacenamiento

# data[].attributes.body
La BD gestiona de manera lógica el espacio de almacenamiento para crear y asignar extensiones a diferentes tablespaces para generar nuevas extensiones y liberar las que ya no son necesarias

# data[].attributes.headline
5.2.7 Administración del espacio en bloques de datos

# data[].attributes.subject
5.2.7 Administración del espacio en bloques de datos

# data[].attributes.body
cada uno de los registros que se almacenan en un bloque de datos tiene un formato que permite realizar su administración.

# data[].attributes.body
Mantiene un bitmap en el header del data file para realizar la administración del espacio ocupado y libre del archivo.

# data[].attributes.body
Cada registro puede tener un longitud variable

# data[].attributes.body
Se emplea para almacenar el row piece almacenado en el bloque y contiene información de las columnas incluidas en el row piece.

# data[].attributes.body
Cada Row piece puede contener múltiples columnas. Para cada columna se almacena su longitud y el dato o valor.

# data[].attributes.body
El espacio disponible entre los datos y el header del bloque va disminuyendo conforme se agregan datos, cuando se hacen operaciones update, o cuando un dato se cambia de un valor null a un valor no nulo.

# data[].attributes.headline
5.2.7.2 Defragmentación del espacio libre en un bloque de datos

# data[].attributes.subject
5.2.7.2 Defragmentación del espacio libre en un bloque de datos

# data[].attributes.body
La BD se encarga de realizar operaciones de defragmentación bajo las
siguientes condiciones:

○El espacio libre total del bloque fragmentado permite actualizar un registro existente o agregar uno nuevo.

○El nivel de fragmentación del bloque impide que el registro se guarde de forma contigua.

# data[].attributes.headline
5.2.7.2 Encadenamiento y migración de registros

# data[].attributes.subject
5.2.7.2 Encadenamiento y migración de registros

# data[].attributes.body
Encadenamiento de registros ocurre en situaciones donde el tamaño del registro es demasiado grande para ser almacenado en un solo bloque

# data[].attributes.body
En una Migración de registros el registro originalmente pudo ser registrado en un solo bloque, pero derivado a una actualización, el registro creció y no existe espacio disponible.

# data[].attributes.body
●Una extensión representa una unidad de almacenamiento formada por un conjunto de bloques contiguos.

●Por default la base de datos crea una sola extensión cuando se crea un segmento.

# data[].attributes.body
●Las extensiones se liberan para ser reutilizadas cuando ocurren eventos
como los siguientes:

○Al ejecutar la sentencia drop sobre el objeto

○Al ejecutar la sentencia truncate sobre la tabla.