La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ARQUITECTURA DE ORACLE

Presentaciones similares


Presentación del tema: "ARQUITECTURA DE ORACLE"— Transcripción de la presentación:

1 ARQUITECTURA DE ORACLE
Arquitectura de Bases de Datos Ing. Wilson Soto Maestría de Ingeniería de Sistemas y Computación Universidad Nacional de Colombia

2 INSTANCIA Estado que presenta una base de datos en un tiempo dado.
Es posible que muchas instancias accedan a una única BD esta opción es conocida como Real Application Cluster (RAC). Los parámetros que determinan el tamaño y la composición de una instancia se almacena en un archivo de inicialización init.ora o bien residen dentro de la BD, en un archivo de parámetros, conocido como SPFILE el cual esta almacenado en spfile.ora. Este archivo se lee durante el arranque de la instancia.

3 DIVISION LOGICA DE LA BD
Los Datos de una BD son almacenados en archivos físicos llamados datafiles en los discos. Internamente existen estructuras de la BD que proporcionan una asignación lógica de los datos con los archivos, lo que permite almacenar de forma separada diferentes tipos de datos. Estas divisiones lógicas se llaman espacios de tablas (tablespaces). Así la división lógica de los objetos de BD entre varios espacios de tablas permite que dichos objetos se almacenen de forma física en archivos separados que pueden situarse en discos distintos.

4 Estructuras Internas de las BD
Las internas de la BD (Tablas, usuarios y esquemas, índices, vistas, secuencias, procedimientos, funciones, paquetes y triggers, sinónimos, privilegios, roles, enlaces de BD, segmentos, extensiones y bloques, segmentos de rollback (anulación)). Las internas a las áreas de memoria (áreas de memoria compartida y los procesos). Las externas a la BD ORACLE utiliza procesos de background que son compartidos por todos los usuarios.

5 Instance User process SGA Shared pool Data dict. cache Library cache
Estructuras de memoria Instance User process SGA Shared pool Data dict. cache Library cache Data buffer cache Redo log buffer Server process PGA SMON DBW0 PMON CKPT LGWR Others Procesos de Background Database Data files Control files Redo log files Parameter file Archivos Archived log files Password file

6 PGA (Program Global Area)
La cual es privada para cada instancia o utilizada por un único proceso del usuario de ORACLE y además por los procesos de Background. Existe una PGA por cada proceso. La PGA contiene lo siguiente: Stack areas Data areas

7 SGA (System Global Area)
Es un grupo de estructuras de memoria compartida que contiene datos e información de control para una instancia de la BD. Almacena la mayor parte de la información sobre la propia estructura de la BD que es consultada con mas frecuencia. La SGA y los procesos constituye en ORACLE la instancia. Cada instancia tiene una propia SGA.

8 La SGA contiene las siguientes estructuras de datos:
Data buffer cache Redo log buffer Shared pool Java pool Large pool (opcional)

9 Data buffer cache Es una parte de la SGA que mantiene copias de los bloques de la base de datos que son leídos desde los data files. Todos procesos de los usuarios concurrentemente son conectados a la instancia compartida para acceder al database buffer cache o bufer del bloque de datos. El tamaño del cache del búfer del bloque de datos vienen determinado por el parámetro DB_BLOCK_BUFFERS del init.ora de dicho servidor de BD. La gestión del tamaño del cache del bufer del bloque de datos juega un importante papel en la gestión y ajuste de la BD.

10 ORACLE gestiona el espacio disponible mediante un algoritmo de menos utilizado recientemente LRU (least rencently used). Cuando se necesita espacio libre en el cache, se escriben al disco los bloques menos utilizados recientemente, siendo sustituidos por nuevos bloques de datos. De esta forma, en la memoria se conservan los datos utilizados con mas frecuencia. El Data buffer cache y el shared pool esta dividido en múltiples asignaciones de segmentos. Esta organización en múltiples segmentos lógicos reduce la contención sobre sistemas multiprocesos.

11 Redo log buffer Es un buffer circular en la SGA que mantiene la información de los últimos cambios realizados a la BD (registra los cambios realizados). Esta información es almacenada en las entradas Redo conteniendo la información necesaria para reconstrucción (rehacer cambios hechos) a la base de datos por instrucciones DML y DDL. Se escriben en los archivos de registro rehacer en línea de forma que puedan utilizarse en las operaciones de reconstrucción durante las recuperaciones de la BD.

12 Las entradas redo son copiadas por la instancia de procesos desde el espacio de memoria del usuario al buffer de redo log en la SGA. Las entrada redo toman en forma contigua el espacio en el buffer. Los procesos de background LGWR escriben los redo log buffer en línea o grupos de archivos sobre disco. La inicialización del parámetro LOG_BUFFER determina el tamaño en bytes de los buffers de redologs. Por lo general, los grandes valores reducen el log de IO, en especial si las transacciones son numerosas. El default es 4 veces el máximo del bloque de datos para el Sistema Operativo.

13 Shared pool La librería cache contiene las sentencias SQL, procedimientos, packages y estructuras de control. El diccionario cache contiene tablas, columnas, objetos, privilegios. La segunda vez que cualquier usuario ejecuta una sentencia SQL idéntica, puede aprovecharse la información de análisis disponible en el fondo común SQL compartido para acelerar su ejecución. Shared pool LIBRARY CACHE DATA DICTIONARY CACHE

14 El tamaño total del Shared pool es determinado por la inicialización en SHARE_POOL_SIZE. El valor default de este parámetro es de 8M sobre plataformas de 32 bits y 64 M sobre plataformas de 64 bits. Mientras la cache de buffers de bloques de datos y la cache de diccionario permiten que los usuarios de BD compartan información sobre los datos y su estructura, la cache de biblioteca permite que compartan instrucciones SQL que se emplean con mas frecuencia. Esta área contiene el plan de ejecución y el árbol de análisis de las instrucciones SQL que se ejecutan en la BD.

