Вы находитесь на странице: 1из 15

Arquitectura de procesos ORACLE

Arquitectura de procesos oracle


Arquitectura bsica de un SGBDR
La instancia oracle
Los ficheros oracle
Cmo funciona
Configuraciones posibles:
Dedicated Server
Multithread Server
RAC

Arquitectura bsica de un SGDBR

P
R
O
C
E
S
O
S

U
S
U
A
R
I
O

Instancia ORACLE

S
G
B
D
R

BASE
DATOS

CACHE

La instancia oracle
La integran los procesos background y la SGA
Los procesos background pueden variar en funcin de la configuracin.

Obligatorios: CKPT, DBWR,LGWR,PMON,SMON


Opcionales: ARCH, LCKn, Dnnn,Snnn, etc
SGA
rea de memoria de cada instancia
es compartida por todos los usuarios

Los ficheros oracle


La BD esta compuesta por ficheros de datos (tablespaces), ficheros
de control y ficheros de redo
Existen ficheros relacionados pero que no forman parte de la BD
propiamente dicha (parmetros init.ora-, los redo archivados-opcional- y
el fichero de password -opcional-

Cmo funciona

DBWR. Escribe los bloques de datos de la SGA (data buffer cache) en


los ficheros de datos. Lo hace de forma asncrona, cuando:
Sucede un checkpoint (hay cambio de redolog, timeout definido,
etc).
El nmero de buffers modificados alcanza un umbral.
No quedan buffers libres.
Otros eventos
LGWR. Escribe el contenido de la redo logbuffer cache en los ficheros
redo log, cuando
Se hace commit.
La redo log buffer cache se llena 1/3.
otros ..
SMON. Monitor del sistema.
Recupera la instancia, si es necesario, cuando sta arranca
Otras funciones como liberar segmentos temporales, agrupar
extensiones

etc
PMON. Monitor de procesos de usuario. Recupera los recursos despus
de que un proceso falle o se pierda la conexin
hace rollback
libera bloqueos y otros recursos reservados
etc.
CKPT. Gestor de puntos de validacin
Avisa al DBWR cuando sucede un checkpoint
actualiza las cabeceras de los ficheros de datos y de control para
actualizar el SCN (contador de checkpoint)
ARCH. Archiva el redo log que se ha llenado, cuando
sucede un log switch.
Proceso opcional ( si se activa el modo ARCHIVELOG)

Configuraciones posibles
El servidor ORACLE puede funcionar de
distintas formas:
Dedicated Server: Cada usuario es atendido
por un proceso esclavo que tiene asignado
hasta que se desconecte.
Multithread Server: Existen bateras de
procesos que son compartidos por los
usuarios segn requieran.
RAC: Una BD es gestionada por varias
instancias (que a su vez pueden estar en
dedicated y/o multhitread)

Arquitectura en oracle dedicated server


DEDICATED SERVER PROCESS

P
R
O
C
E
S
O
S

DSP

P
G
A

DSP

P
G
A

Usuarios
locales

SQL
NET
SQL
NET
Usuarios
remotos

I
S
T
E
N
E
R

Data
Base
Buffers

DSP

P
G
A

DSP

P
G
A

SQL
NET

DBWR
Ficheros de BD

shared
pool

U
S
U
A
R
I
O

BD

SGA

LGWR

CKPT
ARCH

Redo
log
Buffers

Ficheros de
RedoLog

PMON

etc ..

Fich. control

ORACLE INSTANCE
Almacn
externo

Arquitectura de un SGDBR ORACLE

Un cliente (remoto) quiere iniciar una conexin y lanza la solicitud va SqlNet.


El servidor a travs del listener recibe la peticin y crea un proceso servidor dedicado
(DSP) para atender la solicitud. El DSP se encarga de la validacin de credenciales y
queda a la espera de ejecutar sentencias.
Supongamos que el usuario manda al servidor la operacin a realizar (ejem. Update)
El proceso servidor dedicado examina en el SGA (shared pool) si existe alguna sentencia
idntica ya parseada, sino, hace el parsing y la deja en la shared pool.
El proceso servidor dedicado accede a la BD y se trae a la SGA (database buffers) los
datos necesarios (slo los que previamente no estaban en la SGA) y en este caso los
modifica (siempre en la SGA) y escribe los cambios realizados en los redolog buffers.
Previamente anota en el tablespace de UNDO la direccin del bloque que va ha modificar,
identificador de fila dentro del bloque, nmero de columna y el valor del dato antes de
ser modificado para garantizar la integridad con otros usuarios y la posibilidad de
rollback.
El LGWR se encarga de escribir las entradas de los redolog buffers en los ficheros de
LOG. Si se produce el commit las marca como validadas (indica que la transaccin a
terminado fast commit-) aunque los bloques modificados no estan pasados a los
ficheros de la BD
Cuando se produce un checkpoint el DBWR escribe los bloques modificados (completos)
de la SGA a los ficheros de la BD
El proceso servidor dedicado enva el resultado de la operacin al cliente y queda a la
espera de nuevas instrucciones
Cuando el cliente cierra la conexin (o se produce un time-out) el proceso servidor
dedicado muere

Arquitectura de un SGDBR ORACLE


SHARED SERVER PROCESS

P
R
O
C
E
S
O
S

U
S
U
A
R
I
O

D
IS
P
A
T
C
H
E
R

SQL
NET

SQL
NET

L
I
S

SQL
NET
SQL
NET
Usua
rios
remo
tos

T
E
N
E
R

SP
SP

...
SP

SQL
NET
D
IS
P
A
T
C
H
E
R

.
.
.

Data
Base
Buffers

...

DBWR
Ficheros de BD

Shared
pool

LGWR
CKPT

SP
SP

BD

SGA

Redo
log
Buffers

ARCH

large
pool

etc ..

Ficheros de Log

PMON

SP

Fich. control

ORACLE INSTANCE
Almacn
externo

Arquitectura de un SGDBR ORACLE

Para arrancar la instancia en modo SHARED SERVER hay que poner ciertos
parmetros, ejemplo:
dispatchers = "(protocol=TCP)(disp=1)"
shared_servers=3
max_shared_servers=10

Una instancia la podemos levantar en modo dedicado o SHARED SERVER segn


interese en cada momento
Una instancia en modo SHARED SERVER tambin admite conexiones dedicadas (se
especifica en el tnsnames del cliente)
Cuando un proceso abre una conexin el listener le asigna un dispatcher
(normalmente el menos cargado) que ser el encargado de atender sus posteriores
peticiones a travs de su pool de conexiones (server process asociados al
dispatcher), pero puede que cada peticin la resuelva con un proceso distinto.
Se pueden levantar varios dispatchers (e incluso que cada uno este escuchando en
puertos distintos y/o con protocolos distintos). El listener (que tambien puede
escuchar en varios puertos y/o protocolos) se encargar de asignar dispatchers a los
clientes en funcin del protocolo solicitado y/o puerto.
Es aconsejable cuando tenemos muchos procesos con poca actividad ya que
consume menos RAM en el servidor
Presenta una mayor complejidad de gestin para ORACLE

tiene que mantener procesos dispatchers y servidores


Cada dispatcher tiene que mantener cola de peticiones
Parte de la informacin que se almacena el la PGA en caso de servidores dedicados ahora
se almacena en la SGA (large pool)-> gestin de sesiones

Dispatcher y servidores

Arquitectura de un SGDBR ORACLE


REAL APPLICATION CLUSTER
SGA

P
R
O
C
E
S
O
S
U
S
U
A
R
I
O

DSP

BD

DSP

SQL
NET
SQL
NET

DSP
L

DSP

Ficheros de BD
ORACLE INSTANCE

Ficheros de Log
SGA

P
R
O
C
E
S
O
S
U
S
U
A
R
I
O

DSP
DSP

Fich. control
SQL
NET
SQL
NET

DSP
L

DSP

ORACLE INSTANCE

Arquitectura de un SGDBR ORACLE

Requiere de una capa ms de software OCW


(oracle clusterware) corriendo en cada nodo
Todas las instancias estn ejecutando contra los
mismos ficheros de BD
Las instancias pueden tener configuraciones y
localizaciones diferentes
Sistema altamente escalable
Es ms tolerante a fallos
Administracin ms compleja

Вам также может понравиться