Sei sulla pagina 1di 51

ADMINISTRACIÓN

DE BASE DE DATOS

Docente: Ing. Sergio Rojas


Email: exploaj@gmail.com
@s3rgi0_
Administración de Base de Datos

Agenda
1. Conceptos básicos
2. Tareas de un DBA
3. Arquitectura de Oracle Database
1. Conceptos básicos Administración de Base de Datos

¿Qué es una base de datos?


1. Conceptos básicos Administración de Base de Datos

Una base de datos es una


recopilación de datos que se trata
como una unidad.

El objetivo de una base de datos


es almacenar y recuperar la
información relacionada.
1. Conceptos básicos Administración de Base de Datos

¿Qué es una base de


datos relacional?
1. Conceptos básicos Administración de Base de Datos

Una base de datos relacional es una colección de tablas y sus relaciones.


1. Conceptos básicos Administración de Base de Datos

Términos más usados


1. Conceptos básicos Administración de Base de Datos

¿Qué es SQL y que se


puede hacer con él?
1. Conceptos básicos Administración de Base de Datos

Es un conjunto de sentencias que usamos para acceder a los datos de


nuestra BD.

¿Que podemos hacer con SQL?

• Hacer preguntas a la BD.


• Insertar, actualizar y borrar.
• Crear, reemplazar, alterar o borrar objetos.
• Controlar el acceso a los objetos.
• Etc.
1. Conceptos básicos Administración de Base de Datos

Clasificación de consultas SQL


2. Tareas de un DBA Administración de Base de Datos

Tareas de un DBA
2. Tareas de un DBA Administración de Base de Datos

Tareas de un DBA

✓ Instalar y actualizar el software de Oracle


✓ Crear Bases de Datos
✓ Levantar y bajar instancias
✓ Gestionar las estructuras de almacenamiento de la base de datos
✓ Gestionar usuarios y seguridad
✓ Gestionar esquemas
✓ Hacer backup y recuperaciones si fuera necesario
✓ Monitorizar y mejorar el rendimiento
✓ Diagnosticar y reportar errores al soporte de Oracle
3. Arquitectura de Oracle Database Administración de Base de Datos

Arquitectura de Oracle Database


3. Arquitectura de Oracle Database Administración de Base de Datos

Elementos de la comunicación con un Servidor Oracle


3. Arquitectura de Oracle Database Administración de Base de Datos

Un usuario de base de datos puede conectarse a un servidor de Oracle de una de


las siguientes tres formas:

1 3
3. Arquitectura de Oracle Database Administración de Base de Datos

Arquitectura del servidor de Oracle Database


Visión General

Estructuras de
memoria

Estructuras de
proceso

Estructuras de
almacenamiento.
3. Arquitectura de Oracle Database Administración de Base de Datos

Arquitectura del servidor de Oracle Database


Visión General

Un servidor Oracle Database es el conjunto formado


por estos dos elementos:

La instancia de Oracle. Formada por el conjunto de


procesos y las estructuras de datos en memoria que
requiere el servidor cuando está en funcionamiento.

Archivos de la base de datos. Los archivos en disco


que almacenan de forma permanente la información
de la base de datos. La base de datos en sí, la forman
los archivos de datos, los de control y los Redo Log.
3. Arquitectura de Oracle Database Administración de Base de Datos

Instancia: Configuraciones de Bases de Datos

Cada instancia de la Una base de datos “Real


base de datos está Applications Cluster”
asociada a una (RAC) suele tener varias
única base de instancias en servidores
datos. independientes para la
misma base de datos
compartida.
3. Arquitectura de Oracle Database Administración de Base de Datos

Estructuras de memoria
de Oracle Database

Área Global del Programa (PGA)


Región de memoria que contiene
datos e información de control
para un proceso de servidor o de
segundo plano. Memoria no
compartida.

Área Global del Sistema (SGA)


Región de memoria que contiene
datos e información de control
para una instancia de Oracle
Database. Se comparte entre
todos los procesos de seridor.
3. Arquitectura de Oracle Database Administración de Base de Datos

Componentes del SGA: Pool Compartido


3. Arquitectura de Oracle Database Administración de Base de Datos

Componentes del SGA: Caché de Buffers de la Base de Datos


3. Arquitectura de Oracle Database Administración de Base de Datos

Componentes del SGA: Buffers de Redo Log


3. Arquitectura de Oracle Database Administración de Base de Datos

Componentes del SGA: Pool grande


3. Arquitectura de Oracle Database Administración de Base de Datos

Componentes del SGA: Pool Java y Pool de Streams


3. Arquitectura de Oracle Database Administración de Base de Datos

Componentes del PGA


3. Arquitectura de Oracle Database Administración de Base de Datos

Arquitectura de proceso
3. Arquitectura de Oracle Database Administración de Base de Datos

El código de los usuarios conectados se puede configurar como:

Servidor Servidor
dedicado compartido
3. Arquitectura de Oracle Database Administración de Base de Datos

