Sei sulla pagina 1di 53

ARQUITECTURA DE UN SABD

Sistemas Administradores de Bases de Datos


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

Potrebbero piacerti anche