Está en la página 1de 11

Materia: Base de Datos Paralelo: Soft-s-ma-4-1

Fecha: 10/05/2023

Tarea 2 - Gráfico y explicación de la Arquitectura interna de Oracle.

¿Qué es una Instancia en Oracle? PUMA


Una instancia Oracle es la combinación de los procesos en background y las estructuras
de memoria. Para acceder a los datos contenidos en la base de datos, hay que iniciar la
instancia. Cada vez que se inicia una instancia se asigna un área global del sistema (SGA)
y se inician los procesos en background Oracle. De esa manera, Oracle utiliza un conjunto
de procesos (Instancia) que son compartidos por todos los usuarios. Además, existen
estructuras de memoria que son utilizadas para almacenar los datos más recientemente
solicitados a la BD.

SGA es la zona de memoria que se utiliza para almacenar la información de la base de


datos que comparten los procesos asociados a la base de datos.

Los procesos en background desempeñan funciones de E/S y supervisan a otros procesos


para proporcionar un mayor paralelismo con el fin de conseguir un mejor rendimiento y
fiabilidad.

Resumiendo, una instancia de BD son las estructuras de memoria y procesos que acceden
a los ficheros de datos.

Los parámetros que determinan el tamaño y composición de una instancia están


almacenados en un fichero llamado init.ora. Este fichero es leído durante el arranque de
la BD y puede ser modificado por el DBA. Cualquier modificación de este fichero no
tiene efecto hasta la siguiente vez que se arranque la BD.

Una instancia sólo podrá abrir y utilizar una base de datos a la vez, aunque una BD podría
ser utilizada por varias instancias, como ocurre en el sistema de alta disponibilidad de
Oracle Real Application Cluster (RAC).

¿El Instancia de BD cómo se utiliza?

Como vimos anteriormente ya sabemos que es una BD y una Instancia en Oracle, pero
¿cuándo nos referimos a una “Instancia de Base de Datos” a qué nos referimos
exactamente?,
Pues bien. Poniéndolo en términos más sencillos: por un lado, tenemos la Instancia que
es el conjunto de procesos que se ejecutan en el servidor, así como la memoria que
comparten para ello. Pero cuando hablamos de Base de Datos, nos referimos a los
archivos físicos que componen nuestra base de datos. Para referirnos a procesos
ejecutables en memoria utilizaremos el término instancia de base de datos.

¿Qué es un Proceso de usuario, qué es un Proceso servidor, qué son los procesos en
Background? PICO
Proceso de usuario en la arquitectura interna de Oracle.

Es un proceso de software que se ejecuta en nombre de un usuario en una instancia de


base de datos Oracle. Este proceso se inicia cuando un usuario se conecta a la base de
datos y solicita un servicio, como una consulta o una actualización de datos.

• Procesos de cliente SQL*Plus.

• Procesos de servidor de aplicaciones.

• Procesos de servidor de medios.

• Procesos de backup y recuperación.

Proceso servidor en la arquitectura interna de Oracle.

Es un proceso de software que se ejecuta en la instancia de base de datos Oracle y que


gestiona la comunicación entre los procesos de usuario y los componentes de la base de
datos.

• Proceso de servidor de proceso.

• Proceso de monitor de espacio temporal.

• Proceso de monitor de sistema de ficheros.

• Proceso de escritor de alertas.

Procesos background en la arquitectura interna de Oracle.

Son procesos de software que se ejecutan en segundo plano y que realizan tareas de
mantenimiento y administración en la instancia de base de datos Oracle.
• Proceso de fondo de escritura.

• Proceso de fondo de escritura de redo.

• Proceso de fondo de recuperación de instancia.

• Proceso de fondo de checkpoint.

• Proceso de background de recopilación de estadísticas.

¿Qué es el PGA y el SGA? HUACON


¿Qué es la PGA?

La PGA según sus siglas (Program Global Area) es un área de memoria privada, que
contiene información de datos y control para los procesos del servidor de base de datos
Oracle, el acceso es exclusiva para los procesos del servidor y es leída y escrita sólo por
código de Oracle. Su tamaño es variable en longitud, pero no es dinámico. El PGA se
activa al conectarse un usuario.

La PGA se compone por lo siguiente:

Área SQL Memoria de