Servidor dedicado

Por cada proceso servidor


atiende a un único proceso de
usuario. Dicho de otro modo,
hay tantos procesos servidores
como procesos de usuario
3. Arquitectura de Oracle Database Administración de Base de Datos

Servidor compartido

En este caso cada proceso


servidor atiende a varios
procesos de usuario. Uno, o
más, procesos, llamados
dispatchers (repartidores), se
encargan de asignar a cada
proceso de usuario el proceso
servidor adecuado.

En este modo se ahorra


memoria, ya que la memoria
de usuarios se almacena en la
zona global compartida
(llamada SGA)
3. Arquitectura de Oracle Database Administración de Base de Datos

Estructuras de proceso
3. Arquitectura de Oracle Database Administración de Base de Datos

Procesos en segundo plano comunes

• Proceso de escritor de la base de datos (DBWn)


• Proceso de escritor de log (LGWR)
• Proceso de punto de control (CKPT)
• Proceso de supervisión del sistema (SMON)
• Proceso de supervisión de proceso (PMON)
• Proceso de recuperador (RECO)
• Proceso de coordinador de cola de trabajos (CJQ0)
• Proceso esclavos de trabajo (ARCn)
• Proceso de supervisión de cola (QMNn)
3. Arquitectura de Oracle Database Administración de Base de Datos

Procesos de Escritor de la Base de Datos (DBWn)

Es el responsable de la escritura en disco de toda la información almacenada en


los buffers de bloques que no se han actualizado.
3. Arquitectura de Oracle Database Administración de Base de Datos

Procesos de Escritor de log (LGWR)


3. Arquitectura de Oracle Database Administración de Base de Datos

Procesos de Punto de Control (CKPT)

Es el responsable de advertir al proceso DBWR de efectuar un proceso de


actualización en el disco de los datos mantenidos en memoria, incluyendo los
datafiles y control files (para registrar el checkpoint). Este proceso es opcional, si no
está presente, es el proceso LGWR quien asume la responsabilidad de la tarea
3. Arquitectura de Oracle Database Administración de Base de Datos

Procesos Supervisión del Sistema (SMON)

Levanta una instancia cuando se le da la


instrucción de partida (al comienzo del trabajo,
encontrándose previamente en shutdown).

Enseguida limpia los segmentos temporales y


recupera las transacciones que pudieran haberse
interrumpido debido a una falla del sistema.

Además disminuye la fragmentación del sistema


agrupando aquellas extensiones libres que existen
dentro de la base de datos
3. Arquitectura de Oracle Database Administración de Base de Datos

Procesos Supervisión de Procesos (PMON)


3. Arquitectura de Oracle Database Administración de Base de Datos

Procesos de Recuperación (RECO)

Se usa solo en bases de datos distribuidas. Resuelve los fallos ocurridos en


transacciones distribuidas. Cuando detecta fallos en una transacción que tiene
diferentes datos en los distintos servidores, se encarga de resolver la situación.
3. Arquitectura de Oracle Database Administración de Base de Datos

Procesos de Archivador (ARCn)


3. Arquitectura de Oracle Database Administración de Base de Datos

Arquitectura de Almacenamiento de Base de Datos


3. Arquitectura de Oracle Database Administración de Base de Datos

Arquitectura de Almacenamiento de Base de Datos

Archivos de control. Contienen datos sobre la propia base de datos (es decir, información sobre la estructura de
la base de datos física). Estos archivos son críticos para la base de datos. En ellos, no se pueden abrir los archivos
de datos para acceder a los datos que tiene la base de datos. También contienen metadatos relacionados con
las copias de seguridad.
Archivos de datos: contienen los datos de usuarios o aplicaciones de la base de datos, así como metadatos y
diccionario de datos.
Archivos redo log en líneas: permite la recuperación de instancias de la base de datos. Si el servidor de base de
datos falla y no pierde archivos de datos, la instancia puede recuperar la base de datos con la información de
dichos archivos
Archivos de parámetros: se utiliza para definir el modo de configurar la instancia cuando se inicie.
3. Arquitectura de Oracle Database Administración de Base de Datos

Arquitectura de Almacenamiento de Base de Datos

Archivos de contraseñas: permite a los usuarios utilizar roles sysdba, sysoper y sysasm para la conexión remota
a la instancia y la realización de tareas administrativas.
Archivos de copias de seguridad: se utilizan para la recuperación de al base de datos. Normalmente restaura un
archivo de copia de seguridad cuando un fallo del medio físico o un error del usuario ha dañado o suprimido el
archivo original.
Archivos redo log archivados: contienen un historial en curso de los cambios de datos (redo) generados por la
instancia. Mediante estos archivos y una copia de seguridad de la base de datos, se puede recuperar un archivo
de datos perdido. Es decir, el archivo logs permite la recuperación de archivos de datos restaurados.
Archivos de rastreo: cada proceso de servidor y un segundo plano puede escribir en un archivo de rastreo
asociado. Cuando un proceso detecta un error interno, vuelca información sobre el error en su archivo de
rastreo.
Archivo log de alertas: se trata de entradas de rastreo especiales. El log de alertas de una base de datos es un
log cronológico de mensajes y errores.
3. Arquitectura de Oracle Database Administración de Base de Datos

