ARQUITECTURA ORACLE Arquitectura de un SABD Capitulo 3.1 Arquitectura de un SABD 3 ARQUITECTURA ORACLE Cliente Servidor INSTANCIA BASE DE DATOS Proceso USUARIO Proceso SERVIDOR Online Redo Log Control Password Parameter Datafiles Archived Redo Log SGA Shared Pool Procesos Background PMON SMON DBWR LGWR CKPT Database Buffer Redo Log Buffer Dictionary Cache Library Cache PGA Oracle NET INSTANCIA ORACLE Arquitectura de un SABD Capitulo 3.1 Arquitectura de un SABD 5 INSTANCIA ORACLE Permite acceder a una base de datos Abre una sola base de datos Variable del S.O. ORACLE_SID Formada por: Estructuras de memoria (SGA) Procesos background INSTANCIA SGA Shared Pool Procesos Background PMON SMON DBWR LGWR CKPT Database Buffer Redo Log Buffer Dictionary Cache Library Cache Capitulo 3.1 Arquitectura de un SABD 6 SYSTEM GLOBAL AREA (SGA) Memoria asignada cuando se crea la instancia Formada por 3 estructuras principales: Database Buffer Cache Redo Log Buffer Shared Pool Data Dictionary Cache Library Cache SGA Shared Pool Database Buffer Redo Log Buffer Dictionary Cache Library Cache Capitulo 3.1 Arquitectura de un SABD 7 DATABASE BUFFER CACHE Almacena los bloques de datos Parmetro: DB_BLOCK_BUFFER Parmetro: DB_BLOCK_SIZE Algoritmo LRU (Least Recently Used) para descargar datos de memoria Database Buffer Capitulo 3.1 Arquitectura de un SABD 8 REDO LOG BUFFER Registra modificaciones realizadas en la Base de Datos Registro secuencial Buffer circular Parmetro: LOG_BUFFER Redo Log Buffer Capitulo 3.1 Arquitectura de un SABD 9 SHARED POOL Library Cache Sentencias SQL ejecutadas Texto de la sentencia rbol de anlisis Plan de ejecucin Data Dictionary Cache Bloques del Diccionario de Datos Parmetro: SHARED_POOL_SIZE Shared Pool Dictionary Cache Library Cache Capitulo 3.1 Arquitectura de un SABD 10 PROCESOS BACKGROUND Funcionalidad del motor de la base de datos Principales procesos: DBWR (Database writer) LGWR (Log writer) SMON (System monitor) PMON (Process monitor) CKPT (Checkpoint process) ARCH (Archiver process) PMON SMON DBWR LGWR CKPT Procesos Background Capitulo 3.1 Arquitectura de un SABD 11 PROCESOS BACKGROUND DBWR (Database writer) Escribe del Database Buffer Cache a los Datafiles Puede existir ms de un DBWR LGWR (Log writer) Escribe del Redo Log Buffer al Online Redo Log File Escribe secuencialmente PMON SMON DBWR LGWR CKPT Procesos Background Capitulo 3.1 Arquitectura de un SABD 12 PROCESOS BACKGROUND SMON (System monitor) Recupera la instancia despus de una caida Recupera transacciones canceladas Limpia los segmentos temporales no utilizados PMON (Process monitor) Recupera recursos ante falla de Proceso Servidor Buffers que utilizaba el Proceso Servidor PMON SMON DBWR LGWR CKPT Procesos Background Capitulo 3.1 Arquitectura de un SABD 13 PROCESOS BACKGROUND CKPT (Checkpoint process) indica al DBWR y al LGWR que se producir un CHECKPOINT Actualiza la cabecera de los Datafiles y los Control Files con el valor del ltimo CHECKPOINT PMON SMON DBWR LGWR CKPT Procesos Background PROCESOS USUARIO Y SERVIDOR Captulo 3.1 Arquitectura de un SABD Capitulo 3.1 Arquitectura de un SABD 15 PROCESO SERVIDOR Se ejecuta en el servidor ORACLE Sirve a un solo proceso Usuario (Conf. Dedicada) rea de memoria exclusiva PGA Procesa las llamadas del proceso usuario Analiza y ejecuta las sentencias SQL Lee los bloques de datos necesarios desde los Datafiles Enva al usuario el resultado de la consulta Proceso SERVIDOR Capitulo 3.1 Arquitectura de un SABD 16 PROGRAM GLOBAL AREA (PGA) Memoria no compartida Contiene datos e informacin de control Se asigna cuando el proceso es creado y se libera cuando finaliza Contiene: rea de sort Estado de los cursores rea de stack PGA Capitulo 3.1 Arquitectura de un SABD 17 PROCESO USUARIO Se ejecuta en la mquina del cliente Se crea cuando una aplicacin es invocada Genera llamadas al servidor Oracle Proceso USUARIO Capitulo 3.1 Arquitectura de un SABD 18 SOFTWARE DE RED Oracle Net Interfase con el protocolo de red Proporciona la capa de software entre Oracle y el protocolo de red Transparencia a los desarrolladores sobre el protocolo de red Oracle NET ESTRUCTURA LGICA Y ESTRUCTURA FSICA DE UNA BASE DE DATOS ORACLE Captulo 3.1 Arquitectura de un SABD Capitulo 3.1 Arquitectura de un SABD 20 ESTRUCTURA DE UNA BASE DE DATOS ORACLE Estructuras lgicas Esquemas y objetos de esquemas Bloque de datos Extent Segmento Tablespace Estructuras fsicas Datafile Redo Log File Control File ESQUEMAS Y OBJETOS Captulo 3.1 Arquitectura de un SABD Capitulo 3.1 Arquitectura de un SABD 22 ESQUEMA Esquema : Coleccin de objetos Esquema PERTENECE a un usuario de base de datos Esquema TIENE EL MISMO NOMBRE que el usuario de base de datos Capitulo 3.1 Arquitectura de un SABD 23 TABLA Unidad bsica de almacenamiento Datos almacenados en filas y columnas Cada columna tiene un nombre, un tipo, una longitud o escala y una precisin Puedes tener constraints de integridad y triggers Los datos de las tablas pueden ser consultados, insertados, modificados y borrados Capitulo 3.1 Arquitectura de un SABD 24 VISTA Presentacin personalizada de los datos de una o ms tablas base Las vistas no almacenan datos Los datos de las vistas pueden ser consultados, insertados, modificados y borrados Todas las operaciones realizadas sobre una vista afectan las tablas base Capitulo 3.1 Arquitectura de un SABD 25 SECUENCIA Lista serial de nmeros nicos para columnas numricas de tablas Se utilizan para generar identificadores nicos en tablas Las secuencias son independientes de las tablas Capitulo 3.1 Arquitectura de un SABD 26 PROCEDIMIENTOS ALMACENADOS Son procedimientos, funciones y paquetes que se almacenan en la base de datos Instrucciones SQL y PL/SQL que se agrupan para realizar una tarea Las funciones retornan valor, los procedimientos no Los paquetes permiten encapsular procedimientos y funciones Permiten organizar mejor la programacin Capitulo 3.1 Arquitectura de un SABD 27 ENLACE DE BASE DE DATOS Permite la conexin entre bases de datos Son utilizados en bases de datos distribuidas ESTRUCTURAS DE ALMACENAMIENTO Arquitectura de un SABD Capitulo 3.1 Arquitectura de un SABD 29 ESTRUCTURAS LGICAS DE ALMACENAMIENTO Las estructuras lgicas permiten el control del espacio fsico de almacenamiento Bloque de datos Extent Segmento Tablespace Capitulo 3.1 Arquitectura de un SABD 30 BLOQUE DE DATOS Nivel ms pequeo de almacenamiento fsico Los datos en la B.D. se almacenan en bloques Se define con el parmetro DB_BLOCK_SIZE Es mltiplo del bloque de sistema operativo Se define cuando se crea la base de datos No puede ser modificado para toda la base de datos Capitulo 3.1 Arquitectura de un SABD 31 BLOQUE DE DATOS Espacio libre Datos Directorio de tablas Directorio de filas Cabecera Capitulo 3.1 Arquitectura de un SABD 32 EXTENT Un Extent es un nmero especfico de bloques de datos Oracle CONTIGUOS Se utilizan para almacenar un tipo especfico de informacin Capitulo 3.1 Arquitectura de un SABD 33 SEGMENTO Grupo de Extents ubicados en un Tablespace Los Extents que forman el segmento no necesariamente estn contiguos en disco Capitulo 3.1 Arquitectura de un SABD 34 TABLESPACE Formado por estructuras fsicas (Datafiles) Agrupa otras estructuras lgicas de almacenamiento Capitulo 3.1 Arquitectura de un SABD 35 TABLESPACE Segmento ALUMNOS Tipo TABLA Tablespace DATOS Extents EXTENT 0 EXTENT 1 EXTENT 2 Datafile: 2 C:\Dat02.dbf Datafile: 1 D:\Dat01.dbf Capitulo 3.1 Arquitectura de un SABD 36 DATAFILE Contiene los datos de las estructuras lgicas de almacenamiento Un DATAFILE se asocia con un slo TABLESPACE Uno o ms DATAFILES forman un TABLESPACE Capitulo 3.1 Arquitectura de un SABD 37 ONLINE REDO LOG FILE Registra todos los cambios producidos en la Base de Datos Como mnimo 2 ONLINE REDO LOG FILES en una Base de Datos Son utilizados durante el proceso de recuperacin de la Base de Datos debido a una falla en la instancia o en el medio de almacenamiento Se utilizan en forma circular Online Redo Log Capitulo 3.1 Arquitectura de un SABD 38 ONLINE REDO LOG FILE Identificar cuando ocurre una corrupcin lgica Detectar y corregir errores de usuario Recuperacin de transacciones Afinamiento y planeamiento de capacidad Auditoria Online Redo Log Capitulo 3.1 Arquitectura de un SABD 39 CONTROL FILE Tiene informacin del estado de las estructuras fsicas de la base de datos Debe estar disponible para escritura para poder abrir la Base de Datos Si no existe, no se podr abrir la Base de Datos Cualquier modificacin de las estructuras fsicas de la Base de Datos se registra en los Control Files Control Capitulo 3.1 Arquitectura de un SABD 40 PASSWORD FILE Permite la conexin remota a la Base de Datos con privilegios SYSDBA y SYSOPER Lleva el registro de los usuarios que estn trabajando con estos privilegios Password Capitulo 3.1 Arquitectura de un SABD 41 PARAMETER FILE Es ledo cuando se inicia la instancia La modificacin de los parmetros slo tendr efecto en el siguiente arranque de la instancia Contiene parmetros que configuran la instancia y la Base de Datos Nombre de la Base de Datos Cantidad de memoria asignada Nombre de los Control Files Lmites y parmetros del sistema Parameter Capitulo 3.1 Arquitectura de un SABD 42 ARCHIVED REDO LOG FILE Son opcionales Son generados si la Base de Datos se encuentra en modo Archivelog Son utilizados durante el proceso de recuperacin de la Base de Datos debido a una falla en la instancia o en el medio de almacenamiento Antes de ser reusado un Online Redo Log File es archivado y se genera un Archived Redo Log File Archived Redo Log DICCIONARIO DE DATOS Arquitectura de un SABD Capitulo 3.1 Arquitectura de un SABD 44 DICCIONARIO DE DATOS Conjunto de tablas y vistas que son utilizadas como referencia de la Base de Datos Las tablas y vistas del D.D. se almacenan en el Tablespace del sistema (SYSTEM) El usuario SYS es el dueo del Diccionario de Datos NUNCA se debe manipular o alterar los datos del diccionario de datos Se crea con la base de datos Capitulo 3.1 Arquitectura de un SABD 45 DICCIONARIO DE DATOS Contiene: Definicin de todos los objetos de la BD Espacio definido y utilizado por cada objeto Valores por defecto para las columnas Informacin de los constraints de integridad Nombre de los usuarios Privilegios y roles Informacin de auditoria Informacin general etc. Capitulo 3.1 Arquitectura de un SABD 46 DICCIONARIO DE DATOS Principales usos: Oracle busca informacin sobre usuarios, objetos y estructuras de almacenamiento Los usuarios de la Base de Datos obtienen informacin sobre la Base de Datos Almacena la informacin de la actividad actual de la Base de Datos etc ACCESO A LOS DATOS Arquitectura de un SABD Capitulo 3.1 Arquitectura de un SABD 48 LENGUAJE SQL Cualquier operacin en la BD Las sentencias se clasifican en : Definicin de datos (DDL) CREATE, ALTER, DROP, RENAME, TRUNCATE, ANALYZE, GRANT, REVOKE, AUDIT, NOAUDIT, COMMENT Manipulacin de datos (DML) SELECT, INSERT, UPDATE, DELETE, EXPLAIN PLAN, LOCK TABLE Capitulo 3.1 Arquitectura de un SABD 49 LENGUAJE SQL Las sentencias se clasifican en : Control de transacciones COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION Control de sesin ALTER SESSION, SET ROLE Control de sistema ALTER SYSTEM SQL embebido OPEN, CLOSE, FETCH y EXECUTE Capitulo 3.1 Arquitectura de un SABD 50 MANEJO DE TRANSACCIONES Una transaccin es una unidad lgica de trabajo Estndar ANSI/ISO SQL Se inicia con la primera sentencia SQL Finaliza con un COMMIT o ROLLBACK (implcito o explcito) SAVEPOINT permite dividir una transaccin en pequeas partes Capitulo 3.1 Arquitectura de un SABD 51 ROLLBACK A NIVEL SENTENCIA Si falla una sentencia: Los efectos de esa sentencia sern revertidos Slo se revertirn los cambios hechos por esa sentencia No se afectarn los cambios realizados por otras sentencias de la transaccin Si se quiere revertir los cambios de una transaccin utilizar el comando ROLLBACK PROCESOS ENTRE UNA INSTANCIA Y UNA BASE DE DATOS Capitulo 3.1 Arquitectura de un SABD 53 FASE DE EJECUCIN DE UNA SENTENCIA Cliente Servidor INSTANCIA BASE DE DATOS Proceso USUARIO Proceso SERVIDOR Online Redo Log Control Password Parameter Datafiles Archived Redo Log SGA Shared Pool Procesos Background PMON SMON DBWR LGWR CKPT Database Buffer Redo Log Buffer Dictionary Cache Library Cache PGA Oracle NET 1 2 3 4 5