privada las sesiones:
Cada SQL necesita Esta guarda
espacio para informacion como
ejecutarse para que
se acabo control de el login y derivadas
las operaciones de inicion de sesion
propias
En servidores
Esta asigna cuando compartidos pasan a ser
se abre el cursor y se publicos debio a que
libera varios usuarios
completamente comparten el mismo
cuando se cierra procedimiento de
servidores

Se subdivide en dos
partes:
Parte persistente y
area en tiempo.
¿Dónde reside o se almacena la PGA?

Esta se almacena en dentro de la memoria del servidor, pero esta fuera del SGA, entonces
hay que tomar en cuenta la suma de estas dos no pase los límites que se da especifico en
el servidor y la plataforma.

Cuando se realizan consultas complejas, como por ejemplo en sistemas datawarehouse;


una gran porción de memoria es utilizada, por operadores tales como:

• Operadores de ordenamiento como ORDER BY, GROUP BY, ROLLUP


• Hash-join
• Bitmap merge
• Bitmap create
• Escritura de buffers por operaciones de cargas masivas

Todos los anteriores operadores, realizan el ordenamiento de registros en memoria y se


benefician de la adecuada configuración del área PGA. Grandes cantidades de memoria
asignadas a esta región pueden mejorar notablemente el rendimiento de una consulta o
aplicación, pero pagando el alto precio, de consumo de memoria física del equipo.

Hablando de la memoria del PGA el tamaño se puede configurar

Claro que se puede configurar, pero solo el tamaño las áreas de trabajo. Oracle
dinámicamente gestiona el tamaño de cada área de trabajo para que la suma de todas las
PGAs no exceda del límite impuesto.

Sabiendo esto cuanto ocupa cada PGA.

El tamaño mínimo cambia. No obstante, como el tamaño es cambiante en función del área
de trabajo, lo mejor que se puede hacer para comprobar cuánto ocupa o cómo ocupa es
monitorizarlas.

¿Qué es el SGA?

El SGA como sus siglas lo definen (Área global del sistema) estructura básica de memoria
de Oracle que sirve para facilitar la transferencia de información entre usuarios y también
almacena la información estructural de la BD más frecuentemente requerido.
¿Para qué nos sirve el SGA?

Este nos facilita transferencia de información entre usuarios y también almacena la


información estructural de la Database.

¿En dónde se mantiene el SGA?

Se mantiene en memoria virtual del computador en el que reside la instancia Oracle.

¿El SGA este contenido por?

Son tres componentes los cuales son requeridos:

➢ Shared Pool
➢ Database Buffer Cache
➢ Redo Log Buffer
Componentes
del SGA

Database Buffer Componentes


Shared Pool Redo Log Buffer
Cache opcionales

Library Cache Java Pool:

Data Dictionary
Large Pool:
Cache

Results caché Streams Pool:


¿Qué son los archivos de Datos, Archivos de Control, Archivos de Backup, ¿Archivos
Redo Logs? BURGOS
¿Qué Son Los Archivos De Datos?

Los archivos de datos se han convertido en uno de los elementos más importantes de la
informática básica que son responsables de almacenar datos estructurados, tablas y otra
información, con el objetivo de que puedan localizarse más rápido para el acceso.

Puede identificarse fácilmente con los nombres, que generalmente casi siempre se
relaciona con el contenido de la información almacenada allí. Además, estos archivos son
muy útiles para trabajar dependiendo de la expansión del individuo, aunque hoy hay
muchos tipos de documentos de computadora. (Lucía Díaz, 2020)

¿Qué Son Los Archivos De Control?

Un archivo de impuestos es un pequeño archivo binario que forma parte de una base de
datos Oracle. El archivo de impuestos se utiliza para monitorear el estado de los datos
ABS y la estructura física.

Cada base de datos de Oracle debe tener al menos un archivo de impuestos. Sin embargo,
se recomienda crear más de uno. Cada copia de un archivo de impuestos debe guardarse
en una unidad Multiplex -Disc para crear el registro de datos en línea. Se utilizan para
minimizar el riesgo de todos los archivos de impuestos que se eliminan o se dañan.
(Carlos Cruz Acuña, 2023)

¿Qué Son Los Archivos De Backup?

Reserve copiando más y nada menos que las copias de copia de seguridad. El archivo en
el que se copian los datos de otro archivo para que pierda o elimine el original, puede
restaurar la información.

Se pueden hacer todo tipo de archivos: documentos de oficina (Word, Excel, PowerPoint
...), así como programas.

