administración de base de datos oracle - sesion 2

40
2- 2-1 Copyright ADA, 2005. Todos los derechos reservados. Sesión 2 Sesión 2 Componentes de la Componentes de la Arquitectura Oracle Arquitectura Oracle

Upload: sefira111

Post on 24-Jan-2018

462 views

Category:

Software


0 download

TRANSCRIPT

2-2-11 Copyright ADA, 2005. Todos los derechos reservados.

Sesión 2Sesión 2

Componentes de la Componentes de la Arquitectura Oracle Arquitectura Oracle

2-2-22 Copyright ADA, 2005. Todos los derechos reservados.

ObjetivosObjetivos

• Describir la arquitectura del servidor Oracle y sus Describir la arquitectura del servidor Oracle y sus principales componentes.principales componentes.

• Identificar el propósito de cada tipo de Identificar el propósito de cada tipo de componente.componente.

2-2-33 Copyright ADA, 2005. Todos los derechos reservados.

IntroducciónIntroducción

• Un administrador de base de datos (DBA) debe Un administrador de base de datos (DBA) debe entender la arquitectura de un servidor Oracle para entender la arquitectura de un servidor Oracle para administrar una base de datos Oracle con administrar una base de datos Oracle con eficiencia.eficiencia.

• El DBA debe conocer y entender los siguientes El DBA debe conocer y entender los siguientes componentes:componentes:

– ProcesosProcesos

– Estructuras de memoriaEstructuras de memoria

– ArchivosArchivos

2-2-44 Copyright ADA, 2005. Todos los derechos reservados.

IntroducciónIntroducción

Estructuras de Estructuras de MemoriaMemoria

ProcesosProcesos

ArchivoArchivoss

2-2-55 Copyright ADA, 2005. Todos los derechos reservados.

Estructuras de MemoriaEstructuras de Memoria

SystemSystem Global Area (SGA)Global Area (SGA)

2-2-66 Copyright ADA, 2005. Todos los derechos reservados.

Shared Shared PoolPool

PoolsPools

SystemSystem Global Area (SGA)Global Area (SGA)

Data Dictionary CacheData Dictionary CacheShared SQL AreasShared SQL Areas

Library CacheLibrary Cache

Large PoolLarge Pool

Java PoolJava Pool

2-2-77 Copyright ADA, 2005. Todos los derechos reservados.

PoolsPools

• El tamaño total del shared pool esta determinado por el parámetro de inicialización SHARED_POOL_SIZE.

• Library cache incluye las áreas compartidas de SQL (shared SQL areas) y los procedimientos y paquetes PL/SQL.

• Una área compartida de SQL contiene el árbol de compilación (parse tree) y el plan de ejecución (execution plan) para una determinada sentencia SQL.

• Cuando la shared pool esta totalmente llena Oracle usa el algoritmo LRU (Least Recently Used) para la liberación y reutilización de espacio.

2-2-88 Copyright ADA, 2005. Todos los derechos reservados.

PoolsPools

• 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.

• Large pool es una área de memoria opcional que permite asignación extensa de memoria para:

– Transacciones de base de datos distribuidas.

– Procesos de servidor de I/O.

– Operaciones de backup y recuperación.

• Java pool es usado para las sesiones que interactúan con código Java y con datos dentro del JVM.

2-2-99 Copyright ADA, 2005. Todos los derechos reservados.

SystemSystem Global Area (SGA)Global Area (SGA)

PoolsPools Database Buffer CacheDatabase Buffer Cache

Database Buffer CacheDatabase Buffer Cache

2-2-1010 Copyright ADA, 2005. Todos los derechos reservados.

Database Buffer CacheDatabase Buffer Cache

• Contiene los bloques de datos leídos de los Contiene los bloques de datos leídos de los archivos de datos.archivos de datos.

• Esta organizada en dos listas: write list and lest Esta organizada en dos listas: write list and lest recently used (lru) list.recently used (lru) list.

• Write list contiene los dirty buffers, que son los Write list contiene los dirty buffers, que son los bloques recientemente modificados y que no han bloques recientemente modificados y que no han sido escritos en los archivos de datos.sido escritos en los archivos de datos.

