ESTRUCTURA DE LA MEMORIA:
Es la estructura de memoria compartida que contienen datos e
información de control para una
instancia de una base de datos, cada instancia tiene sus
propias estructuras de memoria y se
localiza en la memoria virtual del computador. Las
estructuras de memoria se denominan System
Global Area (SGA) la cual es un área compartida por todos
los usuarios y se divide en tres partes:
3.4. Fondo común compartido (Shared pool): Se utiliza
durante el procesamiento de comandos.
Tiene dos zonas:
– Library Cache: almacena información relacionada a la
instrucción de SQL:
– – Data Dictionary Cache (Dictionary Cache o Row Cache):
almacena la información de uso
más frecuente sobre el diccionario de datos. Esta
información incluye definición de
columnas, usuarios, passwords y privilegios. Esta
información es usada durante tiempo de
compilación.
3.5. Arear de Memoria rápida (Dtabase buffer cache):
mantiene los bloques de datos leídos
directamente de los archivos de datos. Cuando se procesa una
consulta, el servidor busca los
bloques de datos requeridos en esta estructura. Si no se
encuentra, el proceso servidor lee el
bloque de la memoria secundaria y coloca una copia. Está
organizada en dos listas:
– Lista de sucios: bloques que han sufrido modificaciones y
no han sido escritos en disco.
– Lista de menos recientemente usados: mantiene los bloques
libres, los bloques a los que se
está accediendo actualmente y los bloques sucios que aún no
han sido remitidos a la lista
de sucios.
3.6. Área de registro de rehacer (Redo log buffer): es un
buffer circular que mantiene todos los
cambios que han sido realizados sobre la base de datos por
operaciones de insert, update,
delete, create, alter y drop. Las entradas de este buffer
contienen toda la información
necesaria para reconstruir los cambios realizados a la base
de datos por medio de cualquier
instrucción (el bloque que ha sido cambiado, la posición de
cambio y el nuevo valor). El uso es
estrictamente secuencial.
ARCHIVOS:
Los archivos que maneja Oracle, se clasifican en cuatro
grupos:
2.1 Los Archivos de Datos (Datafiles): sirve para el almacenamiento
físico de las tablas, índices y
procedimientos, estos son los únicos que contienen los datos
de los usuarios de la base de datos.
2.2 Archivos de Control (control files): tiene la
descripción física y dirección de los archivos para el
arranque correcto de la base de datos
2.3 Archivos de Rehacer (redo log files): tienen los cambios
que se han hecho a la base de datos
para recuperar fallas o para manejar transacciones. Debe
esta conformado por dos grupos como
mínimo y cada grupo debe esta en discos separados. El
principal propósito de estos archivos es de
servir de respaldo de los datos en la memoria RAM.
2.4 Archivos fuera de línea (archived files): archivos
opcionales donde se pueda guardar
información vieja de los archivos de rehacer, convenientes
para respaldos de base de datos
LOS PROCESOS:
Los procesos son programas que se ejecutan para permitior el
acceso a los datos, se cargan en
memoria y son transportados para los usuarios. Se clasifican
en tres grupos:
5.1. Procesos de Base o de Soporte: se encargan de traer
datos desde y hacia la estructura de
memoria (SGA), cada uno tiene su propia área de memoria; los
procesos de este tipo son los
siguientes:
- Database Writer (DBWR): se encarga de copiar los bloques
desde el buffer cache hasta la
memoria secundaria.
- Log Writer (LGWR): escribe las entradas desde el Log
Buffer a disco. La escritura de
bloques del Redo Log Buffer a disco ocurre secuencialmente y
bajo las siguientes reglas:
– Cuando el Redo Log está lleno en un 33% o más.
– Cuando oucrre un time-out (cada tres segundos).
– Antes de que el DBWR escriba algún bloque modificado a
disco.
– Cuando una transacción se compromete.
- Checkpoint (CKPT): encargado de notificar al DBWR para que
se escriban en los archivos
de datos todos los bloques contenidos en la lista de sucios.
Este proceso es invocado en
intervalos de tiempo determinados. El CKPT es opcional, si
no existe las funciones son
realizadas por el LGWR.
- System Monitor (SMON): Encargado de realizar un proceso de
recuperación rápida cada
vez que una instancia es inicializada. Esta labor incluye
limpieza de las estructuras de datos
de soporte a la ejecución de consultas y llevar a la base de
datos a un estado estable
previo a la ejecución de aquellas transacciones que no hayan
culminado exitosamente.
También se encarga de desfragmentar el espacio físico de
almacenamiento uniendo
bloques de datos libres en la memoria secundaria.
- Process Monitor (PMON): lleva la pista de los procesos de
la base de datos y efectúa
labores de limpieza (liberar recursos y bloques ocupados en
los cache’s) si alguno de ellos
termina prematuramente.
- Archiver (ARCH): copia las bitácoras activas cuando éstas
se encuentran llenas. Este
proceso se encuentra activo sólo cuando el DBMS se encuentra
operando en modo
ARCHIVELOG, el único modo que admite recuperación de los
datos frente a fallas del
sistema.
- Recoverer (RECO): resuelve transacciones distribuidas que
se encuentran pendientes
debido a la red o a fallas ocurridas en la base de datos
distribuida.
- Dispatcher (Dnnn): se crea por cada sesión de trabajo
activa; es responsable de enrutar
los requerimientos desde el proceso usuario, al cual se
encuentra asociado, hacia los
procesos servidores y retornar la respuesta al proceso de
usuario adecuado. Estos
procesos se crean solo cuando se ejecuta con la opción
multithreading.
5.2. Procesos de Usuario: se encarga de ejecutar el código
de aplicación del usuario y manejar el
perfil del usuario con sus variables de ambiente. Estos
procesos no se pueden comunicar
directamente con la base de datos, por lo que la
comunicación la establecen mediante
procesos de servidores.
5.3. Procesos de Servidores: estos procesos ejecutan las
órdenes SQL de los usuarios y llevan los
datos del buffer caché para que los procesos de usuario
puedan tener acceso a los datos.
No hay comentarios:
Publicar un comentario