Las razones por las que puede necesitar copia de seguridad de sus archivos están
borrando. Si tiene archivos solo en un lugar e ingresa un virus que causa la eliminación
de estos archivos, o no se usan, perderá información en ellos. (¿Qué Es Un Back up Y
Para Qué Sirve? Todo Lo Que Necesitas Saber, 2021)
¿Qué son los Archivos RedoLogs?

Los archivos de registro o el modo Archibel se cambian a la base de datos como resultado
de la transacción o acción interna del servidor Oracle. Protegen la base de datos de la
pérdida de perfección en el caso de una discapacidad causada por una fuente de
alimentación y un error de disco duro.

Trabajan periódicamente. Cuando el LGWR con un archivo en línea redondo se pasa al


siguiente grupo de registro, la información se guarda en el archivo de control (control del
archivo) si se produce una operación de punto de control (punto de control). Para mostrar
la información de los archivos, se utilizan la Tabla V $ logFile y V $ log.

Le recomendamos que multiplique sus archivos de registro para que no se pierda la


información guardada en el caso de la falla del disco. Está compuesto por un grupo de
registros rojos, y cada grupo está compuesto de archivos de registro y copias
multiplexadas. La misma copia es un miembro del grupo, y se dice que cada grupo está
identificado por números. (ORACLE: Crear Archivos de Log – REDO LOG, 2018)

¿Qué son los Datafile, Los Tablespace? DIAZ


Datafile

Son los ficheros físicos en los que se almacenan los objetos que forman parte de un
tablespace. Un datafile pertenece solamente a un tablespace y a una instancia de base de
datos.

Un tablespace puede estar formado por uno o varios datafiles. Cuando se crea un datafile,
se debe indicar su nombre, su ubicación o directorio, el tamaño que va a tener y el
tablespace al que va a pertenecer.

Además, al crearlos, ocupan ya ese espacio, aunque se encuentran totalmente vacíos, es


decir, Oracle reserva el espacio para poder ir llenándolo poco a poco con posterioridad.
Por supuesto, si no hay sitio suficiente para crear un fichero físico del tamaño indicado,
se producirá un error y no se creará dicho fichero.

Tablespace
Es un almacén lógico de los ficheros de la base de datos. Cada tablespace posee uno o
varios ficheros (datafiles) donde almacena toda la información; estos ficheros deben tener
una estructura lógica.

Cuando se crea una base de datos, hay que crear al menos un tablespace, que por defecto
es SYSTEM.

Igualmente, cuando se crea un tablespace, se debe indicar al menos un datafile que


formará parte de este datafile (posteriormente se pueden añadir más datafiles al
tablespace).

El datafile es un fichero físico al que tendremos que asignar un directorio, un nombre y


un tamaño inicial que posteriormente se podrá ampliar según las necesidades (y de las
limitaciones) de la instalación.

Este tablespace es el que contendrá la información de los usuarios SYS y SYSTEM que
son los usuarios que tienen la información necesaria para que funcione la base de datos.

Por tanto, el tablespace SYSTEM es una pieza clave para el buen funcionamiento de
nuestra base de datos, por lo que es una buena práctica crear el menos otro tablespace
donde almacenar el resto de los usuarios que vayamos creando en nuestra base de datos.
Podría ahorrarnos:

– Un bloqueo completo de la base de datos si ocurre algo grave al tablespace SYSTEM.

– Llenar el tablespace SYSTEM pudiendo provocar la parálisis de toda la base de datos.

Describa gráficamente el Ciclo de una ejecución de una sentencia de lectura (SQL) FRIAS
Durante el procesamiento de una sentencia SQL, ya sea mediante un script o un programa
PL/SQL, se distinguen cuatro fases: análisis de la sintaxis (parsing), análisis de las
variables (binding), ejecución (executing) y recuperación de datos (fetching).

Ilustración 1

Fases del procesamiento de una sentencia SQL


