Procesos

Hola Pedrito.
Necesitaría que me aclarases que tipo de procesos en 2ºplano tiene oracle y cuales son. Como funcionan... etc...
Gracias de antemano.!

1 respuesta

1
Respuesta de
Hola pier:
Pues verás, oracle tiene los siguientes procesos en segundo plano:
DBWR: Database writer
LGWR: Log Writer
CKPT: Checkpoint
SMON: Monitor de sistema
PMON: Monitor de procesos
ARCH: Proceso archivador
RECO: Proceso corregidor
Hasta aqui son los procesos normales de base de datos. Puede haber más procesos database writer, o procesos de mts, parallel, etc.. pero en principio estos son los que nos interesan.
Empezamos:
DBWR: Este proceso es el que se encarga de escribir a disco. Es el único con permiso de escritura en disco, osea en la base de datos. Cuando nosotros escribimos, hacemos un commit en la base de datos, realmente no está escribiendo en disco, si no que está marcando una serie de bloques de datos como que son susceptibles de ser escritos en disco, es decir, marca los datos como "confirmados", pero no escribe, si no que espera a que otra transacción los requiera para llevarlos a disco y así ahorrar un "viaje" o una operación. Por esto mismo cuando la base de datos cae.. o la paramos con la opción "abort", queda inconsistente, ya que puede tener datos en bufferes "confirmados" que realmente no están escritos en disco... por eso cuando volvemos a arrancar, necesita realizar una recuperación (pruébalo.. y después verifica el alert de la base de datos, y te verás lo que digo).
Seguimos... con los procesos:
LGWR: Este proceso es que se encarga de escribir el contenido del búfer del registro de rehacer en los ficheros de registro de rehacer en linea. Se realizan las escrituras por lotes. El buffer del registro de rehacer(redo log), contiene siempre el estado más reciente de la base de datos, ya que es posible que el proceso DBWR espere antes de escribir los bloques modificados desde los búferes de bloques de datos a los archivos de datos. Los archivos de registro de rehacer son ficheros secuenciales lo que indica que cuando acaba de escribir en uno, empieza por otro y así sucesivamente. El tema del funcionamiento de los búferes es un tema muy interesante, pero creo que no debería extendreme tanto, ya que es muy, muy complejo y extenso de explicar su funcionamiento... si quieres lo dejamos para otra ocasión.
CKPT: Este proceso es el encargado de realizar un "prunto de comprobación". Cuando se sucede un punto de comprobación, CKPT hace que DBWR escriba todos los bloques que se hayan modificado desde el último punto de comprobación, y actualize los archivos de control y las cabeceras de los archivos de datos para registrar el punto de comprobación. Los puntos de comprobación de producen de forma automática cuando se llena un archivo de registro de rehacer en linea. Se puede configurar el checkpoint en el fichero de inicialización de parámetros con el parámetro: LOG_CHEKPOINT_INTERVAL.
SMON: Este proceso realiza la recuperación de la instancia, según sea preciso usando los registros de rehacer en linea... (antes hablamos de que si oracle se para necesitaría hacer una recuperación si se para anormalmente, pues lo realiza así). Limpia la base de datos de transacciones inservibles. También cumple la función de agrupar extensiones libres contiguas en la base de datos. Smon solo agrupa el espacio libre en espacios de tablas cuyo valor de almacenamiento predeterminado sea distinto de 0.
PMON: Realiza limpiezas de procesos fallidos de usuarios. Libera recursos que estuviera usando el usuario. Sirve por ejemplo cuando hay bloqueos. Libera bloqueos y pone a disposición para otros usuarios.
ARCH: Proceso que escribe en los registros de rehacer en linea de forma cíclica, es decir, después de llenar el primero, va al segundo, cuando lo llena, va al tercero y así sucesivamente. Una vez terminado el último fichero de rehace en linea, LGWR empieza a sobreescribir los contenidos del primero. Cuando la base de datos se ejecuta en modo ARCHIVELOG, ARCH realiza una copia del cada uno de ficheros de rechace en linea antes de ser sobreescrito.
RECO: Este proceso es el encargado de realizar las recuperaciones de fallos en las bases de datos distribuidas. Este proceso trat de acceder a las bases de datos implicadas en transacciones distribuidas dudoas e intenta resolver las transacciones.
Bueno creo que por hoy ya está bien currada la respuesta... espero te sirva de mucho... y también espero que te pique bien el gusanillo para que busques más información y estudies más sobre el tema.
Un saludo
Pedro
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje