Está en la página 1de 38

Exploración de la Arquitectura de Oracle

Database

Copyright © 2009, Oracle. Todos los derechos reservados.


Objetivos

Al finalizar esta lección, debería estar capacitado para:


• Enumerar los principales componentes de la arquitectura
de Oracle Database
• Explicar las estructuras de memoria
• Describir los procesos en segundo plano
• Correlacionar las estructuras de almacenamiento lógico y
físico
• Describir los componentes de almacenamiento de ASM

Copyright © 2009, Oracle. Todos los derechos reservados.


Oracle Database

El sistema de gestión de bases de datos relacionales (RDBMS)


de Oracle proporciona un enfoque abierto, completo e
integrado a la gestión de información

Copyright © 2009, Oracle. Todos los derechos reservados.


Conexión a un Servidor

Cliente Nivel medio Servidor

Arquitectura de varios niveles

Copyright © 2009, Oracle. Todos los derechos reservados.


Arquitectura del Servidor de Oracle Database:
Visión General
Instancia
PGA
Proceso de
servidor Estructuras de Memoria
(Área Global del Sistema)

Servidor
Estructuras de Proceso

Proceso de
usuario

Base de Datos
Cliente (Estructuras de Almacenamiento)

Copyright © 2009, Oracle. Todos los derechos reservados.


Instancia: Configuraciones de Base de Datos

Sistema sin clusters Sistema con clusters

I1
I1 I2 I3
I2

D1

D2

Almacenamiento local D

Almacenamiento
compartido

Copyright © 2009, Oracle. Todos los derechos reservados.


Conexión a la Instancia de Base de Datos

• Conexión: comunicación entre un proceso de usuario y


una instancia
• Sesión: conexión concreta de un usuario a una instancia
mediante un proceso de usuario

Proceso Proceso
SQL> Select … de usuario de servidor
Usuario
Sesión

Conexión

Sesión

Copyright © 2009, Oracle. Todos los derechos reservados.


Estructuras de Memoria de Oracle Database

Área Global de Programa (PGA) PGA


Espacio Área Espacio Área
de Pila Global de Pila Global
de Usuario de Usuario
Proceso de Proceso de
servidor 1 servidor 2

Pool de buffers
Caché de KEEP
Buffer de
Pool buffers de la
redo log
compartido base de datos Pool de buffers
RECYCLE

Pool de Caché de
Pool grande Pool Java
Streams buffers nK

Área Global del Sistema (SGA)

Copyright © 2009, Oracle. Todos los derechos reservados.


Pool Compartido

• Es una parte de SGA


• Contiene:
– Caché de biblioteca
Área SQL Caché de
— Área SQL compartida compartida diccionario de
datos
– Caché de diccionario de
datos Área fija

– Estructuras de control
Caché de Otros
biblioteca Pool de buffers
Caché de KEEP
Buffer de
Pool buffers de la
compartido redo log
base de datos Pool de buffers
RECYCLE

Pool de Caché de
Pool grande Pool Java
Streams buffers nK

Área Global del Sistema (SGA)

Copyright © 2009, Oracle. Todos los derechos reservados.


Caché de Buffers de la Base de Datos

• Es parte de SGA
• Contiene copias de los bloques de datos que se leen de
los archivos de datos
• La comparten todos los usuarios simultáneos

Pool de buffers
Caché de KEEP
Buffer de
Pool buffers de la
redo log
compartido base de datos
Pool de buffers
RECYCLE

Pool de Caché de
Pool grande Pool Java
Streams buffers nK

Área Global del Sistema (SGA)

Copyright © 2009, Oracle. Todos los derechos reservados.


Buffer de Redo Log

• Es un buffer circular de SGA


• Contiene información sobre los cambios realizados en la
base de datos
• Contiene entradas de redo con información de los cambios
de redo realizados por operaciones como DML y DDL

Pool de buffers
Caché de KEEP
Buffer de
Pool buffers de la redo log
compartido base de datos Pool de buffers
RECYCLE

Pool de
Pool grande Pool Java Caché de
Streams
buffers nK

Área Global del Sistema (SGA)

Copyright © 2009, Oracle. Todos los derechos reservados.


