The Geek Diary
El siguiente ejemplo describe las operaciones de Oracle database en el nivel más básico. Ilustra una configuración de base de datos Oracle en la que el usuario y el proceso del servidor asociado se encuentran en equipos separados, conectados a través de una red.
1. Se ha iniciado una instancia en un nodo donde está instalada Oracle Database, a menudo llamado host o servidor de base de datos.
2. Un usuario inicia una aplicación que genera 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 niveles desde un nivel medio.)
3. El servidor ejecuta un receptor que tiene el controlador de Oracle Net Services adecuado. El receptor detecta la solicitud de conexión de la aplicación y crea un proceso de servidor dedicado en nombre del proceso de usuario.
4. El usuario ejecuta una instrucción SQL de tipo DML y confirma la transacción. Por ejemplo, el usuario cambia la dirección de un cliente en una tabla y confirma el cambio.
5. El proceso del servidor recibe la instrucción y comprueba el grupo compartido (un componente SGA) para cualquier área SQL compartida que contenga una instrucción SQL idéntica. Si se encuentra un área SQL compartida, el proceso del servidor comprueba los privilegios de acceso del usuario a los datos solicitados por el usuario y el área SQL compartida existente se utiliza para procesar la instrucción. Si no se encuentra un área SQL compartida, se asigna un nuevo área SQL compartida a la instrucción para que pueda analizarse y procesarse.
6. El proceso del servidor recupera los valores de datos necesarios, ya sea del archivo de datos real (tabla) o de los valores almacenados en la caché del búfer de la base de datos.
7. El proceso del servidor modifica los datos en el SGA. Debido a que la transacción se confirma, el proceso de escritura de registros (LGWR) registra inmediatamente la transacción en el archivo de registro rehacer. El proceso de escritura de bases de datos (DBWn) escribe bloques modificados permanentemente en el disco cuando es eficiente hacerlo.
8. Si la transacción se realiza correctamente, el proceso del servidor envía un mensaje a la aplicación a través de la red. Si no tiene éxito, se transmite un mensaje de error.
9. A lo largo de todo este procedimiento, se ejecutan los otros procesos en segundo plano, observando las condiciones que requieren intervención. Además, el servidor de base de datos administra las transacciones de otros usuarios y evita la contención entre transacciones que solicitan los mismos datos.