Funcionamiento Interno de Oracle: Caché de Buffers y Estructura Física de la Base de Datos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,42 KB
Proceso del Servidor y Caché de Buffers de la Base de Datos Oracle
Cuando se procesa una consulta, el proceso del servidor de Oracle busca en la caché de buffers de la base de datos cualquier bloque que necesita. Si no encuentra el bloque en la caché de buffers de la base de datos, el proceso del servidor lee el bloque del archivo de datos y coloca una copia en esa caché. Dado que es posible que solicitudes posteriores del mismo bloque encuentren el bloque en memoria, estas solicitudes no requerirán lecturas físicas.
El servidor de Oracle utiliza el algoritmo de uso menos reciente (LRU) para dejar obsoletos los buffers a los que no se ha accedido recientemente y crear espacio para los nuevos bloques en la caché de buffers de la base de datos.
Estados de los Buffers en la Caché
Los buffers de la caché de buffers pueden tener uno de los siguientes cuatro estados:
- Asignado: Se evita que varias sesiones escriban en el mismo bloque al mismo tiempo. Las demás sesiones esperan para acceder al bloque.
- Limpio: El buffer ahora no está asignado y es candidato para quedar obsoleto inmediatamente si no se vuelve a hacer referencia al contenido actual (bloque de datos). El contenido está sincronizado con el contenido de los bloques almacenados en disco o el buffer contiene una instantánea de lectura consistente (CR) de un bloque.
- Libre o no utilizado: El buffer está vacío porque la instancia se acaba de iniciar. Este estado es muy parecido al estado limpio, salvo que el buffer no se ha utilizado.
- Sucio: El buffer ya no está asignado, pero el contenido (bloque de datos) ha cambiado y se debe vaciar en disco con DBWn antes de que quede obsoleto.
Estructura Física de la Base de Datos Oracle
Los archivos que constituyen una base de datos Oracle están organizados del siguiente modo:
Archivos Principales de la Base de Datos
- Archivos de control: Contienen datos sobre la propia base de datos (es decir, información sobre la estructura física de la base de datos). Estos archivos son críticos para la base de datos. Sin ellos, no se pueden abrir los archivos de datos para acceder a los datos que contiene la base de datos.
- Archivos de datos: Contienen los datos de aplicación o de usuario de la base de datos.
- Archivos redo log en línea: Permiten la recuperación de instancias de la base de datos. Si la base de datos falla y no se pierden archivos de datos, la instancia puede recuperar la base de datos utilizando la información de dichos archivos.
Archivos Adicionales Importantes
Los siguientes archivos adicionales son importantes para la correcta ejecución de la base de datos:
- Archivo de parámetros: Se utiliza para definir el modo de configurar la instancia al iniciar.
- Archivo de contraseñas: Permite a los usuarios conectarse a la base de datos de forma remota y realizar tareas administrativas.
- Archivos de copia de seguridad: Se utilizan para la recuperación de la base de datos. Normalmente se restaura un archivo de copia de seguridad cuando un fallo del medio físico o un error del usuario ha dañado o eliminado el archivo original.
- Archivos archive log: Contienen un historial continuo de los cambios de datos (redo) generados por la instancia. Mediante estos archivos y una copia de seguridad de la base de datos, se puede recuperar un archivo de datos perdido. Es decir, los archive logs permiten la recuperación de archivos de datos restaurados.
- Archivos de rastreo: Cada proceso de servidor y de segundo plano puede escribir en un archivo de rastreo asociado. Cuando un proceso detecta un error interno, registra información sobre el error en su archivo de rastreo. Parte de la información escrita en un archivo de rastreo va destinada al administrador de la base de datos, mientras que otra información es para los Servicios de Soporte de Oracle.
- Archivos log de alertas: Son archivos de rastreo especiales. También se conocen como logs de alertas. El log de alertas de una base de datos es un registro cronológico de mensajes y errores. Oracle recomienda revisar estos archivos.