• Lru list contiene buffers libres, pinned buffers y Lru list contiene buffers libres, pinned buffers y dirty buffers que aun no han sido movidos a la dirty buffers que aun no han sido movidos a la write list.write list.

• Buffers libres son bloques de datos disponibles.Buffers libres son bloques de datos disponibles. Pinned buffers son bloques de datos que están Pinned buffers son bloques de datos que están siendo accedidos.siendo accedidos.

2-2-1111 Copyright ADA, 2005. Todos los derechos reservados.

Database Buffer CacheDatabase 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 asignación de los bloques de datos leídos de los archivos de datos en el database buffer cache.

• El tamaño del database buffer cache es definido por el parámetro DB_CACHE_SIZE. El tamaño de los bloques de datos es definido por el parámetro DB_BLOCK_SIZE.

2-2-1212 Copyright ADA, 2005. Todos los derechos reservados.

Redo Log BufferRedo Log Buffer

SystemSystem Global Area (SGA)Global Area (SGA)

PoolsPools Redo Log BufferRedo Log BufferDatabase Buffer CacheDatabase Buffer Cache

2-2-1313 Copyright ADA, 2005. Todos los derechos reservados.

Redo Log BufferRedo Log Buffer

• Mantiene información sobre los cambios hechos a la base de datos. Esta información es almacenada en entradas de redo (redo entries).

• Las entradas de redo contienen la información necesaria para reconstruir los cambios hechos a la base de datos por las operaciones INSERT, UPDATE, DELETE, CREATE, ALTER, y DROP.

• El parámetro de inicialización LOG_BUFFER determina el tamaño (en bytes) del redo log buffer.

2-2-1414 Copyright ADA, 2005. Todos los derechos reservados.

Procesos en BackgroundProcesos en Background

SGASGA

DBWnDBWn

CKPTCKPT

LGWRLGWR ARCnARCn

PMONPMON

LCKLCKnn RECORECOSMONSMON SNPSNPnn SSnnnnnn PPnnnnnn

Shared PoolShared Pool Database Buffer CacheDatabase Buffer CacheRedo LogRedo Log

BufferBuffer

DDnnnnnn

2-2-1515 Copyright ADA, 2005. Todos los derechos reservados.

Process Monitor (PMON)Process Monitor (PMON)

• Elimina las conexiones terminadas abruptamente.Elimina las conexiones terminadas abruptamente.

• Deshace las transacciones que no han sido Deshace las transacciones que no han sido confirmadas (commit).confirmadas (commit).

• Libera bloqueos dejados por procesos terminados.Libera bloqueos dejados por procesos terminados.

• Libera recursos del SGA asignados a procesos Libera recursos del SGA asignados a procesos abortados.abortados.

• Reinicia los procesos de servidor y despachadores Reinicia los procesos de servidor y despachadores detenidos.detenidos.

2-2-1616 Copyright ADA, 2005. Todos los derechos reservados.

System Monitor (SMON)System Monitor (SMON)

• Realiza recuperaciones de instancia automática.Realiza recuperaciones de instancia automática.

• Recupera el espacio usado por segmentos Recupera el espacio usado por segmentos temporales que ya no están siendo usados.temporales que ya no están siendo usados.

• Une las áreas contiguas de espacio libre en los Une las áreas contiguas de espacio libre en los archivos.archivos.

2-2-1717 Copyright ADA, 2005. Todos los derechos reservados.

Database Writer (DBWn)Database Writer (DBWn)

• Escribe el contenido del database buffer cache a los Escribe el contenido del database buffer cache a los archivos de datos.archivos de datos.

• Se puede utilizar mas de un database writer en Se puede utilizar mas de un database writer en sistemas multiprocesadores.sistemas multiprocesadores.

• El parámetro de inicialización El parámetro de inicialización DB_WRITER_PROCESSES especifica el número de DB_WRITER_PROCESSES especifica el número de procesos database writer. El número máximo es 20.procesos database writer. El número máximo es 20.

2-2-1818 Copyright ADA, 2005. Todos los derechos reservados.

Log Writer (LGWR)Log Writer (LGWR)

• Log Writer es el responsable de la administración del Log Writer es el responsable de la administración del Redo Log Buffer.Redo Log Buffer.

• Log Writer escribe las entradas de redo a los archivos Log Writer escribe las entradas de redo a los archivos de redo log.de redo log.

