Arquitectura de Oracle SGBD: Conceptos Fundamentales y Componentes Clave
Clasificado en Informática
Escrito el en español con un tamaño de 4,73 KB
Para comprender el funcionamiento interno de una base de datos Oracle, es esencial familiarizarse con sus componentes arquitectónicos principales. A continuación, se detallan los conceptos más importantes:
Archivo de Configuración INIT.ORA
Este archivo es fundamental para la inicialización de valores en el arranque de la instancia y para el establecimiento de configuraciones específicas de Oracle. En él se especifican parámetros predeterminados con el valor deseado, con el fin de optimizar el rendimiento o adecuar los recursos del sistema.
Es el lugar donde se establecen todos los parámetros que definen el comportamiento de Oracle. Es importante destacar que estos archivos son independientes por cada instancia; es decir, existirá un archivo de configuración INIT.ORA por cada instancia activa en el sistema de información.
Archivos de Control (Control Files)
Los archivos de control son un conjunto de archivos de tamaño reducido y estable, encargados de mantener la consistencia del resto de los componentes de la base de datos. Contienen información vital como:
- Contador de Commit almacenado en cada archivo.
- Número de Redo Log actual.
- Información adicional que indica a la base de datos si los archivos corresponden al mismo momento o si se han recuperado de una copia de seguridad (backup), el punto de arranque de la recuperación, entre otros datos.
Aunque son pequeños y a menudo subestimados, estos archivos son trascendentales para el correcto funcionamiento y la recuperación de la base de datos.
Archivos Históricos (Redo Log Files)
Estos archivos son donde se almacenan los cambios provocados por las transacciones sobre la base de datos. Se utilizan exclusivamente en modo de escritura, excepto cuando se produce una recuperación de la base de datos, momento en el que se leen para aplicar los cambios.
Sentencias de Commit
El Commit es el punto de decisión de una transacción, indicando que los cambios realizados sobre la base de datos son validados y permanentes. Se trata de un punto de no retorno para una transacción.
Cuando se ejecuta un Commit, esto provoca una escritura en los archivos históricos (Redo Log Files), con el objetivo de que la decisión del Commit quede registrada. Es importante señalar que los datos nuevos no tienen por qué ser escritos en disco de forma inmediata; en realidad, permanecen en memoria hasta que son liberados por falta de espacio, se produce un Checkpoint o se cumplen los tiempos de espera (timeouts) de limpieza de memoria.
Segmentos de Rollback
Los segmentos de Rollback permiten a una transacción revertir los cambios realizados en lugar de confirmarlos (Commit). Esto significa que, mientras no se realice un Commit, las demás transacciones verán los datos tal como estaban antes del inicio de la transacción actual.
Para lograr esto, en los segmentos de Rollback se guarda el valor anterior de los datos modificados por una transacción, asegurando la consistencia en lectura en entornos multiusuario.
Puntos de Ruptura (Checkpoint)
Los Checkpoints son eventos que se activan en un momento determinado para la limpieza de los bloques de memoria "sucios" (modificados pero no escritos en disco). Un Checkpoint se activa por las siguientes razones:
- Ha habido un cambio en los archivos de Redo Log.
- Se ha llegado al límite previamente establecido por el parámetro
log_checkpoint_interval
del archivo de configuración INIT.ORA. - Se ha llegado al límite previamente establecido por el parámetro
checkpoint_timeout
.
El objetivo principal de los Checkpoints es establecer marcas de recuperación basadas en los archivos históricos actuales (Redo Log Files), lo que facilita la recuperación de la base de datos en caso de fallo.
Archivos de Base de Datos
Estos son los componentes físicos de la base de datos a nivel de sistema operativo, que contienen los datos generados por los usuarios del sistema.
Espacios de Tabla (Tablespaces)
Los Tablespaces son agrupaciones lógicas de uno o más archivos de la base de datos. Un tablespace puede estar formado por múltiples archivos de la base de datos, pero un archivo de la base de datos solo puede pertenecer a un único tablespace.
Es en los tablespaces donde se ubican lógicamente los datos que se crean en la base de datos, y físicamente se almacenan en los archivos de base de datos que componen dicho tablespace.