Arquitectura de Memoria y Niveles de Abstracción en Sistemas de Bases de Datos Oracle
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4 KB
Estructuras de Memoria y Componentes de Instancia en Oracle
Área Global del Sistema (SGA)
El **Área Global del Sistema (SGA)** es un grupo de estructuras de la **memoria compartida** que contiene datos e información de una instancia en una base de datos. Si varios usuarios se conectan a la misma instancia de forma concurrente, los datos se comparten en el SGA, por lo que también se le conoce como Shared Global Area.
Instancias
Una **instancia** de manera formal es la aplicación de un esquema a un conjunto finito de datos.
Una instancia en Oracle se compone de un **SGA** y de **procesos**. Cuando se crea una instancia, Oracle asigna memoria a un SGA automáticamente, y esta se devuelve al Sistema Operativo (SO) cuando la instancia se cierra. Por lo tanto, cada instancia tiene su propio SGA.
Además, el SGA es de **lectura/escritura**.
Área Global de Programas (PGA)
Un **Área Global de Programas (PGA)** es una región de memoria que contiene datos e información de control para los procesos de los diferentes servidores. Es una **memoria no compartida** creada por Oracle cuando se inicia un proceso de servidor. Solo el servidor del proceso puede acceder a ella, y se lee y escribe únicamente por código de Oracle que actúa en nombre del proceso.
Contenido de un PGA
- Memoria de Sesión: Se asigna para mantener las variables de una sesión y otra información relativa a la sesión. Para un servidor compartido, la memoria de sesión es compartida y no privada.
- Área SQL Privada: Un área SQL privada contiene datos como, por ejemplo, consultas de información de ejecuciones y consultas de ejecuciones en áreas de trabajo.
- Áreas de Ordenaciones (Sort Areas): Las áreas de ordenaciones de Oracle son las zonas de memoria en las que se ordenan los datos, es decir, el espacio en memoria que necesita la organización y ordenación de las filas.
Memoria Virtual en Oracle
Oracle puede utilizar la **memoria virtual** proporcionada por el sistema operativo para simular memoria a base de algún dispositivo de almacenamiento, como el disco duro.
La memoria virtual está mapeada en la RAM. Cuando no hay suficiente memoria, se necesita un espacio auxiliar que suele ser el disco duro. Para el traspaso de información, se utilizan dos técnicas principales:
- Paginación: Consiste en dividir los programas en pequeños bloques de manera que sea más fácil moverlos de memoria a disco o viceversa.
- Swapping: Es el proceso de mover los bloques de memoria en los que están algunos procesos que no se están utilizando, desde la **memoria principal** hasta un espacio swap, dejando así espacio libre para poder cargar en memoria otros procesos que sí se van a utilizar.
Área de Código de Software (SCA)
El **Área de Código de Software (SCA)** son zonas de memoria donde se almacena código de Oracle que está en ejecución o que puede llegar a ejecutarse. Este código de Oracle se almacena en una zona distinta y más protegida que la zona donde se almacena el código de los programas de los usuarios.
1.5 Niveles de Abstracción
Los niveles de abstracción definen cómo se perciben y se gestionan los datos dentro de la base de datos.
Nivel Físico
Este es el nivel más bajo de abstracción, en el que se describe cómo se almacenan realmente los datos.
Nivel Conceptual
Este es el siguiente nivel más alto de abstracción, en el que se describe cuáles son los datos reales que están almacenados en la base de datos y qué relaciones existen entre los datos.
Nivel de Visión
Este es el nivel de abstracción más alto, en el cual se describe solamente una parte de la base de datos. Aunque en el nivel conceptual se utilizan estructuras más simples, todavía queda una forma de complejidad que resulta del gran tamaño de la base de datos.