Sei sulla pagina 1di 45

Sesin 2

Componentes de la Arquitectura Oracle

2-1

Copyright CAGS. Todos los derechos reservados.

Objetivos

Describir la arquitectura del servidor Oracle y sus principales componentes. Identificar el propsito de cada tipo de componente.

2-2

Copyright CAGS. Todos los derechos reservados.

Introduccin

Un administrador de base de datos (DBA) debe entender la arquitectura de un servidor Oracle para administrar una base de datos Oracle con eficiencia. El DBA debe conocer y entender los siguientes componentes:

Procesos Estructuras de memoria Archivos

2-3

Copyright CAGS. Todos los derechos reservados.

Introduccin (cont.)

Un servidor Oracle es un sistema de administracin de base de datos que provee un acercamiento abierto, comprensivo e integrado a la gestin de la informacin. Un servidor Oracle consta de una Instancia Oracle y una Base de Datos Oracle

2-4

Copyright CAGS. Todos los derechos reservados.

Estructura de un Servidor Oracle


Procesos

Estructuras de Memoria

Archivos

2-5

Copyright CAGS. Todos los derechos reservados.

Estructuras de Memoria

System Global Area (SGA)

2-6

Copyright CAGS. Todos los derechos reservados.

Pools
System Global Area (SGA)
Shared Pool

Java Pool Large Pool Streams Pool

Library Cache

Shared SQL Areas


2-7
Copyright CAGS. Todos los derechos reservados.

Data Dictionary Cache

Pools

El shared pool es la estructura de memoria que contiene las sentencias SQL y los bloques PL/SQL compartidos por los usuarios. El tamao total del shared pool esta determinado por el parmetro de inicializacin SHARED_POOL_SIZE. La Library cache incluye las reas compartidas de SQL (shared SQL areas) y las unidades de programa PL/SQL. Una rea compartida de SQL contiene el rbol de compilacin (parse tree) y el plan de ejecucin (execution plan) para una determinada sentencia SQL. Cuando la shared pool esta totalmente llena Oracle usa el algoritmo LRU (Least Recently Used) para la liberacin y reutilizacin de espacio.
Copyright CAGS. Todos los derechos reservados.

2-8

Pools

El cache del diccionario de datos se utiliza en el momento del parse de la sentencia SQL para verificar los objetos y accesos del usuario. El Large pool es una rea de memoria opcional que permite asignacin extensa de memoria para: Transacciones de base de datos distribuidas. Procesos de servidor de I/O. Operaciones de backup y recuperacin. El Java pool es usado para las sesiones que interactan con cdigo Java y con datos dentro del JVM (Java Virtual Machine). El Stream pool es usado es esquemas de replicacin para compartir datos, manejar sincronizaciones, colas, etc.
Copyright CAGS. Todos los derechos reservados.

2-9

Database Buffer Cache

System Global Area (SGA)


Pools Database Buffer Cache

2-10

Copyright CAGS. Todos los derechos reservados.

Database Buffer Cache



Contiene los bloques de datos ledos de los archivos de datos. Esta organizada en dos listas: write list and least recently used (lru) list. Write list contiene los dirty buffers, que son los bloques recientemente modificados y que no han sido escritos en los archivos de datos. Lru list contiene free buffers, clean buffers, pinned buffers y dirty buffers que aun no han sido movidos a la write list. Free Buffers son bloques de datos disponibles. Clean buffers son bloques de datos que no han sido usados. Pinned buffers son bloques de datos que estn siendo accedidos.
Copyright CAGS. Todos los derechos reservados.

2-11

Database Buffer Cache

Cache hit, los datos se encuentran en el database buffer cache. Cache miss, los datos deben de ser recuperados de los archivos de datos. El algoritmo LRU es usado para la liberacin de buffers y asignacin de los bloques de datos ledos de los archivos de datos en el database buffer cache. El tamao del database buffer cache es definido por el parmetro DB_CACHE_SIZE. El tamao de los bloques de datos es definido por el parmetro DB_BLOCK_SIZE.

2-12

Copyright CAGS. Todos los derechos reservados.

Redo Log Buffer

System Global Area (SGA)


Pools Database Buffer Cache Redo Log Buffer

2-13

Copyright CAGS. Todos los derechos reservados.