Pool Grande

Proporciona grandes asignaciones de memoria para:


• Memoria de sesión del servidor compartido y la interfaz
Oracle XA
• Procesos de E/S del servidor
• Operaciones de copia de seguridad y restauración de
Oracle Database

Pool de
Caché de buffers
Buffer de
Pool buffers de la KEEP
redo log Buffer Consulta
compartido base de datos Memoria
Pool de
de E/S libre paralela
buffers
Cola de
RECYCLE Cola de Advanced
Pool de respuestas
Caché desolicitudes Queuing
Pool grande Pool Java
Streams buffers nK
Pool grande
Área Global del Sistema (SGA)

Copyright © 2009, Oracle. Todos los derechos reservados.


Pool Java
y Pool de Streams
• La memoria del pool Java se utiliza para almacenar todo el
código Java específico de la sesión y los datos en JVM.
• La memoria del pool de Streams se utiliza en exclusiva en
Oracle Streams para:
– Almacenar mensajes de cola en buffer
– Proporcionar memoria para los procesos de Oracle Streams

Pool de buffers
Caché de KEEP
Buffer de
Pool buffers de la
redo log
compartido base de datos
Pool de buffers
RECYCLE

Pool de
Pool grande Pool Java Caché de
Streams
buffers nK

Pool Java Pool de


Área Global del Sistema (SGA) Streams

Copyright © 2009, Oracle. Todos los derechos reservados.


Área Global de Programa (PGA)

PGA Estado Área de Área hash


ordenación
de cursor
Espacio Área
Datos de Área de creación de bitmaps
de Pila Global sesión de
de Usuario usuario Área de fusión de bitmaps
Proceso de
servidor 1
Áreas de Trabajo
de SQL

Pool de
Caché de
Buffer de buffers KEEP
Pool buffers de la
redo log
compartido base de datos Pool de buffers
RECYCLE
Pool de Caché de
Pool grande Pool Java
Streams buffers nK

Área Global del Sistema (SGA)

Copyright © 2009, Oracle. Todos los derechos reservados.


Prueba

La región de memoria que contiene datos e información de


control para un proceso de servidor o de segundo plano se
llama:
1. Pool compartido
2. PGA
3. Caché de buffers
4. Datos de sesión de usuario

Copyright © 2009, Oracle. Todos los derechos reservados.


Prueba

¿Qué se lee en la caché de buffers de la base de datos desde


los archivos de datos?
1. Filas
2. Cambios
3. Bloques
4. SQL

Copyright © 2009, Oracle. Todos los derechos reservados.


Arquitectura de Proceso

• Proceso de usuario
– Es la aplicación o herramienta que se conecta a la base de
datos Oracle
• Procesos de base de datos
– Proceso de servidor: conecta a la instancia de Oracle y se
inicia cuando un usuario establece una sesión
– Procesos en segundo plano: se inician al iniciar una
instancia de Oracle
• Procesos de aplicación/daemons
– Listeners de red
– Daemons de infraestructura de grid

Copyright © 2009, Oracle. Todos los derechos reservados.


Estructuras de Proceso

Instancias (ASM y Database por separado)

Área Global del Sistema (SGA)


PGA
Proceso Procesos en segundo plano
de servidor
Necesarios: DBWn CKPT LGWR SMON PMON RECO
Opcionales: ARCn ASMB RBAL Otros
Listener

Procesos de Infraestructura de Grid


(ASM y Oracle Restart)
Proceso de ohas ocssd diskmon
usuario

orarootagent oraagent cssdagent

Copyright © 2009, Oracle. Todos los derechos reservados.


Proceso de Escritor de la Base de Datos (DBWn)

Escribe los buffers modificados (sucios) de la caché de buffers


de base de datos en el disco:
• De forma asíncrona mientras realiza otro procesamiento
• Para avanzar el punto de control

DBWn

Caché de buffers de Proceso de escritor Archivos de datos


la base de datos de la base de datos

Copyright © 2009, Oracle. Todos los derechos reservados.


Proceso de Escritor de Log (LGWR)

• Escribe el buffer de redo log en un archivo redo log en el disco