15 Si hay mas de un usuario ejecutando al mismo tiempo una unidad de programa, el área compartida es usada por todos los usuarios, cada usuario mantiene una copia de su área privada SQL, manteniendo valores específicos para su sesión.

16 Java pool Satisface los requisitos de análisis de los comandos JAVA.
JAVA_POOL_SIZE se debe definir en el parámetro de inicialización. Ejemplo en UNIX el tamaño predeterminado es 24 M este se debe definir un mínimo basado en el tamaño del granulo de la BD.

17 Large pool Es una memoria opcional. Si se utiliza la opción de servidor compartido o si lleva a cabo operaciones de copia de seguridad o restauración con frecuencia, estas operaciones pudieran resultar mas eficientes si creara un área de bloques de gran tamaño. El administrador de la BD puede configurar la memoria teniendo encuentra: Procesos de I/O. Operaciones de backup y recuperación. Sesiones de memoria compartida con mas de una BD. Esta se establece en el parámetro de inicialización LARGE_POOL_SIZE.

18 Procesos ORACLE Responde a todos los procesos que están conectados a la instancia Ejecuta sentencias SQL de la aplicación Lee bloques de datos desde un datafiles sobre el disco intercambiando buffers de la SGA Retorna resultados con los pasos dados en la aplicación

19 Procesos de Background
El máximo rendimiento entre muchos usuarios, multiprocesos y adicionalmente procesos. DATABASE WRITER = DBW0 LOG WRITER = LGWR CHECKPOINT = CKPT SYSTEM MONITOR = SMON ARCHIVER = ARCH RECOVER = RECO

20 DBWn Escribe el contenido a los buffers de archivos de datos (datafiles). Es el responsable de escribir modificaciones en la base de datos del buffer cache memoria a disco. Cuando modifica algún dato en la BD por ejemplo insertar, actualizar o eliminar, no solo modifican los datos en el disco. Cuando un hilo del usuario quiere leer un nuevo bloque de datos en la memoria pero no queda espacio libre o cuando el sistema realiza un control. Toda instancia de ORACLE tiene al menos un DBW. Los sistemas que deben soportar un gran volumen de rendimiento de transacciones pueden funcionar mejor con dos o mas hilos.

21 LGWR Este hilo registra la información sobre los cambios realizados a todas las transacciones que se confirman. ORACLE registra el registro de transacciones así: 1. A medida que se realiza una transacción, ORACLE crea pequeños registros llamados redo log, que contienen justo la información necesaria para volver a generar los cambios realizados por la transacción.

22 2. ORACLE almacena temporalmente las entradas redo log de las transacciones en el buffer del registro redolog de la instancia. El buffer del registro redolog de la instancia es una memoria pequeña que hace de cache temporal para las entradas redolog de la transacción para todas las transacciones del sistema. 3. Cuando se le pide a ORACLE que confirme la transacción LGWR lee las correspondientes entradas redolog desde el buffer del registro redolog y las escribe en el registro de transacciones de la BD. El registro de transacciones de la BD es un conjunto de archivos dedicados a registrar las entradas redolog creadas por todas las transacciones del sistema.

23 COMMIT Processing 1 4 3 2 Instance SGA Redo log buffer
Data buffer cache Shared pool 1 Server process 4 LGWR 3 2 User process Database Data files Control files Redo log files

24 ARCH Hace una copia de seguridad de los archivos históricos de transacción automáticamente después de que LGWR los llene con las entradas rehacer. El conjunto secuencial de archivos históricos de transacción archivado que crea ARCH recibe el nombre global de registro de transacciones rehacer fuera de línea de la base de datos. Si una BD sufre una falla por ejemplo un disco, ORACLE usa las copias de seguridad de la BD y el registro de transacciones para recuperarla y todas las transacciones confirmadas.

25 CKPT Periódicamente el DBWR realiza un control. Durante un control, DBWR escribe todos los bloques de datos modificados desde memoria a los archivos de datos de la BD. El propósito de un control es establecer indicadores de consistencia de transacciones en el disco. Después de realizar un control, los cambios realizados por todas las transacciones se han escrito en los archivos de datos. Por lo tanto un control indica cuantas entradas rehacer del histórico debe aplicar ORACLE si el servidor deja de funcionar y existe la necesidad de recuperar la BD.

26 SMON Durante el procesamiento de las BD, realiza muchas operaciones internas. Cuando se arranca la BD SMON realiza la recuperación de la instancia, según lo que se necesite utilizando archivos del registro rehacer. También limpia la BD eliminando objetos de las transacciones que el sistema ya no necesita. Agrupa extensiones libres contiguas en extensiones libres mayores.

27 PMON En ocasiones las conexiones de usuario no terminan correctamente. Por ejemplo un error de red puede desconectar sesiones. El SMON (System monitor) avisa de cuando han dejado de funcionar las conexiones del usuario. PMON borra después las conexiones huérfanas deshaciendo las transacciones de la sesión muerta y liberando cualquiera de los recursos de sesión que podrían de otra forma bloquear a otros usuarios.

28 RECO ORACLE puede soportar sistemas de BD distribuidas y transacciones distribuidas. Se activa automáticamente para resolver todas la transacciones distribuidas dudosas a medida que estas ocurren. RECO resuelve el resultado local de una transacción distribuida dudosa para que coincida con el resultado de la transacciones en otros nodos. Parámetro en el init.ora superior a 0 DISTRIBUTED_TRANSACTIONS.


Descargar ppt "ARQUITECTURA DE ORACLE"

Presentaciones similares


Anuncios Google