Nota. Recuperado de Programación PL/SQL (JLPM, 2022)
Fase de parsing
Durante esta fase el servidor de la base de datos Oracle realiza las siguientes
acciones:
• Busca la sentencia SQL en la memoria compartida (shared pool).
• Chequea la sintaxis de la sentencia siguiendo las especificaciones y la
gramática del lenguaje SQL.
• Chequea la semántica, asegurando que los objetos Oracle referenciados en
la sentencia SQL son válidos (existen en la base de datos) y satisfacen las
restricciones de seguridad (es decir, el usuario que ejecuta la sentencia
tiene los permisos adecuados sobre dichos objetos).
• Determina si el proceso que lanza la sentencia SQL tiene los permisos
apropiados para ejecutarlo.
• Si la sentencia SQL incluye una vista (view) o una subquery (una subquery
no es más que una sentencia SELECT que está dentro de otra sentencia
SQL), transforma dicha sentencia en una sentencia SQL equivalente e
intenta simplificar la sentencia resultante.
• Determina y almacena el plan de ejecución o, si es posible, utiliza un plan
de ejecución existente.
Fase de binding
En esta fase el servidor de la base de datos Oracle:
• Identifica las variables (bind variables) en la sentencia SQL.
• Asigna o reasigna un valor a cada variable.
Esto quiere decir que, en el momento de la optimización del plan de ejecución, el
servidor Oracle no conoce los valores de estas variables. Esto facilita una re-ejecución de
la sentencia más rápida, ya que no es necesario volver a hacer el parsing de la sentencia.
No obstante, está el inconveniente de que el optimizador puede seleccionar un plan de
ejecución equivocado causando problemas de rendimiento, cosa que no ocurriría si en
vez de variables utilizamos constantes y, además, se recolectan estadísticas. El tema de la
recolección de estadísticas para mejorar el rendimiento de las bases de datos Oracle
requiere un análisis muy detallado y, quizás, escriba algún artículo más adelante sobre el
tema.

Fase de ejecución
En la fase de ejecución el servidor Oracle realiza las siguientes acciones:
• Ejecuta la sentencia SQL siguiendo el plan de ejecución determinado
durante la fase de parsing.
• Realiza las operaciones de entrada/salida necesarias para la ejecución de
las sentencias de manipulación de datos (DML) y ordena los datos en caso
de ser necesario.
Fase de fetching
Durante esta fase el servidor Oracle devuelve los registros de una sentencia
SELECT. En cada iteración (fetch) el servidor devuelve múltiples registros. El número
de registros que Oracle devuelve por iteración es configurable, es decir, se puede cambiar
el tamaño de la matriz de registros.

Como debes explicar el grafico:


Primero se envía la sentencia de SQL al servidor de base de datos que busca
información solicitada en sus tablas.
Luego, la base de datos devuelve los datos al servidor que realizo la consulta de
SQL, (estos datos se almacenan en el bufel de resultados antes que se le
devuelva al cliente)
Para finalizar el servidor de aplicaciones envía los resultados de consulta al
clientes para mostrarlos.
REFERENCIAS BIBLIOGRAFICAS / ENLACES

http://mundodb.es/introduccion-a-las-base-de-datos-oracle

https://dbaexperts.tech/wp/oracle/base-de-datos-e-instancia-de-bd-oracle/

Lucía Díaz. (2020, March 6). 【 EXTENSIONES de ARCHIVOS de DATOS 】


¿Qué son y tipos? ▷ 2023. Internet Paso a Paso. https://internetpasoapaso.com/archivos-
de-
datos/#:~:text=Los%20archivos%20de%20datos%20se%20han%20convertido%20en,lo
calizadas%20de%20forma%20m%C3%A1s%20r%C3%A1pida%20para%20su%20acc
eso.

Carlos Cruz Acuña. (2023, May 7). Archivos de Control - Oracle. Blogspot.com.
https://carloscruza.blogspot.com/2009/08/archivos-de-control-
oracle.html#:~:text=Un%20Archivo%20de%20Control%20es%20un%20archivo%20bi
nario,la%20abse%20de%20datos%20y%20la%20estructura%20fisica.

¿Qué es un back up y para qué sirve? Todo lo que necesitas saber. (2021, January
27). Informática Para Empresas. https://www.gadae.com/blog/que-es-un-back-up/

ORACLE: Crear archivos de log – REDO LOG. (2018, May 9). A Kodigo
Abierto; A Kodigo Abierto. https://salinasjavi.wordpress.com/2018/05/09/oracle-crear-
archivos-de-log-redo-log/

JLPM. (27 de abril de 2022). Fases durante el procesamiento de una sentencia


SQL. Obtenido de Programación PL/SQL: https://www.plsql.biz/2007/04/fases-durante-
el-procesamiento-de-una.html

También podría gustarte