Redo Log Buffer

Mantiene informacin sobre los cambios hechos a la base de datos. Esta informacin es almacenada en entradas de redo (redo entries). Las entradas de redo contienen la informacin necesaria para reconstruir los cambios hechos a la base de datos por las operaciones INSERT, UPDATE, DELETE, CREATE, ALTER, y DROP. El parmetro de inicializacin LOG_BUFFER determina el tamao (en bytes) del redo log buffer.

2-14

Copyright CAGS. Todos los derechos reservados.

Procesos en Background
Snnn SMON Dnnn SNPn Pnnn RECO LCKn

PMON CKPT

SGA
Redo Log Buffer Shared Pool Database Buffer Cache

DBWn

ARCn LGWR

2-15

Copyright CAGS. Todos los derechos reservados.

Process Monitor (PMON)

Elimina las conexiones terminadas abruptamente.

Deshace las transacciones que no han sido confirmadas (commit). Libera bloqueos dejados por procesos terminados. Libera recursos del SGA asignados a procesos abortados. Reinicia los procesos de servidor y despachadores detenidos.

2-16

Copyright CAGS. Todos los derechos reservados.

System Monitor (SMON)

Realiza recuperaciones de instancia automtica.

Recupera el espacio usado por segmentos temporales que ya no estn siendo usados. Une las reas contiguas de espacio libre en los archivos.

2-17

Copyright CAGS. Todos los derechos reservados.

Database Writer (DBWn)

Escribe el contenido del database buffer cache a los archivos de datos. Se puede utilizar mas de un database writer en sistemas multiprocesadores. El parmetro de inicializacin DB_WRITER_PROCESSES especifica el nmero de procesos database writer. El nmero mximo es 20.

2-18

Copyright CAGS. Todos los derechos reservados.

Log Writer (LGWR)



Log Writer es el responsable de la administracin del Redo Log Buffer. Log Writer escribe las entradas de redo a los archivos de redo log. El proceso de escritura sucede en los siguientes casos:

Al realizarse un commit. Cada 3 segundos. Cuando el redo log buffer esta un tercio lleno. Cuando el DBWn escribe en los archivos de datos.

2-19

Copyright CAGS. Todos los derechos reservados.

Log Writer (LGWR)

Cuando un usuario realiza un commit de su transaccin, el log writer marca la entrada de redo de la transaccin con un SCN (Sequence Change Number) con el cual escribe en los archivos de redo log. El SCN permite recuperaciones posteriores.

2-20

Copyright CAGS. Todos los derechos reservados.

Checkpoint (CKPT)

Cuando un checkpoint ocurre, Oracle debe actualizar la cabecera de todos los archivos de datos y archivos de control para grabar los detalles del checkpoint. El proceso de CKPT no escribe bloques de datos al disco.

2-21

Copyright CAGS. Todos los derechos reservados.

Archiver (ARCn)

El proceso Archiver copia los archivos de redo log a un dispositivo de almacenamiento luego de un que un log switch ha ocurrido. Los procesos ARCn solo estn presentes cuando la base de datos est en modo ARCHIVELOG.

2-22

Copyright CAGS. Todos los derechos reservados.

Dispatcher (Dnnn)

Los procesos dispatcher soportan la configuracin de procesos de servidor compartidos que permite que los procesos de usuario compartan un nmero limitado de procesos de servidor. Por lo menos un proceso dispatcher debe ser creado por cada protocolo de red utilizado para conexiones a la base de datos.

2-23

Copyright CAGS. Todos los derechos reservados.

Procesos RECO, LCKn, Pnnn, and SNPn


Pnnn LCKn SNPn RECO

SGA
Redo Log Buffer Database Buffer Cache Pools

2-24

Copyright CAGS. Todos los derechos reservados.

Procesos RECO, LCKn, Pnnn, and SNPn



El proceso Recover (RECO) resuelve fallas involucradas en una transaccin distribuida. Los procesos Lock (LCKn) realizan bloqueos entre instancias en un sistema de servidores paralelos. Los procesos Parallel Query (Pnnn) proveen la funcionalidad de realizar consultas paralelas, creacin de ndices paralelos, carga de datos paralela y la ejecucin de la sentencia CREATE TABLE AS SELECT en forma paralela. Los procesos Snapshot (SNPn) realizan la actualizacin de los snapshots (tablas replicadas de solo lectura). Adems es responsable por las colas de trabajos del servidor (server jobs) y las colas de replicacin.
Copyright CAGS. Todos los derechos reservados.