• El proceso de escritura sucede en los siguientes El proceso de escritura sucede en los siguientes casos:casos:

– Al realizarse un commit.Al realizarse un commit.

– Cada 3 segundos.Cada 3 segundos.

– Cuando el redo log buffer esta un tercio lleno.Cuando el redo log buffer esta un tercio lleno.

– Cuando el DBWn escribe en los archivos de datos.Cuando el DBWn escribe en los archivos de datos.

2-2-1919 Copyright ADA, 2005. Todos los derechos reservados.

Log Writer (LGWR)Log Writer (LGWR)

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

2-2-2020 Copyright ADA, 2005. Todos los derechos reservados.

Checkpoint (CKPT)Checkpoint (CKPT)

• Cuando un checkpoint ocurre, Oracle debe actualizar la cabecera de todos los archivos de datos para grabar los detalles del checkpoint.

• El proceso de CKPT no escribe bloques de datos al disco.

2-2-2121 Copyright ADA, 2005. Todos los derechos reservados.

Archiver (ARCn)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 están presentes cuando la base de datos está en modo ARCHIVELOG.

2-2-2222 Copyright ADA, 2005. Todos los derechos reservados.

Dispatcher (Dnnn)Dispatcher (Dnnn)

• Los procesos dispatcher soportan la configuración de procesos de servidor compartidos que permite que los procesos de usuario compartan un número 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-2-2323 Copyright ADA, 2005. Todos los derechos reservados.

Procesos RECO, LCKProcesos RECO, LCKnn, P, Pnnnnnn, and SNP, and SNPnn

LCKLCKnn RECORECOSNPSNPnn PPnnnnnn

PoolsPools Database Buffer Database Buffer CacheCache

SGASGARedo Log BufferRedo Log Buffer

2-2-2424 Copyright ADA, 2005. Todos los derechos reservados.

Procesos RECO, LCKProcesos RECO, LCKnn, P, Pnnnnnn, and SNP, and SNPnn

• El proceso Recover (RECO) resuelve fallas El proceso Recover (RECO) resuelve fallas involucradas en una transacción distribuida.involucradas en una transacción distribuida.

• Los procesos Lock (LCKLos procesos Lock (LCKnn) realizan bloqueos entre ) realizan bloqueos entre instancias en un sistema de servidores paralelos.instancias en un sistema de servidores paralelos.

• Los procesos Parallel Query (PLos procesos Parallel Query (Pnnnnnn) proveen la ) proveen la funcionalidad de realizar consultas paralelas, funcionalidad de realizar consultas paralelas, creación de índices paralelos, carga de datos creación de índices paralelos, carga de datos paralela y la ejecución de la sentencia CREATE paralela y la ejecución de la sentencia CREATE TABLE AS SELECT en forma paralela.TABLE AS SELECT en forma paralela.

• Los procesos Snapshot (SNPLos procesos Snapshot (SNPnn) realizan la ) realizan la actualización de los snapshots (tablas replicadas actualización de los snapshots (tablas replicadas de solo lectura). Además es responsable por las de solo lectura). Además es responsable por las colas de trabajos del servidor (server jobs) y las colas de trabajos del servidor (server jobs) y las colas de replicación. colas de replicación.

2-2-2525 Copyright ADA, 2005. Todos los derechos reservados.

Procesos de UsuarioProcesos de Usuario

Procesos dProcesos de e UsuarioUsuario

SGASGA

DBWRDBWR

CKPTCKPT

LGWRLGWR ARCHARCH

PMONPMON

LCKLCKnn RECORECOSMONSMON SNPSNPnn SSnnnnnn PPnnnnnn

PoolsPools Database Buffer CacheDatabase Buffer CacheRedo LogRedo Log

BufferBuffer

DDnnnnnn

2-2-2626 Copyright ADA, 2005. Todos los derechos reservados.

Procesos de UsuarioProcesos de Usuario

• Cuando un usuario corre una aplicación o un Cuando un usuario corre una aplicación o un utilitario de Oracle (como Enterprise Manager o utilitario de Oracle (como Enterprise Manager o SQL*PLUS), Oracle crea un proceso de usuario.SQL*PLUS), Oracle crea un proceso de usuario.

