Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2-1
Objetivos
Describir la arquitectura del servidor Oracle y sus principales componentes. Identificar el propsito de cada tipo de componente.
2-2
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:
2-3
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
Estructuras de Memoria
Archivos
2-5
Estructuras de Memoria
2-6
Pools
System Global Area (SGA)
Shared Pool
Library 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
2-10
2-11
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
2-13
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
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
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
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
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
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
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
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
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
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
SGA
Redo Log Buffer Database Buffer Cache Pools
2-24
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
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
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
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
PMON CKPT
SGA
Redo Log Buffer Pools Database Buffer Cache
DBWR
ARCH LGWR
Procesos de Usuario
2-30
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:
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
2-33
Otros Archivos
Archivos de Parmetros
Archivos de Backup
2-34
Archivo Log 1
Archivo Log 2
Archivo Log 3
2-35
Miembro A
Miembro A
Miembro A
Disco 1
Miembro B Miembro B
Miembro B
Disco 2
2-36
Archivos de Control
Los archivos de control tienen la siguiente informacin:
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
2-38
Archivos de Parmetros
SGA_TARGET
2-39
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
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
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
2-43
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
2-44
Resumen
Instancia Oracle SMON SNPn SNPn PMON Pnnn RECO LCKn LCKn Snnn Dnnn
SGA
Pools Database Buffer Cache
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