Una base de datos es una colección de datos tratados como unidad. El proposito de una base de datos es guardar y recuperar información.
Archiver Proccess
*Copia los archivos redo logs a un dispositivo de almacenamiento después de que a ocurrido un log switch.
Un log swich ocurre cuando el LGWR (escritor de logs) deja de escribir en un grupo redo log y comienza a escribir en otro. Por default, un log switch ocurre automaticamente cuando el grupo de archiovs actuales de redo logs se llena.
O puedes forzar un log switch para hacer el grupo actual de redo inactivo y disponible para operaciones de mantenimieno. Por ejemplo, si queres borrar grupo activo actualmente, pero no puedes hacerlo hasta que el grupo este inactivo. Tambien puedes forzar un log switch si el grupo activo actualmente necesita ser archivado en un tiempo especifico antes de que los miembros de grupo esten completametente llenos. Esta opcion es útil en configuraciones de grandes archivos de de redo que toman un largo que toma un largo perido llenar.
Para forzar un log switch, debes tener el privilegio ALTER SYSTEM. Usa el comando ALTER SYSTEM con la clausula SWITH LOGFILE.
El siguiente comando fuerza un log switch:
ALTER SYSTEM SWITCH LOGFILE;
Interactuando con una Base de datos Oracle
El siguiente ejemplo describe las operaciones de una base de datos Oracle al nivel más básico. También ilustra un configuración de base de datos Oracle en la cúal el usuario y el proceso asociado del servidor estan en computadoras separadas, conectadas a través de una red.
1. Una instancia ha iniciado un nodo donde una base de datos Oracle esta instalada, a menudo llamada el host o servidor de bases de datos.
2. Un usuario inicia una aplicación generando un proceso de usuario. La aplicación intenta establecer una conexión con el servidor. (La conexión puede ser local,cliente/servidor, o una conexión de tres capas de la capa intermedia.
3. El servidor ejecuta un listener que tiene los operarios de los Oracle Net Services. El listener detecta la petición de conexión de la aplicación y crea un proceso de servidor dedicado a nombre del proceso de usuario.
4. El usuario ejecuta una operación de tipo DML y compromete la transacción. Por ejemplo, el usuario cambia la dirección de un cliente en una tabla y compromete el cambio.
5. El proceso del servidor recibe el comando y revisa la shared pool area(un componente de la SGA) para ver sí contiene algún area de SQL compartida que contenga un comando SQL ídentico. Sí una área SQL es encontrada, el proceso del servidor revisa los privilegios del usuario para recuperar los datos, y el area SQL compartida existente es usada para procesar el comando. Sí una area compartida no es encontrada, una nueva area compartida SQL es asignada para el comando de tal forma que pueda ser analizado sintacticamente y procesado.
6. El proceso del servidor recupera cualquier valor de los datos necesarios, del data file actual(tabla) o de los valores guardados en el buffer cache de la base de datos.
7. El proceso del servidor modifica los datos en la SGA. Porque la transacción esta comprometida, el proceso Log Writer(LGWR) inmediatamente guarda la transacción en el archivo redo log. El proceso Database Writer (DBWn) escribe los bloques modificados permanentes en el disco cuando es eficente hacerlo.
8. Sí la transaccion es exitosa, el proceso del servidor envia un mensaje a través de la red a la aplicación. Sí no es exitosa, un mensaje de error es transmitido.
9. A través de este procedimiento completo, los otros procesos se ejecutan en segundo plano, observando las condiciones que requieren intervenir. Además, el servidor de bases de datos administra las transacciones de otros usuarios y evita la disputa entre transacciones que solicitan los mismos datos.