Estructuras de Base de Datos Físicas y Lógicas


3. Arquitectura de Oracle Database Administración de Base de Datos

Estructuras de Base de Datos Físicas y Lógicas


TABLESPACES
Una base de datos se divide en unidades lógicas denominadas TABLESPACES. Un tablespace no es un archivo físico
en el disco, simplemente es el nombre que tiene un conjunto de propiedades de almacenamiento que se aplican a
los objetos (tablas, secuencias…) que se van a crear en la base de datos bajo el tablespace indicado (tablas,
secuencias…).
3. Arquitectura de Oracle Database Administración de Base de Datos

TABLESPACES
Por defecto Oracle proporciona los siguientes espacios de tabla:
•USERS. Almacén por defecto en el que los diferentes usuarios de la base de datos almacenan sus objetos.
•SYSTEM. Para los objetos del sistema como el diccionario de datos
•SYSAUX. Para componentes adicionales de la base de datos como por ejemplo el repositorio del Enterprise
Manager.
3. Arquitectura de Oracle Database Administración de Base de Datos

SEGMENTO

En cada tablespace existen segmentos, un segmento es aquel espacio reservado por la base de datos, dentro de
un datafile que están relacionados directamente con un objeto de la base de datos (una tabla, un índice,…). Hay
tres tipos de segmentos:

• Segmentos de usuario. Almacenan los objetos de base de datoscreados por los usuarios. Por ejemplo:

• Segmentos de datos. Almacenan los datos de las tablas (incluidas las particionadas y las tablas en cluster,
que son tipos de tablas avanzadas).
• Segmentos de índice. Almacenan los datos necesarios para la creación de índices.
• Segmentos de tipo LOB. Para almacenar los datos de tipos grandes de Oracle: CLOB y BLOB.

• Segmentos de anulación (undo). Almacena la información necesaria para revertir cambios realizados en los
datos. El uso típico es la ejecución de la instrucción ROLLBACK (aunque hay muchos más).

• Segmentos temporales. Almacenan datos intermedios que Oracle necesita para completar consultas o
instrucciones complejas que relacionan gran cantidad de datos (CREATE INDEX, SELECT DISTINCT, uniones,
intersecciones, GROUP BY, etc.). Estos segmentos les crea y elimina Oracle automáticamente.
3. Arquitectura de Oracle Database Administración de Base de Datos

EJEMPLO DE SEGMENTO

CREATE TABLE obras(titulo VARCHAR2(30));

¿Cuántos segmentos se creara?


3. Arquitectura de Oracle Database Administración de Base de Datos

EJEMPLO DE SEGMENTO

CREATE TABLE obras(


id_obra NUMBER PRIMARY KEY,
titulo VARCHAR2(30) UNIQUE,
texto CLOB
);

¿Cuántos segmentos se creará?


3. Arquitectura de Oracle Database Administración de Base de Datos

EXTENCIONES

Para cualquier objeto de base de datos que tenga cierta ocupación en disco, es decir, cualquier objeto que tenga
un segmento relacionado, existe el concepto de extent. Extent es un espacio de disco que se reserva de una sola
vez, un segmento que se reserva en un momento determinado de tiempo.

En el esquema vemos como el objeto (tabla) FACTURA tiene un segmento en el datafile A-1, y este segmento está
compuesto de 3 extensiones. Una de estas extensiones tiene un color distinto. Esto es porque existen dos tipos de
extensiones:
• INITIAL (extensiones iniciales): estas son las extensiones que se reservan durante la creación del objeto. Una vez
que un objeto está creado, no se puede modificar su extensión inicial.

• NEXT (siguientes o subsiguientes extensiones): toda extensión reservada después de la creación del objeto. Si el
INITIAL EXTENT de una tabla está llena y se está intentando insertar más filas, se intentará crear un NEXT EXTENT
(siempre y cuando el datafile tenga espacio libre y tengamos cuota de ocupación suficiente).
3. Arquitectura de Oracle Database Administración de Base de Datos

Estructuras de Base de Datos Físicas y Lógicas


BLOQUES DE DATOS
Un data block es el último eslabón dentro de la cadena de almacenamiento. El concepto de Data block es un
concepto físico, ya que representa la mínima unidad de almacenamiento que es capaz de manejar Oracle. Igual
que la mínima unidad de almacenamiento de un disco duro es la unidad de asignación, la mínima unidad de
almacenamiento de Oracle es el data block.
3. Arquitectura de Oracle Database Administración de Base de Datos

Segmentos, Extensiones y bloques


3. Arquitectura de Oracle Database Administración de Base de Datos

Gracias

Potrebbero piacerti anche