• Los procesos de usuario son los que permiten la Los procesos de usuario son los que permiten la interacción de los clientes con la instancia de interacción de los clientes con la instancia de Oracle.Oracle.

2-2-2727 Copyright ADA, 2005. Todos los derechos reservados.

Procesos de Procesos de ServidorServidor

Procesos de ServidorProcesos de Servidor

SGASGA

DBWRDBWR

CKPTCKPT

LGWRLGWR ARCHARCH

Procesos de Procesos de UsuarioUsuario

PMONPMON

LCKLCKnn RECORECOSMONSMON SNPSNPnn SSnnnnnn PPnnnnnn

PoolsPools Database Buffer CacheDatabase Buffer CacheRedo LogRedo Log

BufferBuffer

DDnnnnnn

2-2-2828 Copyright ADA, 2005. Todos los derechos reservados.

Procesos de ServidorProcesos de Servidor

• Compila y ejecuta las sentencias SQL enviadas por la aplicación 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 aplicación de usuario.

2-2-2929 Copyright ADA, 2005. Todos los derechos reservados.

Procesos de Procesos de ServidorServidor

Program Global Area (PGA)Program Global Area (PGA)

SGASGA

DBWRDBWR

CKPTCKPT

LGWRLGWR ARCHARCH

Procesos de Procesos de UsuarioUsuario

PMONPMON

LCKLCKnn RECORECOSMONSMON SNPSNPnn SSnnnnnn PPnnnnnn

PoolsPools Database Buffer CacheDatabase Buffer CacheRedo LogRedo Log

BufferBuffer

DDnnnnnn

PGAPGA

2-2-3030 Copyright ADA, 2005. Todos los derechos reservados.

Program Global Area (PGA)Program Global Area (PGA)

• La PGA es una región de memoria que contiene datos e información 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 información de las sentencias SQL y datos de sesión que atienden los procesos de usuario. Además se utiliza para realizar ciertas operaciones como:

• Operaciones basados en ordenamientos (order by, group-by, rollup).

• Hash-join.

• Creación y merge de índices Bitmap.

2-2-3131 Copyright ADA, 2005. Todos los derechos reservados.

Instancia OracleInstancia Oracle

PMONPMON

Procesos de Procesos de ServidorServidor

LCKLCKnn RECORECOSMONSMON SNPSNPnn SSnnnnnn

PoolsPools Database Buffer CacheDatabase Buffer Cache

SGASGARedo LogRedo Log

BufferBuffer

CKPTCKPT

ARCHARCH

DBWRDBWR

LGWRLGWR

Procesos de Procesos de UsuarioUsuario

DDnnnnnn

Instancia Instancia Oracle Oracle PPnnnnnn

2-2-3232 Copyright ADA, 2005. Todos los derechos reservados.

Base de Datos OracleBase de Datos Oracle

Archivos de Archivos de Datos Datos

(Datafiles)(Datafiles)

Archivos de Archivos de Control Control

(Control Files)(Control Files)

Archivos de Archivos de Redo Log Redo Log (Redo Log (Redo Log

Files)Files)

2-2-3333 Copyright ADA, 2005. Todos los derechos reservados.

Archivos de Redo LogArchivos de Redo Log

Archivo Log 1 Archivo Log 2 Archivo Log 3

2-2-3434 Copyright ADA, 2005. Todos los derechos reservados.

Multiplexación de Archivos de Redo LogMultiplexación de Archivos de Redo Log

Grupo 1 Grupo 2 Grupo 3

Disco 1

Disco 2

Miembro A Miembro A Miembro A

Miembro B Miembro B Miembro B

2-2-3535 Copyright ADA, 2005. Todos los derechos reservados.

Archivos de ControlArchivos de Control

• Los archivos de control tienen la siguiente información:Los archivos de control tienen la siguiente información:

– Todos los archivos de datos y archivos de log Todos los archivos de datos y archivos de log necesarios.necesarios.

– El nombre de la base de datos.El nombre de la base de datos.

– La información de sincronización necesaria para una La información de sincronización necesaria para una recuperación.recuperación.

• Un archivo de control es requerido para montar, abrir y Un archivo de control es requerido para montar, abrir y acceder a la base de datos.acceder a la base de datos.