• Escribe:
– Cuando un proceso de usuario confirma una transacción
– Cuando el buffer de redo log está lleno en un tercio
– Antes de que un proceso DBWn escriba buffers modificados
en el disco
– Cada 3 segundos

LGWR

Buffer de redo log Proceso de escritor Archivos redo log


de log

Copyright © 2009, Oracle. Todos los derechos reservados.


Proceso de Punto de Control (CKPT)

• Registra información de punto de control en


– Archivo de control
– Cada cabecera de archivo de datos

CKPT Archivo de
control

Proceso de
punto de
control

Archivos de
datos

Copyright © 2009, Oracle. Todos los derechos reservados.


Proceso de Supervisión del Sistema (SMON)

• Realiza la recuperación al iniciar la instancia


• Limpia los segmentos temporales no utilizados

Instancia
SMON

Proceso de
supervisión del
sistema

Segmento
temporal

Copyright © 2009, Oracle. Todos los derechos reservados.


Proceso de Supervisión de Proceso (PMON)

• Realiza la recuperación de procesos cuando falla un


proceso de usuario
– Limpia la caché de buffers de la base de datos
– Libera recursos utilizados por el proceso de usuario
• Supervisa el timeout de sesión inactiva
• Registra de forma dinámica los servicios de base de datos
con listeners
Proceso
de servidor

PMON
Usuario
Proceso de
tnslsnr Caché de buffers
Proceso de usuario
supervisión de de la base de datos
fallido
proceso

Copyright © 2009, Oracle. Todos los derechos reservados.


Proceso de Recuperación

• Se utiliza en la configuración de base de datos distribuida


• Se conecta automáticamente a otras bases de datos
relacionadas con transacciones distribuidas dudosas
• Resuelve automáticamente todas las transacciones dudosas
• Elimina las filas que se correspondan con transacciones
dudosas

RECO

Proceso de Transacción dudosa


recuperación en base de datos B
en base de datos A

Copyright © 2009, Oracle. Todos los derechos reservados.


Procesos de Archivador (ARCn)

• Copian los archivos redo log en el dispositivo de


almacenamiento designado después de que se produzca
un cambio de log
• Pueden recopilar datos de redo de transacción y
transmitirlos a los destinos en espera

ARCn

Proceso de archivador Copias de archivos Destino de archivo


redo log

Copyright © 2009, Oracle. Todos los derechos reservados.


Secuencia de Inicio de Procesos

• La infraestructura de grid de Oracle se inicia mediante el


daemon init del sistema operativo.
Daemon init de Script de encapsulador Daemons y procesos
sistema operativo de infraestructura de grid de infraestructura de grid

init ohasd.bin
init.ohasd
oraagent.bin Instancia de ASM
(root)
orarootagent.bin Listener
Instancia de DB
diskmon.bin
Aplicaciones
cssdagent definidas por el
ocssd.bin usuario

• La instalación de la infraestructura de grid de Oracle modifica el


archivo /etc/inittab para garantizar el inicio cada vez que
se inicie la máquina en el nivel de ejecución correcto.
# cat /etc/inittab
..
h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null

Copyright © 2009, Oracle. Todos los derechos reservados.


Arquitectura de Almacenamiento de Base de Datos

Archivos de Archivos de datos Archivos redo log en línea


control

Archivo de Archivos de Archivos redo log


parámetros copia de archivados
seguridad

Archivo de contraseñas Archivos log de alertas y de rastreo

Copyright © 2009, Oracle. Todos los derechos reservados.


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

Lógicas Físicas

Base de datos

Tablespace Archivo de datos

Segmento
Sistema de almacenamiento
• SAN • NFS
Extensión
• NAS • ASM
• Exadata • RAW
Bloque de datos
de Oracle • File System

Copyright © 2009, Oracle. Todos los derechos reservados.


Segmentos, Extensiones y Bloques

• Los segmentos existen en un tablespace.


• Los segmentos son recopilaciones de extensiones.
• Las extensiones son conjuntos de bloques de datos.
• Los bloques de datos están asignados a bloques de disco.

Segmento Extensiones Bloques Bloques de disco


de datos (almacenamiento de
File System)