2-25

Procesos de Usuario
Snnn SMON Dnnn SNPn Pnnn RECO LCKn

PMON CKPT

SGA
Redo Log Buffer Pools Database Buffer Cache

DBWR

ARCH LGWR

Procesos de Usuario

2-26

Copyright CAGS. Todos los derechos reservados.

Procesos de Usuario

Cuando un usuario ejecuta una aplicacin o un utilitario de Oracle (como Enterprise Manager o SQL*PLUS), Oracle crea un proceso de usuario. Los procesos de usuario son los que permiten la interaccin de los clientes con la instancia de Oracle.

2-27

Copyright CAGS. Todos los derechos reservados.

Procesos de Servidor
Snnn SMON Dnnn SNPn Pnnn RECO LCKn

PMON CKPT

SGA
Redo Log Buffer Pools Database Buffer Cache

DBWR

ARCH LGWR

Procesos de Servidor

Procesos de Usuario

2-28

Copyright CAGS. Todos los derechos reservados.

Procesos de Servidor

Compila y ejecuta las sentencias SQL enviadas por la aplicacin de usuario. Lee los bloques de datos del database buffer cache, de no encontrar los datos ah, los leer de los archivos de datos. Devuelve el resultado a la aplicacin de usuario.

2-29

Copyright CAGS. Todos los derechos reservados.

Program Global Area (PGA)


Snnn SMON Dnnn SNPn Pnnn RECO LCKn

PMON CKPT

SGA
Redo Log Buffer Pools Database Buffer Cache

DBWR

ARCH LGWR

PGA Procesos de Servidor

Procesos de Usuario

2-30

Copyright CAGS. Todos los derechos reservados.

Program Global Area (PGA)

La PGA es una regin de memoria que contiene datos e informacin de control de los procesos de servidor. Es una memoria no compartida creada por Oracle cuando un proceso de servidor es iniciado. El acceso a esta memoria es exclusiva de los procesos de servidor. La PGA puede almacenar informacin de las sentencias SQL y datos de sesin que atienden los procesos de usuario. Adems se utiliza para realizar ciertas operaciones como:

Operaciones basados en ordenamientos (order by,


group by, rollup, cube).

Hash-join. Creacin y merge de ndices Bitmap.


2-31
Copyright CAGS. Todos los derechos reservados.

Instancia Oracle
Instancia Oracle
PMON SNPn Pnnn RECO SMON LCKn Snnn Dnnn

DBWR CKPT

SGA
Pools Redo Log Buffer Database Buffer Cache

LGWR ARCH

Procesos de Servidor

Procesos de Usuario

2-32

Copyright CAGS. Todos los derechos reservados.

Base de Datos Oracle

Archivos de Datos (Datafiles)

Archivos de Control (Control Files)

Archivos de Redo Log (Redo Log Files)

2-33

Copyright CAGS. Todos los derechos reservados.

Otros Archivos

Archivos de Parmetros

Archivo de Password (Password File)

Archivos de Backup

Archivo de Alertas (Alert File)

Archivos de Rastreo (Trace Files)

2-34

Copyright CAGS. Todos los derechos reservados.

Archivos de Redo Log

Archivo Log 1

Archivo Log 2

Archivo Log 3

2-35

Copyright CAGS. Todos los derechos reservados.

Multiplexacin de Archivos de Redo Log

Grupo 1 Grupo 3 Grupo 2

Miembro A

Miembro A

Miembro A

Disco 1

Miembro B Miembro B

Miembro B

Disco 2

2-36

Copyright CAGS. Todos los derechos reservados.

Archivos de Control
Los archivos de control tienen la siguiente informacin:

Todos los archivos de datos y archivos de log


necesarios.

El nombre de la base de datos. La informacin de sincronizacin necesaria para una


recuperacin.


2-37

Un archivo de control es requerido para montar, abrir y acceder a la base de datos. La configuracin recomendada es tener como mnimo dos archivos de control en diferentes discos. El parmetro CONTROL_FILES identifica a los archivos de control.
Copyright CAGS. Todos los derechos reservados.

