Arquitectura de la Instancia Oracle: Componentes Clave (SGA, PGA y Procesos)

Informática y Telecomunicaciones4,44 KB

Arquitectura de la Instancia Oracle

La conexión entre el Área Global del Sistema (SGA) y los archivos de la base de datos se realiza a través de los procesos en segundo plano. La combinación de estos elementos define una instancia de Oracle.

Fórmula de la Instancia:

INSTANCIA = SGA + Procesos en Segundo Plano

Estructuras de Memoria: El Área Global del Sistema (SGA)

El SGA está compuesto por varios buffers o pools esenciales para el rendimiento y la gestión de datos:

  • Pool Compartido (Shared Pool): Almacena las consultas SQL realizadas y guarda la estructura de las tablas (diccionario de datos).
  • Pool Java (Java Pool): Almacena la máquina virtual de Java (JVM) si se utiliza.
  • Pool Streams (Streams Pool): Se refiere al flujo de datos de pasada, por ejemplo, datos de conexión a red.
  • Pool Grande (Large Pool): Almacena todos los respaldos que se van levantando (utilizado a menudo para operaciones de I/O grandes o RMAN).
  • Buffer de Redo Log (Redo Log Buffer): Guarda un historial de todas las transacciones que se realizan antes de ser escritas en disco.
  • Caché de Buffers de la Base de Datos (Data Buffer Cache): Carga datos temporales de una consulta o de una inserción. Los datos resultantes de una consulta se almacenan aquí.

Por cada solicitud que haga un cliente, se creará un nuevo proceso servidor.

Área Global de Programa (PGA)

El PGA (Program Global Area) es un área de memoria privada que permite almacenar datos específicos para el funcionamiento de procesos en segundo plano, como por ejemplo: ordenamiento de datos, tiempo de conexión a un cliente, etc.

Procesos de Conexión

Proceso de Usuario (Cliente)
Solicita una conexión. Para poder hacer la solicitud, el usuario crea un proceso cliente. Si el cliente tiene permiso para acceder a la base de datos (B.D.), se crea el proceso servidor.
Proceso Servidor
Conecta a la instancia de Oracle y otorga el permiso al usuario para interactuar con la base de datos.

Procesos en Segundo Plano (Background Processes)

Al momento de crearse la instancia, se inician automáticamente los siguientes procesos esenciales:

LGWR (Log Writer)
Se encarga de escribir los archivos del buffer (transacciones) en archivos físicos de Redo Log.
DBWn (Database Writer)
Toma el dato almacenado en el Data Buffer Cache y lo escribe en los archivos de datos (en disco).
PMON (Process Monitor)
Se encarga de verificar el estado de los demás procesos en segundo plano. Controla, además, el proceso servidor.
SMON (System Monitor)
Da aviso al administrador de cualquier problema de sistema y crea un historial del sistema.
ARCn (Archiver)
Encargado de escribir las transacciones que se encuentran almacenadas en los Redo Log, en los archivos Archive Log. Esto se realiza antes de que los archivos Redo Log sean sobrescritos.

Mecanismos de Persistencia y Recuperación

Punto de Control (CKPT - Checkpoint)
El Checkpoint se encarga de ir incrementando en forma enumerada cada vez que se realiza una transacción, asegurando la consistencia de los datos.
Switch Redo File
Una vez lleno un archivo Redo Log, se pasará al siguiente. Cuando se llena y/o llega al último, se vuelve al primer archivo sobrescribiendo su contenido. Cada paso de un archivo a otro se le llama switch (cambio).

Flujo Básico de una Consulta

El proceso de manejo de datos sigue la siguiente secuencia:

  1. Proceso Servidor: Recibe la solicitud.
  2. Consulta en Base de Datos: Se ejecuta la consulta.
  3. Carga en SGA: Los datos necesarios se cargan en el Data Buffer Cache del SGA.
  4. Modificación: Si es una operación de escritura, los datos se modifican en el Cache de Buffers de la Base de Datos y la transacción se registra en el Redo Log Buffer.

Descargar

PDF Word HTML