Portada » Informática » Estructura Lógica de Almacenamiento en Bases de Datos Oracle
A nivel lógico, el elemento mínimo de almacenamiento en una base de datos Oracle es el bloque de Oracle. Este bloque puede estar formado por varios bloques del sistema operativo.
Con varios bloques de Oracle se forman las extensiones, que a su vez dan lugar a los segmentos (objetos de la base de datos: tablas, índices, etc.). Los segmentos están contenidos en los tablespaces, que forman la base de datos.
Un tablespace es una unidad lógica que agrupa los datos. No es un fichero físico y solo puede pertenecer a una base de datos. Puede contener uno o más datafiles.
Al utilizar más de un datafile por tablespace, se pueden distribuir los datos sobre varios discos y balancear la carga de E/S, mejorando el rendimiento del sistema.
Los tablespaces se utilizan para:
Segmentar grupos de datos relacionados en tablespaces diferentes simplifica las tareas de administración. El administrador los usa para:
Cuando se crean tablespaces, se les asigna un espacio en disco que Oracle reserva inmediatamente. Si este espacio inicial se queda pequeño, Oracle puede gestionar el crecimiento dinámico de los ficheros.
Al crear una base de datos, Oracle crea automáticamente los siguientes tablespaces:
Un bloque es la unidad mínima de almacenamiento de información de Oracle. Al crear una base de datos, se debe indicar cuántos bloques del sistema operativo formarán un bloque de datos. Este valor es importante y no se puede modificar una vez creada la base de datos, excepto en migraciones más actuales (se recomienda que sea un múltiplo del bloque de datos del S.O.).
Un bloque de datos es la mínima unidad de lectura/escritura en una base de datos Oracle.
Las extensiones son unidades lógicas de almacenamiento formadas por un número determinado de bloques de datos contiguos. La agrupación de varias extensiones forma un segmento. Los segmentos pueden ser:
Los datos de una tabla están en un segmento de datos, formado por una o varias extensiones, y cada extensión está formada por un número determinado de bloques.
Al crear un segmento, se crea una extensión. A medida que el segmento crece, se asignan nuevas extensiones. Al asignar una nueva extensión, se reserva espacio en disco. Cuando se llenan los bloques de una extensión, el segmento solicita una nueva.
Esta estructura minimiza el espacio desperdiciado de un tablespace. Para administrar el espacio, a medida que se modifican las filas de una tabla, las extensiones del tablespace pueden aumentar o disminuir de tamaño.
Al crear un tablespace, se puede especificar el número mínimo y el número de veces que se pueden agregar extensiones a sus objetos.
Hasta Oracle 8i, todos los tablespaces eran gestionados por el diccionario, donde Oracle almacenaba la información relativa al uso del espacio.
Desde Oracle 8i, se incluyen tablespaces gestionados localmente. La información se almacena en un mapa de bits en el propio tablespace. Esta es la opción recomendada.
Los beneficios de los tablespaces gestionados localmente son: