logo
MyWebStudies - Página de inicio
INGRESAR

REGISTRARSE
Buscador

Los procesos de oracle - oracle dba

mywebstudies.com

PorMyWebStudies

2024-04-05
Los procesos de oracle - oracle dba


Los procesos de oracle - oracle dba

Procesos en segundo plano (background processes).

Los procesos en segundo plano de una instancia son aquellos que se inician al arrancar la instancia y continúan ejecutándose hasta que esta finaliza.

Existen 5 procesos de fondo principales:

  • SMON (System Monitor).
  • PMON (Process Monitor).
  • DBWn (Database Writer).
  • LGWR (Log Writer).
  • CKPT (Checkpoint Process).

Además, hay 4 procesos comunes que no son esenciales:

  • MMON (Manageability Monitor).
  • MMAM (Memory Monitor).
  • ARCn (Archiver).
  • RECO (Recover).

Implementación de procesos según el sistema operativo (S.O.)

LINUX/UNIX: Se implementan procesos del sistema operativo independientes, cada uno con un identificador único.

Windows: Se utiliza un solo proceso del sistema operativo, denominado Oracle.exe, que contiene múltiples hilos para cada proceso en segundo plano.

Descripción de los procesos en segundo plano

SMON (System Monitor):

  • Inicialmente, su función es montar y abrir la base de datos: Localiza y valida el archivo de control, y abre todos los archivos de datos y logs, utilizando la información del archivo de control.
  • Una vez abierta, SMON se encarga de gestionar el espacio libre en los archivos de datos.
  • Si se requiere recuperación al iniciar la base de datos, este proceso utiliza los archivos de redo log para completar la operación.
  • Durante el uso de la base de datos, realiza tareas de mantenimiento, como limpiar segmentos temporales no utilizados y compactar espacio libre en los archivos de datos.

PMON (Process Monitor):

  • Una sesión de usuario corresponde a un proceso relacionado con un proceso de servidor.
  • El proceso de servidor se crea al iniciar la sesión y se destruye al finalizarla.
  • Una salida ordenada asegura que todos los procesos finalicen correctamente, completando cualquier trabajo pendiente.
  • Si la sesión termina de manera inesperada (por ejemplo, por un reinicio), PMON limpia el estado de la sesión.

PMON supervisa todos los procesos de servidor, identificando problemas en las sesiones.

Si una sesión se termina anormalmente:

  • Destruye el proceso de servidor y libera la memoria PGA para otros procesos.
  • Revierte cualquier transacción incompleta que pudiera estar en curso.

DBWn (Database Writer):

  • Generalmente, las sesiones no escriben directamente en el disco, sino en el cache buffer de la base de datos. El DBWn es el encargado de escribir estos buffers en disco.
  • Una instancia puede tener hasta 20 procesos DBWn, denominados DBW0, DBW1, etc.
  • DBWn escribe datos del buffer en disco solo cuando es necesario, para evitar un rendimiento bajo debido a las operaciones de entrada/salida.
  • Solo se escriben en disco los buffers que no han sido utilizados recientemente.

DBWn utiliza un algoritmo que activa la escritura en 4 situaciones:

  • Cuando no hay buffers libres disponibles.
  • Si hay demasiados buffers con datos.
  • Tras un intervalo de espera de 3 segundos.
  • Durante un checkpoint.

Cuando no hay buffers libres:

Se presentan 3 estados:

  • Buffer libre: Espacio que puede ser reutilizado, con datos ya escritos en disco.
  • Buffer sucio: Contiene información no escrita en disco, y no puede ser sobrescrito.
  • Buffer fijado: Está siendo utilizado activamente por una sesión.

Si no hay suficientes buffers libres, DBWn escribirá los buffers sucios en disco. Si hay demasiados buffers sucios, también procederá a grabar datos en disco. El proceso se repite cada 3 segundos y durante un checkpoint se escriben todos los buffers sucios.

LGWR (Log Writer): Se encarga de escribir el contenido del log buffer en los archivos de log históricos del disco (Redo Log Files).

La escritura se produce en las siguientes circunstancias:

  • Al realizar un COMMIT de una transacción válida.
  • Cuando un tercio del redo log buffer se llena.
  • Si el proceso DBWn necesita sobrescribir bloques de datos no volcados.
  • Cuando ha transcurrido un plazo de 3 segundos.

CKPT (Checkpoint Process):

  • Registra puntos de control en los encabezados de los archivos de datos y en el archivo de control. Estos puntos permiten sincronizar el estado de la base de datos en un momento específico.
  • Mantiene la trazabilidad de la posición del checkpoint incremental en el flujo de redo.
  • Puede instar a DBWn a escribir buffers ocupados en los archivos de datos para avanzar la posición del checkpoint.

MMON (Manageability Monitor):

  • Recopila estadísticas sobre la actividad de la base de datos, almacenándolas en el SGA. MMON captura estas estadísticas cada hora y las registra en el diccionario de datos, conservándolas por hasta 8 días.
  • Al reunir un conjunto de estadísticas, MMON activa el monitor de diagnóstico automático, ADDM, que analiza la actividad de la base de datos.
  • Continuamente monitorea la instancia para detectar posibles alertas.

MMAM (Memory Monitor):

  • Administra automáticamente las asignaciones de memoria, controlando el espacio para sesiones de usuario y las estructuras de memoria SGA y PGA.
  • El tamaño de la SGA puede ajustarse automáticamente, dependiendo de la demanda de las estructuras. Los DBA solo establecen un máximo total de memoria para PGA y SGA, y MMAN se encarga de la gestión.
  • Estos límites se especifican en los parámetros de instancia.

ARCn (Archiver):

  • Es un proceso opcional, con un máximo de 30 instancias. Registra todos los cambios en el log buffer y en los archivos Online Redo Log Files mediante el LGWR.
  • Los archivos Online Redo Log Files tienen un tamaño y número fijos. Una vez llenos, LGWR los sobrescribe. El tiempo antes de que esto suceda depende de varios factores.
  • Para preservar un historial completo de cambios, estos archivos deben ser copiados antes de ser reutilizados.
  • ARCn se encarga de duplicar los archivos Online Redo Log Files antes de que sean sobrescritos, permitiendo la recuperación de la base de datos a un punto anterior.

Las bases de datos pueden operar en dos modos:

  • Modo "Archive log": Con procesos ARCn que evitan que LGWR sobrescriba archivos Online Redo Log Files sin haberlos archivado primero.
  • Modo "No archive log": Sin procesos ARCn, solo se pueden recuperar datos de los archivos Online Redo Log Files, lo que limita las opciones de recuperación. Por ello, se recomienda que todas las bases de datos en producción estén en modo Archive Log.

Por defecto, se inician 4 procesos ARCn. El mecanismo Redo Log guarda los vectores de cambios recientes, mientras que los procesos ARCn mantienen un registro histórico completo.

RECO (Recover) (opcional):

  • En una transacción "distribuida", se realizan cambios en dos o más bases de datos y se requiere un Commit en dos fases para asegurar la consistencia.
  • Si ocurre un error durante este proceso, RECO ejecuta un rollback en las bases de datos involucradas.

Otros procesos de fondo

Existen varios otros procesos en segundo plano, como:

  • CJQ0.
  • J000.
  • D000.
  • DBRM.
  • DIA0.
  • DIAG.
  • FBAR.
  • PSP0.
  • QMNC.
  • Q000.
  • SHAD.
  • SMC0.

Para visualizar los procesos, se pueden consultar las vistas del diccionario de datos:

  • SELECT PROGRAM FROM V$PROCESS
  • SELECT PROGRAM FROM V$SESSION