1. Componentes centrales:
* Oracle Database (The RDBMS): Este es el corazón del sistema, responsable de almacenar, organizar y recuperar datos. Se basa en el modelo relacional, donde los datos se organizan en tablas con filas (registros) y columnas (atributos).
* Oracle SQL (lenguaje de consulta estructurada): El lenguaje estándar utilizado para interactuar con la base de datos. Utiliza SQL para definir estructuras de bases de datos (tablas, índices, etc.), insertar, actualizar, eliminar y, lo más importante, * consulta * datos. La implementación de SQL de Oracle, conocida como PL/SQL, incluye extensiones de procedimiento para crear procedimientos, funciones y desencadenantes almacenados.
* Área global del sistema (SGA): Un área de memoria compartida utilizada por todos los procesos de Oracle Server. Es crucial para el rendimiento. Las partes clave de la SGA incluyen:
* Cache de búfer de base de datos: Las tiendas acceden frecuentemente bloques de datos desde los archivos de la base de datos. Esto reduce la necesidad de leer del disco.
* grupo compartido: Las declaraciones SQL de caché, el código PL/SQL y la información del diccionario de datos. El análisis y la ejecución del código de uso frecuente se vuelve mucho más rápido.
* búfer de registro de rehacer: Los registros de rehacer buffers, que son cambios realizados en la base de datos. Estos se utilizan para la recuperación en el caso de una falla del sistema.
* Área global del programa (PGA): Un área de memoria dedicada para cada proceso de servidor conectado a la base de datos. Sostiene los datos y la información de control exclusivamente para ese proceso.
* Procesos de fondo: Estos son procesos de servidor que realizan tareas de mantenimiento para la base de datos. Los ejemplos incluyen:
* Escritor de bases de datos (DBWN): Escribe bloques de datos modificados desde la memoria caché del búfer de base de datos a los archivos de datos en el disco.
* Log Writer (LGWR): Escribe entradas de registro de rehacer desde el búfer de registro de rehacer a los archivos de registro de rehacer en el disco.
* Sistema Monitor (Smon): Realiza la recuperación de instancias en el inicio, limpia segmentos temporales y un espacio libre de fusión.
* Monitor de proceso (PMON): Limpia los procesos de usuario fallidos.
* Archiver (Arch): Copia los archivos de registro de rehacer para archivar archivos de registro. Esto es esencial para la recuperación puntual.
* Datafiles: Archivos físicos en el disco donde se almacenan los datos reales.
* rehacer archivos de registro: Archivos físicos que registran todos los cambios realizados en la base de datos. Se utilizan para fines de recuperación. Están escritos a secuencialmente. Oracle generalmente usa un registro circular de rehacer, lo que significa que cuando llega al final de un registro, comienza al principio (después de archivar el anterior, si el archivo está habilitado).
* Archivos de control: Pequeños archivos que contienen metadatos críticos sobre la base de datos, como el nombre de la base de datos, la ubicación de los archivos de datos y los archivos de registro de rehacer, y la marca de tiempo de creación de la base de datos.
* instancia: Cuando comienza una base de datos Oracle, está comenzando una *instancia *. Una instancia consta de la SGA (memoria compartida) y los procesos de fondo. Un solo servidor puede ejecutar múltiples instancias de base de datos.
2. Cómo se almacenan y acceden los datos:
1. Conexión de usuario: Un usuario (o aplicación) se conecta a la base de datos utilizando una herramienta de cliente o API (por ejemplo, JDBC, ODBC). La herramienta del cliente envía solicitudes SQL al servidor Oracle.
2. Analización y optimización:
* El servidor Oracle recibe la instrucción SQL y * analiza * para verificar su sintaxis y validez.
* El * optimizador * analiza la declaración SQL y elige el plan de ejecución más eficiente. El optimizador considera factores como índices, tamaños de tabla y distribución de datos.
3. Ejecución:
* El servidor de base de datos ejecuta la instrucción SQL de acuerdo con el plan de ejecución elegido.
* Los datos se recuperan de los archivos de datos (potencialmente utilizando índices para acelerar la búsqueda).
* Los datos recuperados se colocan en la memoria caché del búfer de base de datos en la SGA.
* Los cambios realizados en los datos se registran en el búfer de registro de rehacer.
4. Retorno de datos: Los resultados de la consulta SQL se devuelven al usuario o aplicación.
5. Persistencia de datos:
* El proceso DBWN escribe periódicamente bloques de datos modificados desde el caché del búfer de la base de datos a los archivos de datos en el disco.
* El proceso LGWR escribe entradas de registro de rehacer desde el búfer de registro de rehacer a los archivos de registro de rehacer en el disco.
3. Gestión de transacciones:
* Oracle admite propiedades ácido (atomicidad, consistencia, aislamiento, durabilidad) para las transacciones. Esto garantiza la integridad de los datos.
* Atomicidad: Una transacción se trata como una sola unidad de trabajo indivisible. O todos los cambios se aplican o ninguno lo son.
* consistencia: Una transacción debe mantener las restricciones de integridad de la base de datos.
* aislamiento: Las transacciones se aislan entre sí, evitando la interferencia. Oracle admite diferentes niveles de aislamiento para equilibrar la concurrencia y la integridad de los datos.
* Durabilidad: Una vez que se comete una transacción, los cambios son permanentes, incluso en el caso de una falla del sistema. Los registros de rehacer juegan un papel crucial para garantizar la durabilidad.
4. Conceptos importantes:
* indexación: Los índices se utilizan para acelerar la recuperación de datos. Son similares a los índices en un libro. Crear un índice en una columna consultada frecuentemente puede mejorar significativamente el rendimiento.
* Partitions: Las tablas grandes se pueden dividir en particiones más pequeñas y más manejables. Esto puede mejorar el rendimiento de la consulta, simplificar la gestión de datos y facilitar el archivo de datos.
* Vistas: Las vistas son tablas virtuales basadas en consultas SQL. Se pueden utilizar para simplificar consultas complejas, restringir el acceso a ciertos datos o presentar datos en un formato diferente.
* Procedimientos almacenados, funciones y desencadenantes:
* Procedimientos almacenados: El código precompilado SQL y PL/SQL almacenado en la base de datos. Se pueden llamar por aplicaciones u otros procedimientos.
* Funciones: Similar a los procedimientos almacenados, pero están diseñados para devolver un valor.
* dispara: Código PL/SQL que se ejecuta automáticamente en respuesta a eventos de base de datos específicos (por ejemplo, insertar, actualizar o eliminar datos).
5. Escalabilidad y alta disponibilidad:
* Clusters de aplicación real (RAC): El RAC de Oracle permite que múltiples servidores accedan a la misma base de datos simultáneamente. Esto proporciona alta disponibilidad y escalabilidad. Si un servidor falla, los otros servidores pueden continuar funcionando.
* Guardia de datos: Data Guard es una solución de recuperación de desastres que le permite crear una base de datos en espera que se sincroniza con la base de datos primaria. En el caso de una falla en el sitio principal, la base de datos en espera se puede activar, minimizando el tiempo de inactividad.
En resumen:
Oracle funciona al proporcionar un RDBMS robusto y rico en funciones que le permite almacenar, administrar y acceder a los datos de manera eficiente y de manera confiable. Su arquitectura incluye áreas de memoria compartidas, procesos de fondo y sofisticadas capacidades de gestión de transacciones para garantizar la integridad de los datos y el alto rendimiento. Es un sistema muy poderoso y complejo, utilizado por empresas de todo el mundo. Hay un * mucho * más, pero esto te da una buena descripción.