Archivos de Parmetros
Instancia Oracle
PMON SNPn Pnnn RECO SMON LCKn Snnn Dnnn

DBWR CKPT

SGA
Pools Redo Log Buffer Database Buffer Cache

LGWR

ARCH

Parameter File

Server Parameter File

2-38

Copyright CAGS. Todos los derechos reservados.

Archivos de Parmetros

System Global Area (SGA)


Pools Database Buffer Cache
SHARED_POOL_SIZE LARGE_POOL_SIZE JAVA_POOL_SIZE STREAM_POOL_SIZE LOG_BUFFER DB_BLOCK_SIZE DB_CACHE_SIZE

Redo Log Buffer

SGA_TARGET

2-39

Copyright CAGS. Todos los derechos reservados.

Archivos de Parmetros
El nombre del parameter file es init.ora.

El nombre del server parameter file es SPFILEsid.ora. La ubicacin del parameter file es \ORACLE_BASE\admin\sid\pfile. La ubicacin del server parameter file es \ORACLE_HOME\database\. Los archivos de parmetros se crean con el comando CREATE a partir de uno de ellos. Para la creacin del server parameter file la base de datos debe estar detenida.
CREATE SPFILE/PFILE FROM PFILE/SPFILE CREATE SPFILE/PFILE FROM PFILE/SPFILE

2-40

Copyright CAGS. Todos los derechos reservados.

Archivo de Password

El archivo de password permite establecer las claves de los usuarios administradores. Tambin permite conectarse remotamente y realizar tareas administrativas. El nombre del archivo de password es PWDsid.ora. La ubicacin del archivo de password es \ORACLE_HOME\database. El utilitario para crear el archivo de password es ORAPWD.
ORAPWD file=<fname> password=<password> ORAPWD file=<fname> password=<password> entries=<users> force=<y/n> entries=<users> force=<y/n>

2-41

Copyright CAGS. Todos los derechos reservados.

Archivos de Backup

Los archivos de backup son usados para la recuperacin de la base de datos. Un archivo de backup generalmente es restaurado cuando ha ocurrido una falla en el dispositivo de almacenamiento o un error de usuario ha daado o eliminado un archivo original. Los archivos de backup deben ser generados a partir de una estrategia de backup y el establecimiento de procedimientos de recuperacin en casos de fallo.

2-42

Copyright CAGS. Todos los derechos reservados.

Archivo de Alertas (Alert File)


El archivo alert contiene la siguiente informacin:

Todos los errores internos (ORA-600), errores


de corrupcin de bloques (ORA-1578), y errores de bloqueos (deadlock / ORA-60) que ocurran.

Operaciones administrativas (DDL) y sentencias


como sysdba (STARTUP, SHUTDOWN, ARCHIVE LOG y RECOVER)

Los valores de inicializacin de todos los


parmetros que no estn asignados por defecto en el momento en que la base de datos y la instancia se inicia.

2-43

Copyright CAGS. Todos los derechos reservados.

Archivos de Rastreo (Trace Files)

Contiene informacin sobre errores internos detectados por un proceso de servidor o por un proceso en background. Estan ubicados en BACKGROUND_DUMP_DEST o USER_DUMP_DEST Son creados si SQL_TRACE = TRUE

Son creados si SQL_TRACE esta habilitado para la sesin.


SQL> ALTER SESSION SET SQL_TRACE = TRUE; SQL> ALTER SESSION SET SQL_TRACE = TRUE;

2-44

Copyright CAGS. Todos los derechos reservados.

Resumen
Instancia Oracle SMON SNPn SNPn PMON Pnnn RECO LCKn LCKn Snnn Dnnn

SGA
Pools Database Buffer Cache

Redo Log Buffer

DBWR CKPT

LGWR ARCH

Procesos de Servidor

Procesos de Usuario

Base de Datos Oracle Archivos de Parmetros Par Archivo de Password Archivo de Alertas

Archivos de Control Archivos de Datos Archivos de Redo Log Archivos de Backup Archivos de Rastreo

2-45

Copyright CAGS. Todos los derechos reservados.

Potrebbero piacerti anche