Universidad de Guayaquil
Facultad de Ciencias Matemáticas y
Físicas
Carrera de Ingeniería en
Tecnologías de la Información
Administración de Base de Datos
“Introducción a la Administración de
Base de Datos”
Administración de Base de
Datos
Administración de Base de
Datos
Objetivos
• Afianzar los conceptos de Bases de Datos (BD) y
Sistemas Gestores de Bases de Datos (SGBD).
• Conocer la Arquitectura de un Sistema Gestor de
Base de Datos y su Arquitectura de Memoria.
• Conocer la estructura de procesos de un Sistema
Gestor de Base de Datos.
• Identificar las funciones y responsabilidades de un
Administrador de Base de Datos (ABD, DBA).
• Aplicar conocimientos de instalación avanzada de
una Base de Datos.
Administración de Base de
Datos
Conceptos
Base de Datos (BD)
• Es un conjunto de datos
relacionados y organizados
con ciertas estructuras.
• Existen modelos de BD de
acuerdo a su organización:
relacional, jerárquico o en
red.
• Para manipular las BD
surgieron los Sistemas
Gestores de Base de Datos
(SGBD).
Administración de Base de
Datos
Sistema Gestor de Base de Datos (SGBD)
• Es una aplicación que permite a los usuarios definir,
crear y mantener bases de datos, proporcionando
un acceso controlado a las mismas.
• Sirve de interfaz entre el usuario y la BD.
Administración de Base de
Datos
Arquitectura de Sistemas Gestor de Base de Datos
(SGBD)
• 3 características inherentes en las BDs:
o Separación de programas de aplicación y los datos.
o Manejo de múltiples vistas por parte de los usuarios.
o Catálogos para almacenar esquema de la BD.
• 1975, comité ANSI-SPARC
(American National Standards Institute, Standards Pl
anning And Requirements Committee), propuso
una arquitectura de 3 niveles.
•
Administración de Base de
Datos
Administración de Base de
Datos
Nivel Interno
• Estructura física de la BD.
• Especifica modelo físico y describe detalle para el
almacenamiento y los métodos de accesos.
Nivel Conceptual
• Describe la estructura de la BD para una comunidad de
usuarios.
• Oculta detalle de las estructuras de almacenamiento.
• Se concentra en describir entidades, atributos,
relaciones, operaciones de los usuarios y restricciones.
Administración de Base de
Datos
Nivel Externo
• Describe varios esquemas o vistas de usuario.
• Describe la parte de BD que le interesa a un grupo
de usuarios de la BD y oculta el resto de la BD.
Administración de Base de
Datos
• El modelo de tres niveles permite explicar la
independencia de datos, que es la capacidad
para modificar el esquema en un nivel sin modificar
el esquema del nivel inmediato superior.
• Independencia Lógica, capacidad de modificar el
esquema conceptual sin alterar los esquemas
externos ni los programas de aplicación. Ej.
Ampliación o reducción de BD.
• Independencia Física, capacidad de modificar el
esquema interno sin tener que alterar el esquema
conceptual. Ej. Reorganizar ficheros físicos.
Administración de Base de
Datos
Funciones del Sistema Gestor del Base de Datos
Función de descripción o definición, para crear los
metadatos de la base de datos.
• Utilizado para crear los esquemas lógicos, internos y
físicos.
• Utiliza el lenguaje DDL: CREATE, ALTER y DROP.
Administración de Base de
Datos
Función de
manipulación, permite
modificar y utilizar los
datos.
• Utiliza el lenguaje
DML:
o Modificación, permite añadir,
eliminar, modificar datos.
Instrucciones: INSERT, UPDATE,
DELETE.
o Consultar datos, Instrucción:
SELECT.
o Control de trasacciones,
Intrucciones: COMMIT y
ROLLBACK.
Administración de Base de
Datos
Función de Control, los administradores poseen los
mecanismos para proteger la visión de los datos de
cada usuario.
• Relacionada con la seguridad de la BD.
• Lenguaje DCL, las instrucciones: GRANT y REVOKE.
Administración de Base de
Datos
Componentes de un Sistema Gestor de Base de Datos
1. Almacenamiento en Disco
o Almacena los datos en sí.
o Diccionario de datos, que contiene información de los
datos:
• Es un tipo de tabla especial, que solo puede acceder
el Sistema de BD.
• Almacena restricciones de seguridad e integridad.
o Indices, usados para buscar rápidamente un registro.
o Datos Estadísticos.
Administración de Base de
Datos
Administración de Base de
Datos
2. Gestor de Almacenamiento
o Gestor de Memoria Intermedia, atiende solicitudes de
consulta de la información:
• Si ya está en esta memoria, se proporciona la información
al programa solicitante.
• Si no, se lee el disco, se escribe la memoria intermedia y se
proporciona la información al programa solicitante.
o Gestor de Transacciones, gestiona las transacciones que
acceden a los datos:
• Instrucciones que asegura el ACID.
o Gestor de Archivos, gestiona asignación de espacio de
almacenamiento en disco.
o Gestor de Autorizaciones e Integridad, comprueba que se
satisfagan las restricciones de integridad y la autorización de
los datos.
Administración de Base de
Datos
3. Procesador de Consultas
o Intérprete LDD (DDL), interpreta sentencias LDD (DDL) y
actualiza el diccionario de datos.
o Compilador LMD (DML) traduce las instrucciones LMD
(DML) a instrucciones de bajo nivel ejecutadas por motor
de evaluación de consultas.
o Motor de Evaluación, ejecuta a bajo nivel las instrucciones
LMD (DML).
Administración de Base de
Datos
4. Usuarios
o Interactuan con la base de datos por medio de interfaces.
• Usuarios normales, no requieren preparación especial,
utilizan la base a través de programas.
• Programadores de Aplicaciones, usan la BD y escriben
programas.
• Usuarios Sofisticados, utilizan la BD por medio de
programas de consultas.
• Usuarios Especializados, usuarios sofisticados que crean
aplicaciones para BD y que abarcan otros campos:
sistemas expertos.
Administración de Base de
Datos
Funciones del Administrador de BD (ABD, DBA)
Administración de Base de
Datos
✓ Configurar e instalar el hardware en el que se instalará el
servidor o servidores de bases de datos.
✓ Configurar e instalar el Sistema Operativo.
✓ Instalación y mantenimiento del SGBD.
✓ Crear y configurar las bases de datos.
✓ Control de los usuarios y los permisos.
✓ Gestión de la seguridad.
✓ Monitorizar y optimizar el rendimiento de la base de datos.
✓ Realizar tareas de copia de seguridad y recuperación.
Administración de Base de
Datos
Opciones de Funcionamiento de un SGBD
SGBD monocapa
• Sistemas Gestores instalados en una máquina
desde la cual se conectan los usuarios.
• Todo el Sistema en una sola máquina.
• Ventaja: seguridad. Desventaja: baja disponibilidad
e incomodidad.
Administración de Base de
Datos
SGBD de dos capas
• Funcionamiento tipo cliente/servidor.
• BD y SGBD en una máquina, usuarios acceden
desde otra máquina a través de la red.
• Usuarios para acceso requieren de un Cliente de
BD.
Administración de Base de
Datos
• Existen dos opciones:
o Arquitectura cliente/servidor único: un solo servidor
gestiona la BD.
o Arquitectura cliente/multiservidor: BD se distribuye entre
varios servidores. El software de control de
comunicaciones se encargará de dirigir al usuario al
servidor adecuado.
Administración de Base de
Datos
SGBD de tres o más capas
• Entre el cliente y el servidor hay al menos una capa
o varias capas intermedia.
• La capa o capas se encargan de recoger las
peticiones de los cliente y luego comunicarse con
el servidor.
• Uso en aplicaciones web.
Administración de Base de
Datos
Arquitectura de la Base de Datos Oracle
Administración de Base de
Datos
Comunicación con los Servidores
• Se proporciona un sistema de al menos dos capas.
• Cliente/Servidor y red de computadora.
• La comunicación se realiza por dos procesos:
o Proceso de usuario, se ejecuta de lado del cliente y
recoge las instrucciones del usuario.
o Proceso de servidor, se ejecuta en el servidor y procesa las
intrucciones enviadas.
• Hay un proceso servidor para cada usuario que conecte con
la base de datos.
• Oracle, proporciona un modo de trabajo llamado servidor
compartido, en el que un mismo proceso servidor atiende a
varios procesos de usuario. Ahorro de memoria, aunque no
sea tan eficiente como el modo dedicado.
Administración de Base de
Datos
Sesión y Conexión
• Conexión, comunicación del cliente y servidor, en
los extremos existen procesos de usuarios y de
servidor.
• Sesión, require autenticar al usuario y otorgar
recursos necesarios. Sesión termina cuando usuario
abandona la app, o se desconecta o cuando el
servidor termina la sesión por inactividad. Usuario
puede establecer varias sesiones.
Se puede indagar sobre las sesiones en la vista
v$session.
Administración de Base de
Datos
Descripción General de la Instancia Oracle
Administración de Base de
Datos
• Un Sistema de BD Oracle consiste de una BD Oracle y
una instancia Oracle (Real Application Cluster, RAC).
• Una BD consiste de un conjunto de archivos en disco y
metadatos.
• Metadatos (datos acerca de los datos) consiste en
información estructural, de configuración y de control
referente a la BD.
• Instancia Oracle, contiene un conjunto de procesos
background de la BD Oracle que operan en la data
almacenada y la memoria compartida utilizada por
estos procesos.
• Archivos de BD, almacenan de forma permanente la
información. Existen archivos: datos, control y redo logs.
Administración de Base de
Datos
• Cada instancia tiene un SID (System ID).
• Para una conexión local, se identifica la instancia
configurando las variables de ambiente
ORACLE_SID y ORACLE_HOME.
• Instancia Oracle debe ser inicializada para leer o
escribir.
Administración de Base de
Datos
Arquitectura de Base de Datos Oracle
Contiene 3 componentes básicos:
• Las estructuras de memoria para almacenar los
datos y el código ejecutable.
• Los procesos que corren el sistema de bases de
datos y las tareas de cada usuario conectado a la
base de datos.
• Los archivos que sirven para el almacenamiento
físico, en disco, de la información de la base de
datos.
Administración de Base de
Datos
Estructuras de Memoria
Existen dos clases de memoria: compartida por todos los
usuarios y otra dedicada al trabajo de cada usuario.
Los datos de la instancia poseen dos grandes estructuras
de almacenamiento:
➢ SGA (System Global Area), Es un grupo de estructura de
memoria compartida –componentes SGA-. Guarda
todos los datos globales e información de control de la
instancia. Comparten todos los procesos servidores.
Componentes son memoria de tipo caché. Las áreas
llevan nombre de “pool”.
Administración de Base de
Datos
• PGA (Program Global Area), es una región de
memoria que contiene datos e información de
control para un proceso servidor. Guarda datos
referentes a un proceso servidor concreto. Si hay 2
conexiones, habrá 2 procesos de servidor, por lo
tanto 2 PGAs.
• Procesos en background poseen su propia PGA.
Administración de Base de
Datos
Administración de Base de
Datos
Componentes de la SGA
El System Global Area (SGA) es área compartida:
Shared Pool Mantiene diccionario de datos y áreas
compartidas de las órdenes SQL que
solicitan para su procesamiento.
Database buffer cache Almacena bloques de datos
recientemente usados. Contiene datos
modificados no escritos a disco. Datos
recuperados de disco.
Redo log buffer Registra los cambios hechos a la base de
datos.
Administración de Base de
Datos
Large pool Utilizada para mejorar el rendimiento en
servidores compartidos o para procesos I/O.
Java pool Utilizada si se tiene procedimientos java.
Streams pool Utilizado para manejo de streams.
• Estas últimas son opcionales.
Administración de Base de
Datos
Pool Compartido (Shared Pool)
• Es la más compleja de las estructuras SGA.
• Está divida en docenas de subestructuras manejadas
internamente por el servidor Oracle.
• Su tamaño es dinámico y se puede manejar
automáticamente.
• Se puede dimensionar con el parámetro
SHARED_POOL_SIZE.
• Acelera la ejecución de las instrucciones SQL y PL/SQL.
• Se divide en:
o Caché de biblioteca,
o Caché de diccionario,
o Caché de resultados y
o Area PL/SQL.
Administración de Base de
Datos
• Caché de biblioteca (Library Caché): almacena
codigo ejecutable SQL y PL/SQL ejecutados
recientemente en su forma analizada (conversion
de sentencia en codigo ejecutable).
• Se revisa que la ejecución este disponible en esta
área:
o Area SQL compartida (Shared SQL Area). Contiene plan
de ejecución y árbol de análisis, esto ayuda cuando se
repiten las instrucciones.
o Area SQL privada, los datos privados de los usuarios de la
sesión se almacenan en PGA, en el modo compartido se
almacena en la SGA.
Administración de Base de
Datos
• Caché de Diccionario de Datos (Data Dictionary
Cache), almacena toda la información relativa a las
definiciones de objetos recientemente usados:
descripciones de tablas, columnas, índices, usuarios y
derechos, información de almacenamiento, así como
otros metadatos. Contiene información para acelerar
acceso a metadatos que utilizan las instrucciones.
• Caché de Resultados (Result Cache), almacena
fragmentos de consultas SQL y PL/SQL para usarlos en
consultas posteriores. Suele ocurrir que las mismas
consultas son ejecutadas muchas veces.
• Area PL/SQL, almacenan los objetos de PL/SQL, tal
como son los procedimientos, funciones, paquetes de
procedimientos y funciones, definición de tipos de
objetos, y triggers cuando un objeto PL/SQL es invocado
en una sesión.
Administración de Base de
Datos
Administración de Base de
Datos
Cache de Buffers de Datos (Database Buffer Cache)
• Es donde se ejecuta el SQL.
• Dividida en bloques y estructura que más ocupa en
la SGA.
• Oracle busca escribir lo menos posibles a disco.
• Inicialmente los cambios se guardan aquí.
• Los datos serían permanentes y aparecen en
consultas, además son mas rápidos.
• Se adjuntan con un algoritmo LRU(Last Recently
Used).
Administración de Base de
Datos
Cada buffer puede estar en uno de estos estados:
• Sin uso (Unused). Bloques no utilizados actualmente,
cualquier proceso puede almacenar datos en ellos.
• Limpios (Clean). Buffers que se han utilizado, cuyos
datos ya están grabados en disco. El
siguiente checkpoint no necesitaría grabar estos datos,
por lo que están disponibles si se requiere su reutilización.
• Sucios (Dirty). Contienen datos que no se han grabado
en disco. Se deben de grabar en el disco en cuanto
ocurra un checkpoint, de otro modo podríamos perder
información.
Administración de Base de
Datos
Con respecto al acceso, los buffers pueden tener estas dos
situaciones:
• Libres (Free o Unpinned). Ningún proceso lo está
utilizando.
• Pinned. Están siendo utilizados por un proceso, por lo
que otra sesión no puede acceder a este buffer.
Administración de Base de
Datos
La lectura de búferes sigue este proceso:
[1]Si se necesita un dato, se le busca en esta caché. Si se
encuentra se entrega, siempre y cuando no esté ocupado
por otro proceso (pinned).
[2]Si el dato requerido no se encuentra en el buffer, ocurre
un fallo de caché. Este fallo implica leer los datos del disco
y pasarlos a memoria (los búferes necesarios se marcarán
como búferes limpios).
[3]En ambos casos, si la instrucción implica modificar los
datos de, se modifica y pasa a ser un buffer sucio. ese
buffer
[4]Cuando ocurre un checkpoint, el proceso DBWR, graba
buffers sucios a disco (lo mismo si se detecta que quedan
pocos buffers limpios o sin uso) y se marcan como buffers
limpios.
Administración de Base de
Datos
Los buffers se agrupan en piscinas de
almacenamiento (Pools) :
• Pool por defecto. Es el de uso normal. Normalmente
es el único.
• Pool KEEP. Utilizado para bloques de uso muy
frecuente, pero que dentro del fondo por defecto
podrían ser reutilizados continuamente.
• Pool RECYCLE. Se utiliza para bloques de uso muy
poco frecuente.
• Pools nK. La base de datos tiene un tamaño de
bloque por defecto, se podría variar ese tamaño.
Por ello podríamos tener otros cachés orientados a
estos elementos de tamaño especial.
Administración de Base de
Datos
Administración de Base de
Datos
Buffer Redo Log
• Buffer circular, se utilizan los bloques y cuando se
han usado todos, se vuelven a reutilizar los primeros.
• Almacena la información de los últimos cambios
(DML y DDL).
• Son necesarios para recuperar los datos que no
han podido ser grabados a disco.
Administración de Base de
Datos
Pool Grande (Large Pool)
• Opcional, proporciona espacio para datos para realizar
operaciones de gran cantidad de datos:
• Backup y restauración, para copias de seguridad.
• Procesos de Entrada/Salida del servidor.
• Memoria libre. Para aliviar el trabajo de la instancia.
• Consultas en paralelo.
• Almacenamiento de la UGA. Normalmente se almacena en
la PGA, pero en modo de servidor compartido se podría
almacenar en esta área.
• Cola de peticiones. Usado cuando el servidor recibe
numerosas peticiones. No se almacenan bloques de datos en
este caso.
• Cola de respuestas. Tampoco utiliza bloques, sino estructuras
más apropiadas para las colas.
Administración de Base de
Datos
POOL JAVA
• Usado para programas que usan java.
POOL DE STREAMS
• Usado para base de datos distribuidas y sirve para
almacenar búferes.
Administración de Base de
Datos
Componentes de la PGA
• Para cada sesión de usuario se crea también un
área específica en memoria llamada Program
Global Area (PGA), la cual no se comparte con las
otras sesiones de usuario.
• Contiene datos necesarios e independientes para
cada proceso servidor.
• Se divide en:
✓ Espacio de Pila, y
✓ UGA (User Global Area)
Administración de Base de
Datos
Espacio de Pila
• Se guarda fuera de la SGA.
Area Global de Usuario (User Global Area)
• En modo de servidor compartido puede estar en la
SGA.
• Contiene los siguientes elementos:
✓ Area de trabajo SQL.
✓ Memoria de Sesión.
✓ Area privada SQL.
Administración de Base de
Datos
Administración de Base de
Datos
Procesos de la Memoria de
Oracle
• Son programas que se ejecutan
para permitir el acceso a los
datos.
• Los procesos se cargan en
memoria y son transparentes
para los usuarios.
• Los procesos se tipifican en:
✓ Proceso de usuario,
✓ Proceso de bases de datos:
• Proceso servidor
• Procesos en segundo plano
✓ Procesos de la aplicación.
Denominados demonios
(daemons), residentes y se
ejecutan de manera
automática. Ej. Listener de red.
Administración de Base de
Datos
Tarea de Procesos Servidores
• Atienden a los usuarios:
o Analiza Código SQL y PLSQL del usuario.
o Establece plan de ejecución de consultas.
o Lee datos requeridos en memoria o en disco.
o Devuelve resultados al usuario, o error.
Administración de Base de
Datos
Procesos en Segundo Plano (background)
• Ejecutan cuando instancia se inicializa.
• Quedan residentes en memoria.
• Vista v$dbprocess contiene información de
procesos en memoria.
Administración de Base de
Datos
Los procesos background son los encargados de traer
datos desde y hacia el SGA.
Mejora el desempeño al consolidar las tareas de los
usuarios:
• Escritor de la BD (DBWR – Database Writer), escribe
los bloques modificados por los usuarios en los
archivos que componen la BD cuando LGWR le
envía el mesaje de hacerlo. Proceso obligatorio.
• Escritor de registro (LGWR – Log Writer), escribe
datos desde la SGA a los archivos redo log que
sirven en caso de fallas en la instancia. Proceso
obligatorio.
Administración de Base de
Datos
• Punto de control (CKPT - Check point): El punto de
comprobación es un proceso opcional. Ocurre
cuando los usuarios conectados a la BD hacen
solicitudes de exámenes de datos.
• Supervisor del sistema (SMON – System Monitor):
Recupera el sistema ante una falla de la instancia.
• Supervisor del proceso (PMON – Process Monitor):
Limpia el database buffer cache y libera recursos
después de un proceso fallido.
Administración de Base de
Datos
• Archivador (ARCH - Archive): Copia los registros de
rehacer de la RAM en archivos de datos que
permiten la recuperación cuando se presentan
fallas de los medios magnéticos.
• Recuperador (RECO - Recovery): Recupera ante las
fallas, en una transacción en ambientes
distribuidos.
• Bloqueo (LCKn - Lock): Efectúa los bloqueos entre
instancias en caso de ambientes con servidores
paralelos. Proceso opcional.
Administración de Base de
Datos
Referencias
• [Link]
• [Link]
• [Link]
de-bases-de-datos/
• [Link]
[Link]
• [Link]
de-datos-oracle
• [Link]
database/19/ntdbi/oracle-database-preinstallation-
[Link]#GUID-5E67C88F-01AA-4B72-AB41-6C7EF9DDF9CF
• [Link]
[Link]
• [Link]
database/19/admqs/