• La configuración recomendada es tener como mínimo La configuración recomendada es tener como mínimo dos archivos de control en diferentes discos.dos archivos de control en diferentes discos.

• El parámetro CONTROL_FILES identifica a los archivos El parámetro CONTROL_FILES identifica a los archivos de control.de control.

2-2-3636 Copyright ADA, 2005. Todos los derechos reservados.

Archivo de Parámetros (Parameter File)Archivo de Parámetros (Parameter File)

Archivo de Archivo de ParámetrosParámetros

LCKLCKnn RECORECOSMONSMON SNPSNPnn SSnnnnnn

PoolsPools Database Buffer CacheDatabase Buffer Cache

SGASGARedo LogRedo Log

BufferBuffer

CKPTCKPT

ARCHARCH

DDnnnnnn

Instancia Instancia OracleOracle PPnnnnnn

DBWRDBWR

LGWRLGWR

PMONPMON

2-2-3737 Copyright ADA, 2005. Todos los derechos reservados.

SystemSystem Global Area (SGA)Global Area (SGA)

PoolsPools Redo Log BufferRedo Log BufferDatabase Buffer CacheDatabase Buffer Cache

Archivo de Parámetros (Parameter File)Archivo de Parámetros (Parameter File)

SHARED_POOL_SIZESHARED_POOL_SIZE

DB_CACHE_SIZEDB_CACHE_SIZE

DB_BLOCK_SIZEDB_BLOCK_SIZE LOG_BUFFERLOG_BUFFER

LARGE_POOL_SIZELARGE_POOL_SIZE

JAVA_POOL_SIZEJAVA_POOL_SIZE

2-2-3838 Copyright ADA, 2005. Todos los derechos reservados.

Archivo de Alerta (Alert File)Archivo de Alerta (Alert File)

• El archivo alert contiene la siguiente información:El archivo alert contiene la siguiente información:

– Todos los errores internos (ORA-600), errores Todos los errores internos (ORA-600), errores de corrupción de bloques (ORA-1578), y errores de corrupción de bloques (ORA-1578), y errores de bloqueos (deadlock / ORA-60) que ocurran.de bloqueos (deadlock / ORA-60) que ocurran.

– Operaciones administrativas (DDL) y sentencias Operaciones administrativas (DDL) y sentencias como sysdba (STARTUP, SHUTDOWN, como sysdba (STARTUP, SHUTDOWN, ARCHIVE LOG y RECOVER)ARCHIVE LOG y RECOVER)

– Los valores de inicialización de todos los Los valores de inicialización de todos los parámetros que no están asignados por defecto parámetros que no están asignados por defecto en el momento en que la base de datos y la en el momento en que la base de datos y la instancia se inicia.instancia se inicia.

2-2-3939 Copyright ADA, 2005. Todos los derechos reservados.

Archivos de Rastreo (Trace Files)Archivos de Rastreo (Trace Files)

• Contiene información sobre errores internos Contiene información sobre errores internos detectados por un proceso de servidor o por un detectados por un proceso de servidor o por un proceso en background.proceso en background.

• Estan ubicados en BACKGROUND_DUMP_DEST o Estan ubicados en BACKGROUND_DUMP_DEST o USER_DUMP_DESTUSER_DUMP_DEST

• Son creados si SQL_TRACE = TRUESon creados si SQL_TRACE = TRUE

• Son creados si SQL_TRACE esta habilitado para la Son creados si SQL_TRACE esta habilitado para la sesión.sesión.

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

2-2-4040 Copyright ADA, 2005. Todos los derechos reservados.

ResumenResumen

Procesos Procesos de de

ServidorServidor

LCKLCKnn RECORECOSMONSMON SNPSNPnn SSnnnnnn

Shared PoolShared Pool Database Buffer CacheDatabase Buffer Cache

SGASGA Redo LogRedo LogBufferBuffer

CKPTCKPT

ARCHARCH

Procesos Procesos de de

UsuarioUsuario

Instancia OracleInstancia Oracle

Archivo de Archivo de ParámetrosParámetros Archivos de DatosArchivos de DatosArchivos de ControlArchivos de Control Archivos de Redo LogArchivos de Redo Log

Base de Datos Base de Datos OracleOracle

PPnnnnnn

DDnnnnnn

PMONPMON

DBWRDBWR

LGWRLGWR