Transcripción Arquitectura de la instancia
Es un depósito para datos sin limite de tamaño, a los cuales tienen acceso los usuarios finales de diferentes formas. Un servidor Oracle se compone esencialmente de 2 elementos, los cuales deben ser claramente diferenciados, aunque estos estén estrechamente relacionados:
- Instancia: Combinación de procesos y estructuras de memoria compartida, que permiten acceder a la información contenida en la base de datos.
- Base de datos: Estructuras de almacenamiento compuestas por ficheros físicos.
Durante los procesos de creación lo primero que se crea es la instancia y luego la base de datos es abierta. En un ambiente de instancia simple, la relación de la instancia con la Base de Datos es ONE-TO-ONE, una instancia simple es unida a una base de datos. Pero siempre hay que tener en cuenta que hay más de una posibilidad compleja para distribuir el ambiente, como que varias instancias apunten a una misma Base de Datos.
Ficheros y diccionario de datos.
Dentro del servidor de Oracle hay una completa abstracción del almacenaje lógico del almacenaje físico. Los programadores de estructuras lógicas ven los datos como tablas y los programadores de estructuras físicas ven ficheros de datos.
La relación entre estas dos es mantenida por estructuras dentro del fichero de control y el diccionario de datos. Un servidor Oracle puede tener un número indeterminado de Base de datos.
La Base de Datos puede estar construida por uno o más ficheros de datos. Cuando una Base de Datos necesita más espacio libre se puede expandir el mismo fichero de datos o se le puede asignar otro fichero diferente. Estos ficheros nunca son visibles para los programadores.
Una tabla contiene los datos que ven los programadores, y esta tabla puede tener espacio de uno o más ficheros de datos. Cuando una tabla se queda sin espacio, se le puede asignar más espacio del mismo fichero de datos donde se creó o también se le puede asignar espacio de otro fichero de datos.
Instancia.
Representa estructuras de datos temporales, almacenados en memoria dinámica (RAM). La instancia debe estar iniciada para poder acceder a los datos contenidos en la base de datos.
Una vez iniciada, se asigna un área global de memoria compartida denominada SGA (System Global Area)y se levantan los procesos en segundo plano (Background process). Cuando se detiene la instancia dicha memoria se libera.
Se tienen además los procesos de servidor (Foreground o server process) encargados del tratamiento de las consultas de usuario. Asociada a estos, existe un área privada de memoria (no compartida) denominada PGA (Program Global Area). La memoria SGA a su vez se divide en diferentes estructuras.
Base de datos.
Constituye el almacenamiento físico de los ficheros de forma permanente. La información persiste, tanto si la instancia está iniciada como detenida, mientras esta no se borre explicitamente.
De forma general, las estructuras físicas que componen la base de datos son las siguientes:
- Ficheros de datos (Data files) – Almacenan la información.
- Ficheros de control (Control files) - Contiene los detalles físicos de la base de datos.
- Ficheros de redo log (Redo log files) – Almacena los cambios que se han efectuado en los datos, son 3 ficheros.
Pero hay otros ficheros para opciones avanzadas que son:
- El archivo de parámetro de la instancia: Indica cómo tiene que ser creada la instancia en la memoria SGA.
- Fichero de password: Contiene los password de los usuarios de Oracle.
- El archivo redo log files: Una vez lleno los ficheros de redo log, su información se archiva en estos ficheros.
- Alert log y el trace files: Ficheros que se usan para auditar la base de datos.
Sesión y red.
Una sesión de usuario consiste en un proceso usuario ejecutándose localmente en la estación de trabajo del cliente y conectado a un proceso servidor ejecutándose en la instancia de la estación servidora (normalmente remota aunque también puede ser local).
La conexión entre cliente y servidor se realiza generalmente sobre una red LAN (Local Area Network) utilizando el protocolo propietario Oracle Net. Usuario y proceso usuario son los componentes del lado cliente. Proceso servidor, instancia y base de datos, son los componentes del lado servidor.
instancia