Copyright © 2009, Oracle. Todos los derechos reservados.


Tablespaces y Archivos de Datos
Tablespace 1 Tablespace 2
(archivo grande)

Archivo de datos 1 Archivo de datos 2 Archivo de datos 3

8 KB 8 KB 8 KB 8 KB 8 KB
Sólo se permite
8 KB 8 KB 8 KB 8 KB 8 KB
1 archivo de datos
8 KB 8 KB 8 KB 8 KB 8 KB
<= 128 TB
8 KB 8 KB 8 KB 8 KB 8 KB

Extensión Extensión
64 KB 96 KB

Segmento
160 KB

Copyright © 2009, Oracle. Todos los derechos reservados.


Tablespaces SYSTEM y SYSAUX

• Los tablespaces SYSTEM y SYSAUX son obligatorios y se


crean junto con la base de datos. Deben estar en línea.
• El tablespace SYSTEM se utiliza para la funcionalidad
principal (por ejemplo, las tablas del diccionario de datos).
• El tablespace SYSAUX auxiliar se utiliza para los
componentes adicionales de base de datos (como el
repositorio de Enterprise Manager).
• No se recomienda el uso de los tablespaces SYSTEM y
SYSAUX para almacenar los datos de la aplicación.

Copyright © 2009, Oracle. Todos los derechos reservados.


Gestión Automática de Almacenamiento

• Es un sistema de archivos de cluster


portable y de alto rendimiento
• Gestiona archivos de la base de Aplicación
Oracle
Database
datos Oracle
• Gestiona archivos de aplicación
con ASM Cluster File System
ASM Cluster
(ACFS) File System Archivos
de ASM
• Distribuye los datos entre los para
Gestor de Oracle
discos para equilibrar la carga Volúmenes Database
Dinámicos
• Duplica los datos en caso de de ASM
fallo Gestión Automática de
Almacenamiento
• Resuelve retos de gestión de Sistema Operativo
almacenamiento

Copyright © 2009, Oracle. Todos los derechos reservados.


Componentes de Almacenamiento de ASM

ASM
Archivo Grupo de
de datos Archivo
discos
de Oracle de ASM
de ASM
Database

Extensión
de ASM

Sistema
de archivos Unidad de
o asignación Disco de ASM
Dispositivo de ASM
raw

Copyright © 2009, Oracle. Todos los derechos reservados.


Interacción con Oracle Database:
Memoria, Procesos y Almacenamiento
Instancia

Buffer
Caché de
Buffer de KEEP
Pool buffers de la
PGA redo log
compartido base de datos Buffer
Proceso de RECYCLE
servidor
Pool Pool Pool de Caché de
grande Java Streams buffers nK
Listener
DBWn CKPT LGWR SMON PMON RECO ARCn Otros

Proceso de
usuario

Usuario

Copyright © 2009, Oracle. Todos los derechos reservados.


Prueba

El proceso de supervisión de proceso (PMON):


1. Realiza la recuperación al iniciar la instancia
2. Realiza la recuperación de procesos cuando falla un
proceso de usuario
3. Resuelve automáticamente todas las transacciones
dudosas
4. Escribe el buffer de redo log en un archivo redo log

Copyright © 2009, Oracle. Todos los derechos reservados.


Prueba

¿Con qué tipos de instancias se accede a los archivos de


ASM?
1. Sólo instancias de RDBMS
2. Sólo instancias de ASM
3. Instancias de RDBMS y ASM

Copyright © 2009, Oracle. Todos los derechos reservados.


Resumen

En esta lección, debe haber aprendido lo siguiente:


• Enumerar los principales componentes de la arquitectura
de Oracle Database
• Explicar las estructuras de memoria
• Describir los procesos en segundo plano
• Correlacionar las estructuras de almacenamiento lógico y
físico
• Describir los componentes de almacenamiento de ASM

Copyright © 2009, Oracle. Todos los derechos reservados.


Práctica 1: Visión General

Se trata de una práctica en la que se responde en papel a


preguntas sobre:
• Arquitectura de base de datos
• Memoria
• Procesos
• Estructuras de archivos

Copyright © 2009, Oracle. Todos los derechos reservados.

También podría gustarte