Professional Documents
Culture Documents
Robert Espinoza
Oracle
Arquitectura en disco
Arquitectura en disco
propio tablespace.
Hay varias razones que justifican este modo de
organización de las tablas en tablespaces:
Un tablespace puede quedarse offline debido a un fallo de
disco, permitiendo que el SGBD continúe funcionando con el
resto.
Los tablespaces pueden estar montados sobre dispositivos
ópticos si son de sólo lectura.
Permiten distribuir a nivel lógico/físico los distintos objetos de
las aplicaciones.
Son una unidad lógica de almacenamiento, pueden usarse
para aislar completamente los datos de diferentes aplicaciones.
Arquitectura en disco
Tablespaces
Arquitectura en disco
Segments (Segmentos)
Dentro de cada tablespace se pueden almacenar
Segments (Segmentos)
Se pueden almacenar más de un segmento por
tablespace.
Un segmento está contenido en su totalidad en un
tablespace.
Cuando se borra un segmento, el espacio es devuelto
al espacio de tabla.
Arquitectura en disco
Segments (Segmentos)
Existen varios tipos de segmentos:
Segments (Segmentos)
De rollback: son objetos internos de la BD que permiten
efectuar la restauración de las transacciones no
validadas asegurando la consistencia en lectura. La
estructura de los registros de rollback es :
Identificador de la transacción.
Dirección del bloque donde está la tabla.
Número de fila.
Número de columna.
Valor del dato antiguo (antes de ser modificado).
Son tan importantes que una BD no puede arrancar si no
puede acceder al menos a un segmento de rollback.
Arquitectura en disco
Segments (Segmentos)
Temporales: son creados por Oracle para un uso
temporal cuando debe realizar una ordenación que no le
cabe en memoria, y en las operaciones: create
index, order by, group by, distinct, union, intersect, minus.
Son eliminados cuando la sentencia finaliza.
De bootstrap: Se crea en SYSTEM y contiene
definiciones del diccionario para sus tablas, que se
cargan al abrir la BD. No requiere ninguna acción por
parte del DBA. No cambia de tamaño.
Arquitectura en disco
Segments (Segmentos)
La tabla que guarda la información de los segmentos
Extents (Extensiones)
Un segmento está constituido por un conjunto de
Bloques
Es el elemento de datos más pequeño distinguible por
Oracle.
Cada extensión se compone de una serie de bloques.
EL tamaño de bloque se puede configurar por parte del
DBA para optimizar el rendimiento.
Cada bloque de datos de Oracle equivale a uno o más
Tablespace SYSTEM:
Creado con la base de datos
Contiene el diccionario de datos
Contiene el segmento de rollback SYSTEM
Tablespace Non-SYSTEM:
Segmentos separados
Facilita la administración de espacio
Controla la cantidad de espacio asignada a un usuario
Creación de Tablespaces
Donde:
DATAFILE: Especifica los archivos de datos que componen el
tablespace.
REUSE: Reutiliza el archivo si ya existe o lo crea si no existe.
SIZE entero: Especifica el tamaño del tablespace, en KB o MB
DEFAULT STORAGE: Define el almacenamiento por omisión para
todos los objetos que se creen en ese espacio de tabla. Fija la cantidad
de espacio si no se especifica en la sentencia CREATE TABLE.
INITIAL: Extensión inicial. Tamaño en bytes de la primera extensión del
objeto.
NEXT: Extensión siguiente. Tamaño de la siguiente extensión que va a
asignar al objeto. Por defecto, es el tamaño de un bloque de datos
El tamaño del bloque de datos se especifica en el parámetro de inicio de
Oracle: db_block_size y debe ser múltiplo del tamaño del bloque del
sistema operativo del servidor
Creación de Tablespaces
Dictionary-Managed Tablespaces:
Técnica por defecto
Extents libres registrados en las tablas del diccionario de
datos
Locally Managed Tablespaces:
Extents libres registrados en bitmap
Cada bit corresponde a un bloque o grupo de bloques
Valores de Bit indican libre o utilizado
Locally Managed Tablespaces
Donde:
ADD DATAFILE: Añade al tablespace uno o varios ficheros.
AUTOEXTEND: Hace que se active o desactive el crecimiento de los
ficheros. Por defecto está en ON.
RENAME DATAFILE: Cambia el nombre de un archivo existente en el
tablespace.
Este cambio ha de hacerse previamente en el sistema operativo y después
ejecutar la orden SQL.
El tablespaces debe estar desactivado (offline) mientras se produce
el cambio.
DEFAULT STORAGE: especifica los nuevos parámetros de
almacenamiento para todos los objetos que se creen a partir de ahora
en este tablespaces.
Modificación de tablespaces
Tablespace Read-Only
Tablespace solo disponible para operaciones de lectura
Los objetos se pueden borrar del tablespace
Donde:
INCLUDING CONTENTS: Permite borrar un tablespaces que
tenga datos. Sin esta opción solo puede borrarse uno vacío.
AND DATAFILES: Borra todos los archivos de datos asociados.
CASCADE CONSTRAINTS: Borra las relaciones de integridad
referencial que afecten a las tablas del tablespaces suprimido.
Conviene poner el tablespace a offline antes de borrarlo para
asegurarnos de que no haya sentencias SQL que estén
accediendo a sus datos, en cuyo caso sería imposible borrarlo.
Habilitar Extensión automática de
Data Files
ALTER DATABASE
DATAFILE '/DISK5/app_data_02'
RESIZE 200M;
Agregar Data Files a un Tablespace
ALTER DATABASE
RENAME FILE '/DISK1/system_01'
TO '/DISK2/system_01.dbf';
Obtener Información de un
Tablespace
Información de los Tablespaces:
DBA_TABLESPACES
V$TABLESPACE
Información de los Data files:
DBA_DATA_FILES
V$DATAFILE
Información de los Tempfiles:
DBA_TEMP_FILES
V$TEMPFILE
Recomendaciones