Agenda
• Base dedatos Oracle
• Arquitectura de base de datos
• Interactuando con la base de datos
• Estructura de memoria
• System Global Area
• Procesos de la Arquitectura
• Estructuras de Proceso
3.
Base de datosOracle
• Sistema de gestión de base de datos
relacional(RDBMS) provee una abierta,
comprensiva, integra, y accesible a la
información.
• Gestiona una gran cantidad de data en un
ambiente multiusuario. Varios usuarios
pueden acceder a la misma data.
• El propósito de una base de datos es
almacenar y recuperar información
relacionada.
Arquitectura de laBase de datos Oracle
• Consiste de una base de datos y de una o más
instancias.
• La instancia consiste de estructuras de memoria y
procesos background.
• Cada instancia que es iniciada, un shared memory
área llamada el System Global Area (SGA) es
asignado y los Background process son iniciados.
• La base de datos consiste de estructuras físicas y
lógicas.
Estructuras de memoria
Hay2 estructuras básica de memoria asociadas con una
instancia:
• System Global Area (SGA): Grupo de estructura de
memoria compartida conocidas como
componentes de SGA, que contiene datos e
información para una instancia base de datos
Oracle.
• Program Global Area (PGA): Contiene información
sobre una server process o background process. Un
PGA es una memoria no compartida creada por la
base de datos Oracle cuando un server process o
background process es iniciado. El acceso al PGA es
exclusivo al server process. Cada server process y
background process tiene como un PGA.
9.
System Global Area(SGA)
Database Buffer Cache
• Mantiene copias de bloques de data que contiene lecturas de data files.
• Es compartido por todos los actuales usuarios.
• El buffer en la cache es gestionado por un complejo algoritmo que usa una combinación
del menos reciente (LRU).
10.
System Global Area(SGA)
Redo Log Buffer
• Mantiene información sobre los cambios hechos en la base de datos.
• Tiene la información para desacher cambios hechos por operaciones tales como DML y
DDL.
11.
System Global Area(SGA)
Shared Pool
Contiene
• Library Cache
• Data dictionary cache
• Estructuras de Control
Data Dictionary: contiene tablas y vistas
referente a la información sobre la base de
datos y sus estructuras y usuarios. Oracle
accede al data dictionary frecuentemente
durante el análisis de una sentencia SQL.
Shared SQL área contiene el parseo y plan
de ejecución de una sentencia SQL. El
tamaño de la memoria depende de la
complejidad de la sentencia.
12.
System Global Area(SGA)
Asignación y rehuso del Shared Pool
• El server process revisa el shared pool para ver si un shared SQL área ya existe para una
idéntica sentencia, si existe es usado .
• Server process asigna un private SQL área en nombre de la sesión.
• Cualquier ítem permanece en la memoria hasta que este es borrado por LRU.
13.
System Global Area(SGA)
Large Pool
Provee una gran memoria para:
• Shared server y Oracle XA interface
• Salidas y entradas para server processes
• Oracle Backup y operaciones de restore.
14.
System Global Area(SGA)
Java Pool y Streams Pool
• Java pool es usado en la memoria del servidor para todas las sesiones específicas que
tienen código Java y data en el JVM.
• La memoria del Stream pool es usada por Oracle Streams para:
– Almacenar mensajes de cola almacenados
– Provee memoria para Oracle streams processes
15.
Procesos de laArquitectura
User process
• Es iniciado cuando un usuario de base de datos o procesos bacheros se conectan a la
base de datos Oracle.
Server Process
• Conecta a la instancia de Oracle y es iniciada cuando un usuario establece sesión.
Background Process
• Son iniciados cuando la instancia de Oracle es iniciada.
16.
Procesos de laArquitectura
El código para conectar a usuarios puede ser configurado como un dedicated server o shared
server.
Dedicated Server
Oracle recomienda utilizar el modo de servidor dedicado para una carga de clientes de 50
usuarios o menos y para los trabajos que realizan solicitudes consistentes y de larga data de
la base de datos.
Shared Server
En el modo de servidor compartido, un proceso único servidor que puede acomodar
múltiples procesos de usuario y los recursos de base de datos se agrupan entre un gran
número de clientes. Es menos eficiente en el procesamiento de los trabajos de producción de
rutina, que carecen de la capacidad para iniciar y detener una instancia de base de datos y
realizar la recuperación de los medios de comunicación.
17.
Procesos de laArquitectura
Para maximizar el rendimiento y acomodar varios usuarios y multiprocesos, Oracle usa
algunos procesos adicionales llamados background processes. Una instancia de Oracle tiene
varios procesos background.
18.
Background Processes
Database WriterProcess (DBWn)
• Escribe modificados buffers (dirty) del database buffer cache a disco.
• El DBWn periódicamente escribe los buffers cuando se lleva a cabo un checkpoint.
19.
Background Processes
Database WriterProcess (DBWn)
Cuando un buffer en el database buffer cache es modificado, es marcado como dirty.
El DBWn escribe dirty buffers a los data files en el orden que ellos fueron modificados.
El proceso DBWn los esribe dirty buffer cuando un server process no encuentra un buffer
limpio.
20.
Background Processes
LogWriter Process(LGWR)
Escribe el redo log buffers al redo log file en disco.
Escribe cuando:
– Un user process realiza commit a una transacción.
– El redo log buffer esta un tercio lleno.
– Antes que un DBWn escriba modificaciones buffers a disco.
– Cada 3 segundos.
Background Processes
CheckPoint Process(CKPT)
Un checkpoint es una estructuctura de datos que define el System Change Number (SCN) en
el hilo del redo de la base de datos. El SCN registrado en las cabeceras de los archivos
garantiza que todos los cambios hechos en la base de datos han sido escritos a disco.
Checkpoint ocurre cuando Oracle mueve nuevos o bloques actualizados (llamados dirty
blocks) de la RAM buffer cache a los data files.
El CKPT process no escribe bloques a disco.
23.
Background Processes
System MonitorProcess (SMON)
Realiza recuperaciones de una instancia.
Limpia segmentos temporales no utilizados.
Si algunas transacciones terminadas fueron omitidas durante la recuperación de la instancia
debido a errores de lectura de archivos o errores fuera de línea. SMON recupera ellos cuando
un tablespace vuelve a estar en línea.
24.
Background Processes
Process MonitorProcess (PMON)
Realiza el proceso de recuperación cuando un proceso falla. Restaura las transacciones no
validadas de los procesos de usuario que abortan.
Limpia el database buffer cache.
Libera recursos utilizados por el proceso de usuario
25.
Background Processes
Recover Process(RECO)
El proceso de recuperación está asociado a un servidor distribuido. En un servidor distribuido
los datos se encuentran repartidos en varias localizaciones físicas, y estas se han de mantener
sincronizadas. Cuando una transacción distribuida se lleva a cabo puede que problemas en la
red de comunicación haga que una de las localizaciones no aplique las modificaciones
debidas. Esta transacción dudosa debe ser resuelta de algún modo, y esa es la tarea del
proceso recuperador.
26.
Background Processes
Recover Process(RECO)
Usado con la configuración de base de datos distribuida.
Automáticamente conecta con otras base de datos envueltas con transacciones distribuidas
en duda.
Automáticamente resuelve todas las transacciones en duda.
Elimina cualquier fila que corresponda a transacciones dudosas
Notas del editor
#4 Oracle database server consists of an Oracle database