SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Instituto Profesional DuocUC
    Escuela de Ingeniería




Componentes Arquitectura Oracle




                 Jaime Amigo P. © 2006, Santiago - Chile
Instituto Profesional DuocUC
        Escuela de Ingeniería


                           Objetivos
Después de completar esta lección, usted deberá:
 •  Comprender la Arquitectura Oracle y sus principales
   componentes
 • Listar las estructuras involucradas en la conexión de
   un usuario a una Instancia Oracle




                                                           2
Instituto Profesional DuocUC
                 Escuela de Ingeniería


        Descripción Componentes Principales




Descripción Componentes Principales
La arquitectura Oracle incluye un número primario de componentes las que serán
   discutidas a lo largo de la lección.
La arquitectura de Oracle Server puede ser descrita en tres categorías:
1. Procesos de Usuarios
2. Estructuras de Memorias que recolectan datos, llamada Instancia Oracle
3. Estructuras físicas de archivos que se denomina Base de Datos (Data Files,
   Control Files y Redo Log Files)
La figura expuesta a primera vista puede parecer compleja, sin embargo, cada uno de
   esos componentes será descrito en mayor detalle en las siguientes lecciones.
Procesos de Usuarios
A nivel de usuarios, dos procesos permiten a un usuario interactuar con la instancia y
   finalmente con la base de datos: Procesos Usuarios y Procesos Servidor.




                                                                                         3
Descripción de componentes principales (continuación)
Cuando un usuario corre una aplicación (sqlplus, forms, etc), Oracle levanta un proceso
usuario para soportar la conexión a la instancia. Dependiendo de la arquitectura de la
aplicación el proceso usuario existen en el propio PC del usuario o en una capa
intermedia del servidor de aplicaciones. Así, este proceso usuario inicia la conexión a la
instancia. Oracle llama la iniciación y mantenimiento de la comunicación entre proceso
usuario y la instancia, conexión. Cuando la conexión es hecha, el usuario estable una
sesión en la instancia.
Después de establecer una sesión, cada usuario inicia un Proceso Servidor en el
Servidor (Host). Este proceso servidor, es responsable de ejecutar las tareas que
permiten al usuario interactuar con la base de datos.
En resumen, un proceso usuario y servidor, están asociados con cada conexión de
usuario y una estructura adicional de memoria llamada Program Global Area (PGA) se
crea para cada usuario. La PGA almacena información específica de la sesión tales
como valores de variables. Cada proceso servidor sobre el servidor tiene un área de
memoria llamada PGA.




                                                                                             4
Instituto Profesional DuocUC
          Escuela de Ingeniería


                      Servidor Oracle


Un Servidor Oracle:
• Es un Sistema Administrador
de Bases de Datos que provee
una administración abierta,
comprensiva, integrada de
información
• Consiste de una instancia
Oracle y una base de datos
Oracle




                                         5
Instituto Profesional DuocUC
                   Escuela de Ingeniería


                               Instancia Oracle
       • Es el medio para accesar una base de datos Oracle
       • Siempre abre una y solo una base de datos
       • Consiste de estructuras de memoria y procesos




Instancia Oracle
Una instancia Oracle esta conformada por una estructura de memoria llamada System
Global Area (SGA) y varios procesos background. El proceso servidor se comunica
con la SGA para satisfacer los requerimientos de información del usuario.
Los componentes de la SGA serán descritos con mayor detalles mas adelante
Si se esta en una ambiente UNIX o LINUX y tiene un motor Oracle y una instancia
subida, podrá ver los procesos background de dicha instancia ejecutando el comando
ps –fea|grep ora_. Allí aparecerá el dueño, el process id padre, process id hijo, hora
de inicio del proceso y nombre del proceso.




                                                                                         6
Instancia Oracle (continuación)


Ejemplo muestra procesos en Linux de una instancia Oracle version
10g
oracle 32723      1 0 Mar17 ?      00:00:04 ora_pmon_desa10g
oracle 32725      1 0 Mar17 ?      00:00:00 ora_mman_desa10g
oracle 32727      1 0 Mar17 ?      00:00:04 ora_dbw0_desa10g
oracle 32729      1 0 Mar17 ?      00:00:09 ora_lgwr_desa10g
oracle 32731      1 0 Mar17 ?      00:00:13 ora_ckpt_desa10g
oracle 32733      1 0 Mar17 ?      00:00:12 ora_smon_desa10g
oracle 32735      1 0 Mar17 ?      00:00:00 ora_reco_desa10g
oracle 32737      1 0 Mar17 ?      00:00:01 ora_cjq0_desa10g
oracle 32751      1 0 Mar17 ?      00:00:00 ora_o000_desa10g
oracle   367     1 0 Mar17 ?      00:00:02 ora_qmnc_desa10g
oracle   369     1 0 Mar17 ?      00:00:33 ora_mmon_desa10g
oracle   371     1 0 Mar17 ?      00:00:04 ora_mmnl_desa10g




                                                                    7
Instituto Profesional DuocUC
         Escuela de Ingeniería


Estableciendo una conexión y creando
             una sesión

Establecer una conexión de usuario y crear una sesión, es lo
que se conoce como conectarse a una instancia Oracle




                                                               8
Instituto Profesional DuocUC
                  Escuela de Ingeniería


                        Base de Datos Oracle
       • Es una colección de datos tratados como una unidad
       • El propósito general es almacenar y recuperar datos de
       información relacionada
       • Consiste de tres tipos de archivos
              – Data Files
              – Control Files
              – Redo Log Files




Base de Datos Oracle
Una instancia es una estructura temporal de memoria, pero la base de datos Oracle
esta basada en un conjunto de archivos físicos que residen dentro de un servidor en
discos duros. Estos archivos son llamados, control files, data files y redo logs. Otros
archivos físicos que están asociados a una base de datos Oracle pero que
técnicamente no son parte de esta son el password file (archivos de password), el
PFILE y SPFILE (que serán descritos en otras secciones de este curso) y finalmente,
archive redo log files.
El detalle de cada uno de estos tipos de archivos será cubierto en el transcurso de este
curso.




                                                                                           9
Instituto Profesional DuocUC
                 Escuela de Ingeniería


                            Estructura Física

       La estructura física de una base de datos Oracle esta
       determinada por los archivos del Sistema Operativo que
       proveen el almacenamiento físico para la información de
       la base de datos
        • Control files
        • Data files
        • Redo log files




Estructura Física
Control File
Contiene información de otros archivos físicos, nombre de la base de datos, tamaño
del bloque de la base de datos, conjunto de caracteres e información para
recuperación. Estos archivos son requeridos para abrir la base de datos.
Data Files
Contienen la información que registran las aplicaciones finales de usuarios
Redo Log
Registra todos los cambios hechos a la base de datos y es usado para recuperación
Archivos de Parámetros (PFILE y SPFILE)
Son parámetros de configuración de la SGA, características opcionales de Oracle y
procesos background
Archived Log
Son copias del contenido de Redo Log previos y son usados para recuperación

                                                                                     10
Estructura Física (continuación)

Password File
Archivo opcional usado para almacenar nombres de usuarios que les han
sido otorgados los privilegios de SYSDBA y SYSOPER
Oracle Net
 Entradas que configuran el listener de la base de datos y los clientes,
permitiendo así la conectividad entre aplicaciones y el servidor




                                                                           11
Instituto Profesional DuocUC
                 Escuela de Ingeniería


                      Estructura de Memoria
       La estructura de memoria consiste de dos áreas
       conocidas como:
        •   SGA (System Global Area):
             – Asignada en la subida de la instancia (startup) y es un
               componente fundamental de una instancia Oracle
        •   PGA (Program Global Area):
             – Asignada cuando el proceso servidor es iniciado




SGA (System Global Area)
Conjunto de memoria compartida que contiene datos e información de control para una
determinada instancia ORACLE. El SGA se mantiene en memoria virtual del
computador en el que reside la instancia ORACLE. Si dentro de la instancia existe la
posibilidad de que más de un usuario se encuentre conectado simultáneamente, los
datos dentro de la SGA de la instancia son compartidos entre todos los usuarios.
PGA (Programa Global Area)
Los procesos servidores (Snnn) se comunican con los diferentes procesos de usuario e
interactúan con ORACLE para satisfacer las peticiones. Por ejemplo, cuando un
proceso de usuario solicita datos que no estan en la SGA, el proceso servidor que
atiende la petición será el encargado de leer los bloques de datos de disco y
almacenarlos en la SGA. Puede haber un proceso servidor por cada proceso usuario
(configuración de DBMS Dedicado) o un proceso servidor para muchos procesos
usuarios (configuración de DBMS Multi-Threaded). La PGA es una región de memoria
asociada a cada proceso servidor, la cual contiene datos e información de control para
cada una de las sesiones que los usuarios mantienen con ORACLE a través de este
proceso servidor. La PGA no es un área de memoria compartida.


                                                                                         12
Instituto Profesional DuocUC
                Escuela de Ingeniería


                 SGA – System Global Area
     •   Usada para almacenar información que es
         compartida por procesos de la base de datos
     •   Contiene datos e información de control para el
         Servidor Oracle que se asigna en una memoria
         virtual del servidor donde reside la BD
     •   La SGA consiste de varias estructuras de
         memoria:
          – Shared Pool
          – Database Buffer Cache
          – Redo Log Buffer              SELECT * from V$SGA;

          – Otras estructuras




System Global Area
La SGA esta compuesta de tres componentes requeridos y de tres componentes
opcionales.
Componentes requeridos
 •Shared Pool      : Cache de memoria que almacenada las sentencias SQL y
 PL/SQL mas recientemente usadas por usuarios. Contiene Library Cache y Data
 Dictionary Cache (se explicarán más adelante)
 •Database Buffer Cache: Cache de memoria que contiene los datos mas
 recientemente accesados (leídos) por los usuarios desde disco
 •Redo Log Buffer: Almacena información de transacciones con propósitos de
 recuperación (insert, delete, update, create, alter y drop)
Componentes opcionales
 •Java Pool: Cache de memoria que almacenada los objetos JAVA mas
 recientemente usados y código de aplicación cuando se usa la opción Oracle JVM




                                                                                  13
System Global Area (continuación)
 •Large Pool: Cache de memoria que contiene para grandes operaciones como
 recuperación y respaldo con Recovery Manager (RMAN) y componentes de Shared
 Server
 •Streams Pool: Cache de memoria que almacena datos asociados con requerimientos
 de colas de mensajes cuando se instala la opción Advanced Queuing en el Servidor

El tamaño de estos componentes de la SGA pueden ser administrados
manualmente o automáticamente. Si se escoge administrar manualmente
estos componentes, se debe especificar el tamaño de cada uno de ellos
aumentando o disminuyendo el tamaño de ellos según las necesidades de
la aplicación. Si los estos componentes son administrados
automáticamente, la instancia por si misma monitorea la utilización de cada
componente de la SGA y ajusta sus tamaños.
Independiente si la administración de la SGA es automática o manual,
Oracle asigna o desaigna espacio dinámico dentro de la SGA dividiendo la
SGA dentro de unidades llamadas granules.
Dependiendo del sistema operativo donde reside el motor de base de datos
Oracle, los granules pueden ser de 4 MB, 8 MB o 16 MB.




                                                                                    14
Instituto Profesional DuocUC
             Escuela de Ingeniería


              SGA – System Global Area
    SQL> Select * from V$SGA;
    NAME                  VALUE
    ------------------    ----------
    Fixed Size                787988
    Variable Size         145750508
    Database Buffers       25165824
    Redo Buffers              262144

Muestra que el tamaño total de la SGA es 171,966,464 bytes
Donde:
El tamaño Variable Size esta compuesto de Shared Pool, Large Pool y
Java Pool (145,750,508 bytes). Database Buffer Cache es 25,165,824
bytes.Redo Log Buffer es 262,144 bytes
Y hay cierto espacio adicional para almacenar información de procesos
usada por los procesos background de la instancia (787,988 bytes)

La vista V$SGA_DYNAMIC_COMPONENTS contiene información mas detallada
de la SGA de una instancia Oracle




                                                                        15
Instituto Profesional DuocUC
                 Escuela de Ingeniería


                                 Shared Pool
      El Shared Pool es usado para almacenar las sentencias SQL
      más recientemente usadas y las definiciones de datos más
      recientemente usados
       • Esto consiste dos estructuras de memoria claves para el
           rendimiento
              – Library cache
              – Data Dictionary Cache
        •   El parámetro que determina su tamaño se llama
            SHARED_POOL_SIZE

        SHOW PARAMETERS SHARED_POOL;



        ALTER SYSTEM SET SHARED_POOL_SIZE = 64 MB;




Esta estructura se utiliza durante el procesamiento de comandos. Su tamaño es
   configurable post creación de la BD. Contiene dos zonas específicas:
A) Library Cache
   Almacena la siguiente información relacionada a una instrucción SQL:
   - Texto de la instrucción
   - Arbol de parching, es decir la versión compilada de la instrucción
   - Plan de ejecución, es decir, la secuencia de pasos a ser realizados para ejecutar
   la instrucción a bajo nivel de acuerdo con los resultados producidos por el
   optimizador de consultas
   Basándose en esta información, si una consulta es ejecutada nuevamente y su
   información permanece todavía en la Library Cache, no será necesario compilar de
   nuevo la instrucción. Esto permite mejorar el rendimiento de las aplicaciones que se
   ejecutan periódicamente.




                                                                                          16
Shared Pool (continuación)
B) Data Dictionary Cache
       Almacena información de uso mas reciente sobre el diccionario de datos. Esta
información incluye información de columnas, usuarios, password y privilegios. Durante
la fase de compilación, esta información es necesaria para resolver los nombres de los
objetos utilizados en un comando SQL y para validar los privilegios de acceso.




                                                                                         17
Instituto Profesional DuocUC
                  Escuela de Ingeniería


                                Library Cache

       Almacena información sobre las sentencias SQL y
       PL/SQL más recientemente usadas. La Library
       Cache:
        • Habilita el compartimiento de sentencias más
           comúnmente usadas
        • Es administrada por un algoritmo LRU (Least
           Recent Use, La de menor Uso Reciente).
        • Compuesta de dos estructuras:
              – Shared SQL Area
              – Shared PL/SQL Area
        •    Su tamaño esta determinado por el dado en el
             Shared Pool


Library Cache, almacena la siguiente información relacionada con una instrucción de
SQL:
• Texto de la instrucción
• Arbol de parsing, es decir la versión compilada de la instrucción
• Plan de Ejecución, es decir la secuencia de pasos a ser realizados para ejecutar la
instrucción a bajo nivel de acuerdo con los resultados producidos por el optimizador de
consultas.
Basándose en esta información, si una consulta es ejecutada nuevamente, y su
información permanece todavía en el Library Cache, no será necesario compilar de
nuevo la instrucción. En tal sentido este componente de la arquitectura permite mejorar
el rendimiento de las aplicaciones que se ejecutan periódicamente.




                                                                                          18
Instituto Profesional DuocUC
                 Escuela de Ingeniería


                       Data Dictionary Cache

      Es una colección de las definiciones de base de datos
      mas recientemente usadas.
       • Incluye información sobre archivos de base de datos,
          tablas, índices, columnas, usuarios, privilegios y
          otros objetos
       • Durante la fase de parser, el proceso servidor mira la
          información de el diccionario de datos para resolver
          los nombres de objetos y validar accesos
       • Un caché del diccionario de datos dentro de la
          memoria mejora el tiempo de respuesta ante
          consultas
       • El tamaño esta determinado por el dado en el
          Shared Pool



Algoritmo de reemplazo de páginas "la de menor uso reciente" (LRU)
Este algoritmo es una buena aproximación al óptimo y se basa en la observación de
que las páginas de uso frecuente en las últimas instrucciones se utilizan con cierta
probabilidad en las siguientes. De la misma manera, es probable que las páginas que
no hayan sido utilizadas durante mucho tiempo permanezcan sin uso por bastante
tiempo. Implementando el algoritmo con esta base, al ocurrir un fallo de página, se
elimina la página que no haya sido utilizada durante el tiempo más grande. De ahí su
denominación: menor uso reciente (LRU - Least Recent Use).
A diferencia de los algoritmos anteriores, el LRU tiene un mejor rendimiento en cuanto
al tiempo de aprovechamiento del CPU y del uso de la memoria. Sin embargo, el
problema con este algoritmo es que su implementación es muy cara, ya que requiere
de una asistencia considerable de hardware.




                                                                                         19
Instituto Profesional DuocUC
                 Escuela de Ingeniería


                      Database Buffer Cache

       Almacena copias de bloques de datos que han sido
       recuperados desde los Datafiles.
        • Habilita una ganancia de performance cuando se
           obtienen datos para modificarlos
        • Es administrado a través de un algoritmo LRU
        • El parámetro DB_BLOCK_SIZE determina el
           tamaño de bloque primario




Su función es mantener los bloques de datos leídos directamente de los archivos de
datos en disco. Cuando se procesa una consulta , el servidor busca los bloques de
datos requeridos en esta estructura. Si el bloque no se encuentra en esta estructura, el
proceso servidor lee el bloque de la memoria secundaria y coloca una copia en esta
estructura. De esta forma, otras peticiones que requieran de este bloque de datos no
requerirán de un acceso a memoria secundaria (lecturas físicas a disco).




                                                                                           20
Instituto Profesional DuocUC
           Escuela de Ingeniería


                Database Buffer Cache
•   El tamaño de cada buffer de Buffer Cache es equivalente al
    tamaño de un Bloque Oracle, normalmente definido en 4 KB
•   Database Buffer Cache consiste en Sub Cache independientes y
    bloques de múltiples tamaños:
    –   DB_CACHE_SIZE
         – Tamaño por defecto no puede ser 0
    –   DB_KEEP_CACHE_SIZE
         – Usado para retener en memoria bloques que podrían ser reusados
    –   BD_RECYCLE_CACHE_SIZE
         – Puede ser usado para eliminar bloques de memoria que tienen
         pequeños cambios
•   El parametro DB_BLOCK_SIZE determina el tamaño de bloque
    primario
•   El Database Buffer Cache puede ser modificado dinámicamente
    usando ALTER SYSTEM




                                                                            21
Instituto Profesional DuocUC
                 Escuela de Ingeniería


                     Redo Log Buffer Cache
        •   Es un buffer de datos circular que registra
            todos los cambios hechos en los bloques de
            datos de una base de datos
             – El propósito principal es recuperar
             – Los cambios registrados en su interior son llamados
               entradas de Redo
             – Las entradas de Redo contienen información para
               reconstrucción de cambios realizados por operaciones
               de INSERT, DELETE, UPDATE, CREATE, ALTER o
               DROP
             – El parámetro que define su tamaño se llama
               LOG_BUFFER




Es un Buffer circular que mantiene todos los cambios que han sido realizados sobre la
base de datos por operaciones de insert, update, delete, create, alter y drop. Las
entradas de este buffer contienen toda la información necesaria para reconstruir los
cambios realizados a la base de datos por medio de cualquier sentencia DDL o DML
(el bloque que ha sido cambio, la posición de cambio y el nuevo valor). El uso de Redo
Log Buffer es estrictamente secuencial, en tal sentido pueden entrelazarse cambios en
los bloques de datos producidos por transacciones diferentes. El tamaño de este Buffer
también puede ser configurado para mejorar el rendimiento de la instancia y de las
aplicaciones que sobre ellas se ejecuten.




                                                                                         22
Instituto Profesional DuocUC
         Escuela de Ingeniería


         PGA – Program Global Area
•   Es una área de memoria reservada para cada proceso
    de usuario que se conecta a una base de datos Oracle
•   La PGA es asignada cuando un proceso de usuario es
    asignado y desasignada cuando el proceso termina
•   A diferencia de la SGA, la PGA es utilizada por solo un
    proceso




                                                              23
Instituto Profesional DuocUC
       Escuela de Ingeniería


           Estructura de Procesos
Programa que dependiente del tipo de información
que pueda ser requerida, ejecuta una serie de
pasos o ejecuta una tarea específica
Oracle toma ventaja de varios tipos de procesos:
 • User process
    – Se levantan cuando un usuario inicia una conexión
•   Server process
    – Conectados a una instancia Oracle y levantados cuando
      se establece una sesión
•   Background process
    – Disponibles cuando una instancia Oracle es levantada o
      iniciada




                                                               24
Instituto Profesional DuocUC
       Escuela de Ingeniería


                      User Process

•   Si un usuario requiere información de una base de
    datos Oracle, primero debe establecer una conexión
    con el Servidor Oracle
•   Para establecer la conexión se requiere de una
    herramienta de interface tal como SQL*PLUS y en
    ese instante, se levantan los procesos de usuario
•   Los procesos de usuario no interactúan directamente
    con el Servidor Oracle




                                                          25
Instituto Profesional DuocUC
          Escuela de Ingeniería


                       Server Process
•   Un proceso servidor es un programa que interactúa directamente
    con el Servidor Oracle
     – Genera llamadas y entrega resultados
     – Puede ser dedicado o compartido
•   Servidor dedicado significa que atiende a un solo proceso de
    usuario, cuando el proceso de usuario se desconecta el proceso
    servidor es terminado
•   Servidor compartido significa que un proceso servidor puede
    atender a varios procesos de usuarios




                                                                     26
Instituto Profesional DuocUC
                 Escuela de Ingeniería


                        Background Process

       La relación entre las estructuras físicas y de memoria son
       mantenidas y son hechas por procesos Background
       Oracle
        • Procesos Obligatorios
             – SMON = System Monitor
             – PMON = Process Monitor
             – DBWn = Database Writer
             – LGWR = Log Writer
             – CKPT = Checkpoint
        • Procesos Opcionales (ARCn, CJQn, Jnnn, Qnnn,
            QMNn, Pnnn, Dnnn, Snnn, MMAN, MMON, MMNL,
            RVWR, CTWR, RECO)




Procesos Background
SMON: Ejecuta la recuperación de una instancia ante una caída, limpieza de
estructuras de datos de soporte a la ejecución de consultas y llevar la BD a un estado
estable previo a la ejecución de las transacciones que no hayan culminado
exitosamente, desfragmentar el espacio físico de almacenamiento uniendo bloques de
datos libres en la memoria secundaria.
PMON: Limpia las conexiones fallidas de usuarios a la base de datos, efectúa labores
de limpieza (libera los recursos y bloques ocupados en los cache) si algún proceso
termina prematuramente.
DBWn: Escribe los bloques de memoria modificados en la SGA (Database Buffer
Cache) a los datafiles en disco. La n en algunos sistemas operativos indica que más
de uno de esos procesos puede estar ejecutándose. En esos casos, la n es
reemplazada por un valor numérico. Por ejemplo, si están corriendo tres procesos
database writer, estos denominados DBW0, DBW1 y DBW3. Cuando una transacción
cambia los datos de un bloque de datos, no es necesario que este bloque se escriba
inmediatamente en el disco. Normalmente escribe solo cuando se requieren nuevos
bloques de datos en el Database Buffer Cache.


                                                                                         27
Background Process (continuación)
LGWR: Escribe información de la SGA (Redo Log Buffer) a los archivos de redo log en
disco, con el propósito de recuperación. La escritura de bloques es secuencial y ocurre
si: a) El Redo Log Buffer esta lleno en un 33% o más, b) Cuando ocurre un timeout (3
segundos), c) antes que el DBWn escriba algún bloque modificado a disco y cuando hay
un COMMIT
CKPT: Actualiza los archivos de la base de datos seguidos de los eventos de
checkpoint. Este proceso es opcional, sino existe sus funciones son reemplazadas por el
LGWR
Procesos opcionales
ARCn: Copia información para recuperación escrita por el LGWR a los Red Log Files y a
una segunda localización en caso de ser necesario para recuperación. Casi todas las
bases de datos de producción usan este proceso opcional, que se configura en el archivo
de parámetros de inicialización de la base de datos.
CJQn: Asigna jobs a Colas de Procesos de Trabajos (Job Queue) cuando se usa la
característica de Job Scheduling
Jnnn: Ejecuta jobs de base de datos que han sido esquematizados, cuando se usa la
característica de Job Scheduling




                                                                                          28
Instituto Profesional DuocUC
           Escuela de Ingeniería


                     Estructura Lógica
La estructura lógica de la arquitectura Oracle se conoce como el
espacio físico de una base de datos a ser usada
La jerarquía existente en esta estructura consiste de:
 • Una base de datos Oracle esta agrupada de TABLESPACES
 • Un tablespace puede contener 1 o mas SEGMENTS
 • Un segmento esta hecho de EXTENTS
 • Un extent esta hecho de BLOCKS lógicos
 • Un block es una pequeña unidad para operaciones de Read y
     Write
Un tablespace físicamente corresponde a un Datafile



                                          Detalle sobre la Creación y Administración
                                           de Tablespace ser vera en Lecciones
                                                          posteriores




                                                                                       29
Instituto Profesional DuocUC
Escuela de Ingeniería




        Fin de la Lección




             Jaime Amigo P. © 2006, Santiago - Chile

Más contenido relacionado

La actualidad más candente

Administración de Oracle - Tema 01 - Introducción
Administración de Oracle - Tema 01 - IntroducciónAdministración de Oracle - Tema 01 - Introducción
Administración de Oracle - Tema 01 - IntroducciónHector Martinez
 
Oracle g11 - Administration workshop1 sg1
Oracle g11 - Administration workshop1  sg1 Oracle g11 - Administration workshop1  sg1
Oracle g11 - Administration workshop1 sg1 Rodolfo Zoilo
 
Administración de Oracle - Tema 02 - Instalación
Administración de Oracle - Tema 02 - InstalaciónAdministración de Oracle - Tema 02 - Instalación
Administración de Oracle - Tema 02 - InstalaciónHector Martinez
 
Administracion de base de datos oracle tarea#02
Administracion de base de datos oracle tarea#02Administracion de base de datos oracle tarea#02
Administracion de base de datos oracle tarea#02Celso
 
Tarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdTarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdCristian Merchan
 
Tarea1Cesar Ortiz
Tarea1Cesar OrtizTarea1Cesar Ortiz
Tarea1Cesar Ortizorlandito33
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosHector Martinez
 
Jose guanuchi tarea001
Jose guanuchi tarea001Jose guanuchi tarea001
Jose guanuchi tarea001pp guanuchi
 
Tarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramilloTarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramilloRaquelitajaramillo
 
Tarea1 base de datos
Tarea1 base de datosTarea1 base de datos
Tarea1 base de datosIsrael
 
Myriam cando semana 1
Myriam cando semana 1Myriam cando semana 1
Myriam cando semana 1mcando
 
Administración de Oracle - Tema 3 - Creación de la BD
Administración de Oracle - Tema 3 - Creación de la BDAdministración de Oracle - Tema 3 - Creación de la BD
Administración de Oracle - Tema 3 - Creación de la BDHector Martinez
 
Introducción a base de datos Oracle
Introducción a base de datos OracleIntroducción a base de datos Oracle
Introducción a base de datos Oraclepajaro5
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Alexander Calderón
 

La actualidad más candente (18)

Administración de Oracle - Tema 01 - Introducción
Administración de Oracle - Tema 01 - IntroducciónAdministración de Oracle - Tema 01 - Introducción
Administración de Oracle - Tema 01 - Introducción
 
Oracle g11 - Administration workshop1 sg1
Oracle g11 - Administration workshop1  sg1 Oracle g11 - Administration workshop1  sg1
Oracle g11 - Administration workshop1 sg1
 
Administración de Oracle - Tema 02 - Instalación
Administración de Oracle - Tema 02 - InstalaciónAdministración de Oracle - Tema 02 - Instalación
Administración de Oracle - Tema 02 - Instalación
 
En 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura OracleEn 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura Oracle
 
Administracion de base de datos oracle tarea#02
Administracion de base de datos oracle tarea#02Administracion de base de datos oracle tarea#02
Administracion de base de datos oracle tarea#02
 
Tarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdTarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bd
 
Tarea1Cesar Ortiz
Tarea1Cesar OrtizTarea1Cesar Ortiz
Tarea1Cesar Ortiz
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
 
Jose guanuchi tarea001
Jose guanuchi tarea001Jose guanuchi tarea001
Jose guanuchi tarea001
 
Tarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramilloTarea1 base de datos raquel jaramillo
Tarea1 base de datos raquel jaramillo
 
Tarea1 base de datos
Tarea1 base de datosTarea1 base de datos
Tarea1 base de datos
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
BASE DE DATOS
BASE DE DATOS BASE DE DATOS
BASE DE DATOS
 
Myriam cando semana 1
Myriam cando semana 1Myriam cando semana 1
Myriam cando semana 1
 
Administración de Oracle - Tema 3 - Creación de la BD
Administración de Oracle - Tema 3 - Creación de la BDAdministración de Oracle - Tema 3 - Creación de la BD
Administración de Oracle - Tema 3 - Creación de la BD
 
Introducción a base de datos Oracle
Introducción a base de datos OracleIntroducción a base de datos Oracle
Introducción a base de datos Oracle
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
 

Destacado

Semana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsqlSemana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsqlvictdiazm
 
Tarea de informatica. angie paola
Tarea de informatica. angie paolaTarea de informatica. angie paola
Tarea de informatica. angie paolaangiepaolabravo
 
Womanphotographcooler. VegaRubio
Womanphotographcooler. VegaRubioWomanphotographcooler. VegaRubio
Womanphotographcooler. VegaRubioVega Rubio
 
Estadisticas puente alto violencia
Estadisticas puente alto violenciaEstadisticas puente alto violencia
Estadisticas puente alto violenciadcmartin1893
 
Aplicación M. I; clase 3
 Aplicación M. I; clase 3   Aplicación M. I; clase 3
Aplicación M. I; clase 3 MultimediaUNLaR
 
Da silva correa_contreras_presentaciónfinal
Da silva correa_contreras_presentaciónfinalDa silva correa_contreras_presentaciónfinal
Da silva correa_contreras_presentaciónfinaldanicorrear
 
Casas rurales asturias baratas
Casas rurales asturias baratasCasas rurales asturias baratas
Casas rurales asturias baratasiberia villar
 
Desarrollo actividad 3 la tic
Desarrollo actividad 3 la ticDesarrollo actividad 3 la tic
Desarrollo actividad 3 la ticmoralitojr
 
Steve jobs 1955 2011
Steve jobs 1955   2011Steve jobs 1955   2011
Steve jobs 1955 2011magaymicka
 
Private tours in Dominican Republic
Private tours in Dominican RepublicPrivate tours in Dominican Republic
Private tours in Dominican RepublicCaribecoturismo
 
Eivar rodriguezvalderrama
Eivar rodriguezvalderramaEivar rodriguezvalderrama
Eivar rodriguezvalderramaEivarRodriguezV
 
Mmmmmmmmmmmm
MmmmmmmmmmmmMmmmmmmmmmmm
MmmmmmmmmmmmMafeQano
 

Destacado (20)

Semana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsqlSemana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsql
 
Empanada Lunch - May 2013
Empanada Lunch - May 2013Empanada Lunch - May 2013
Empanada Lunch - May 2013
 
Tarea de informatica. angie paola
Tarea de informatica. angie paolaTarea de informatica. angie paola
Tarea de informatica. angie paola
 
PROPUESTA DE NUEVO REGIMEN ESPECIAL DE LIMA .
PROPUESTA DE NUEVO REGIMEN ESPECIAL DE LIMA .PROPUESTA DE NUEVO REGIMEN ESPECIAL DE LIMA .
PROPUESTA DE NUEVO REGIMEN ESPECIAL DE LIMA .
 
El amor
El amorEl amor
El amor
 
Parcial
ParcialParcial
Parcial
 
Clase 25
Clase 25Clase 25
Clase 25
 
prueba
pruebaprueba
prueba
 
Womanphotographcooler. VegaRubio
Womanphotographcooler. VegaRubioWomanphotographcooler. VegaRubio
Womanphotographcooler. VegaRubio
 
Estadisticas puente alto violencia
Estadisticas puente alto violenciaEstadisticas puente alto violencia
Estadisticas puente alto violencia
 
752
752752
752
 
Aplicación M. I; clase 3
 Aplicación M. I; clase 3   Aplicación M. I; clase 3
Aplicación M. I; clase 3
 
Da silva correa_contreras_presentaciónfinal
Da silva correa_contreras_presentaciónfinalDa silva correa_contreras_presentaciónfinal
Da silva correa_contreras_presentaciónfinal
 
Casas rurales asturias baratas
Casas rurales asturias baratasCasas rurales asturias baratas
Casas rurales asturias baratas
 
Desarrollo actividad 3 la tic
Desarrollo actividad 3 la ticDesarrollo actividad 3 la tic
Desarrollo actividad 3 la tic
 
Steve jobs 1955 2011
Steve jobs 1955   2011Steve jobs 1955   2011
Steve jobs 1955 2011
 
Private tours in Dominican Republic
Private tours in Dominican RepublicPrivate tours in Dominican Republic
Private tours in Dominican Republic
 
2.8.2
2.8.22.8.2
2.8.2
 
Eivar rodriguezvalderrama
Eivar rodriguezvalderramaEivar rodriguezvalderrama
Eivar rodriguezvalderrama
 
Mmmmmmmmmmmm
MmmmmmmmmmmmMmmmmmmmmmmm
Mmmmmmmmmmmm
 

Similar a Componentes Arquitectura Oracle

Similar a Componentes Arquitectura Oracle (20)

Tarea1 lruiz
Tarea1 lruizTarea1 lruiz
Tarea1 lruiz
 
Tarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdTarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bd
 
Nestor Nieto BaseDatos_Tarea01
Nestor Nieto BaseDatos_Tarea01Nestor Nieto BaseDatos_Tarea01
Nestor Nieto BaseDatos_Tarea01
 
M patino abds1
M patino abds1M patino abds1
M patino abds1
 
Abf leccion 03
Abf leccion 03Abf leccion 03
Abf leccion 03
 
Introduccion a ORACLE
Introduccion a ORACLEIntroduccion a ORACLE
Introduccion a ORACLE
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Trabajo colaborativo 2
Trabajo colaborativo 2Trabajo colaborativo 2
Trabajo colaborativo 2
 
Caracteristicas de oracle y my sql
Caracteristicas de oracle y my sqlCaracteristicas de oracle y my sql
Caracteristicas de oracle y my sql
 
Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2
 
OVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptxOVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptx
 
Bdp3
Bdp3Bdp3
Bdp3
 
base-de-datos-oracle.pdf
base-de-datos-oracle.pdfbase-de-datos-oracle.pdf
base-de-datos-oracle.pdf
 
Oracle
OracleOracle
Oracle
 
Guia de estudio_oracle 11 g
Guia de estudio_oracle 11 gGuia de estudio_oracle 11 g
Guia de estudio_oracle 11 g
 
Guia de-estudio-oracle-11-g-pdf
Guia de-estudio-oracle-11-g-pdfGuia de-estudio-oracle-11-g-pdf
Guia de-estudio-oracle-11-g-pdf
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02
 
Oracle
OracleOracle
Oracle
 
Oracle
OracleOracle
Oracle
 
Unidad 2 Arquitectura del gestor
Unidad 2 Arquitectura del gestorUnidad 2 Arquitectura del gestor
Unidad 2 Arquitectura del gestor
 

Más de victdiazm

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resueltavictdiazm
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resueltavictdiazm
 
Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resueltavictdiazm
 
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resueltavictdiazm
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resueltavictdiazm
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltavictdiazm
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashvictdiazm
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltavictdiazm
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_toursvictdiazm
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y gruposvictdiazm
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesvictdiazm
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basicovictdiazm
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesosvictdiazm
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesvictdiazm
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de stringvictdiazm
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxvictdiazm
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diazvictdiazm
 

Más de victdiazm (20)

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resuelta
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
 
Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resuelta
 
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resuelta
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bash
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_tours
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y grupos
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redes
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesos
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de string
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linux
 
Script
ScriptScript
Script
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diaz
 

Componentes Arquitectura Oracle

  • 1. Instituto Profesional DuocUC Escuela de Ingeniería Componentes Arquitectura Oracle Jaime Amigo P. © 2006, Santiago - Chile
  • 2. Instituto Profesional DuocUC Escuela de Ingeniería Objetivos Después de completar esta lección, usted deberá: • Comprender la Arquitectura Oracle y sus principales componentes • Listar las estructuras involucradas en la conexión de un usuario a una Instancia Oracle 2
  • 3. Instituto Profesional DuocUC Escuela de Ingeniería Descripción Componentes Principales Descripción Componentes Principales La arquitectura Oracle incluye un número primario de componentes las que serán discutidas a lo largo de la lección. La arquitectura de Oracle Server puede ser descrita en tres categorías: 1. Procesos de Usuarios 2. Estructuras de Memorias que recolectan datos, llamada Instancia Oracle 3. Estructuras físicas de archivos que se denomina Base de Datos (Data Files, Control Files y Redo Log Files) La figura expuesta a primera vista puede parecer compleja, sin embargo, cada uno de esos componentes será descrito en mayor detalle en las siguientes lecciones. Procesos de Usuarios A nivel de usuarios, dos procesos permiten a un usuario interactuar con la instancia y finalmente con la base de datos: Procesos Usuarios y Procesos Servidor. 3
  • 4. Descripción de componentes principales (continuación) Cuando un usuario corre una aplicación (sqlplus, forms, etc), Oracle levanta un proceso usuario para soportar la conexión a la instancia. Dependiendo de la arquitectura de la aplicación el proceso usuario existen en el propio PC del usuario o en una capa intermedia del servidor de aplicaciones. Así, este proceso usuario inicia la conexión a la instancia. Oracle llama la iniciación y mantenimiento de la comunicación entre proceso usuario y la instancia, conexión. Cuando la conexión es hecha, el usuario estable una sesión en la instancia. Después de establecer una sesión, cada usuario inicia un Proceso Servidor en el Servidor (Host). Este proceso servidor, es responsable de ejecutar las tareas que permiten al usuario interactuar con la base de datos. En resumen, un proceso usuario y servidor, están asociados con cada conexión de usuario y una estructura adicional de memoria llamada Program Global Area (PGA) se crea para cada usuario. La PGA almacena información específica de la sesión tales como valores de variables. Cada proceso servidor sobre el servidor tiene un área de memoria llamada PGA. 4
  • 5. Instituto Profesional DuocUC Escuela de Ingeniería Servidor Oracle Un Servidor Oracle: • Es un Sistema Administrador de Bases de Datos que provee una administración abierta, comprensiva, integrada de información • Consiste de una instancia Oracle y una base de datos Oracle 5
  • 6. Instituto Profesional DuocUC Escuela de Ingeniería Instancia Oracle • Es el medio para accesar una base de datos Oracle • Siempre abre una y solo una base de datos • Consiste de estructuras de memoria y procesos Instancia Oracle Una instancia Oracle esta conformada por una estructura de memoria llamada System Global Area (SGA) y varios procesos background. El proceso servidor se comunica con la SGA para satisfacer los requerimientos de información del usuario. Los componentes de la SGA serán descritos con mayor detalles mas adelante Si se esta en una ambiente UNIX o LINUX y tiene un motor Oracle y una instancia subida, podrá ver los procesos background de dicha instancia ejecutando el comando ps –fea|grep ora_. Allí aparecerá el dueño, el process id padre, process id hijo, hora de inicio del proceso y nombre del proceso. 6
  • 7. Instancia Oracle (continuación) Ejemplo muestra procesos en Linux de una instancia Oracle version 10g oracle 32723 1 0 Mar17 ? 00:00:04 ora_pmon_desa10g oracle 32725 1 0 Mar17 ? 00:00:00 ora_mman_desa10g oracle 32727 1 0 Mar17 ? 00:00:04 ora_dbw0_desa10g oracle 32729 1 0 Mar17 ? 00:00:09 ora_lgwr_desa10g oracle 32731 1 0 Mar17 ? 00:00:13 ora_ckpt_desa10g oracle 32733 1 0 Mar17 ? 00:00:12 ora_smon_desa10g oracle 32735 1 0 Mar17 ? 00:00:00 ora_reco_desa10g oracle 32737 1 0 Mar17 ? 00:00:01 ora_cjq0_desa10g oracle 32751 1 0 Mar17 ? 00:00:00 ora_o000_desa10g oracle 367 1 0 Mar17 ? 00:00:02 ora_qmnc_desa10g oracle 369 1 0 Mar17 ? 00:00:33 ora_mmon_desa10g oracle 371 1 0 Mar17 ? 00:00:04 ora_mmnl_desa10g 7
  • 8. Instituto Profesional DuocUC Escuela de Ingeniería Estableciendo una conexión y creando una sesión Establecer una conexión de usuario y crear una sesión, es lo que se conoce como conectarse a una instancia Oracle 8
  • 9. Instituto Profesional DuocUC Escuela de Ingeniería Base de Datos Oracle • Es una colección de datos tratados como una unidad • El propósito general es almacenar y recuperar datos de información relacionada • Consiste de tres tipos de archivos – Data Files – Control Files – Redo Log Files Base de Datos Oracle Una instancia es una estructura temporal de memoria, pero la base de datos Oracle esta basada en un conjunto de archivos físicos que residen dentro de un servidor en discos duros. Estos archivos son llamados, control files, data files y redo logs. Otros archivos físicos que están asociados a una base de datos Oracle pero que técnicamente no son parte de esta son el password file (archivos de password), el PFILE y SPFILE (que serán descritos en otras secciones de este curso) y finalmente, archive redo log files. El detalle de cada uno de estos tipos de archivos será cubierto en el transcurso de este curso. 9
  • 10. Instituto Profesional DuocUC Escuela de Ingeniería Estructura Física La estructura física de una base de datos Oracle esta determinada por los archivos del Sistema Operativo que proveen el almacenamiento físico para la información de la base de datos • Control files • Data files • Redo log files Estructura Física Control File Contiene información de otros archivos físicos, nombre de la base de datos, tamaño del bloque de la base de datos, conjunto de caracteres e información para recuperación. Estos archivos son requeridos para abrir la base de datos. Data Files Contienen la información que registran las aplicaciones finales de usuarios Redo Log Registra todos los cambios hechos a la base de datos y es usado para recuperación Archivos de Parámetros (PFILE y SPFILE) Son parámetros de configuración de la SGA, características opcionales de Oracle y procesos background Archived Log Son copias del contenido de Redo Log previos y son usados para recuperación 10
  • 11. Estructura Física (continuación) Password File Archivo opcional usado para almacenar nombres de usuarios que les han sido otorgados los privilegios de SYSDBA y SYSOPER Oracle Net Entradas que configuran el listener de la base de datos y los clientes, permitiendo así la conectividad entre aplicaciones y el servidor 11
  • 12. Instituto Profesional DuocUC Escuela de Ingeniería Estructura de Memoria La estructura de memoria consiste de dos áreas conocidas como: • SGA (System Global Area): – Asignada en la subida de la instancia (startup) y es un componente fundamental de una instancia Oracle • PGA (Program Global Area): – Asignada cuando el proceso servidor es iniciado SGA (System Global Area) Conjunto de memoria compartida que contiene datos e información de control para una determinada instancia ORACLE. El SGA se mantiene en memoria virtual del computador en el que reside la instancia ORACLE. Si dentro de la instancia existe la posibilidad de que más de un usuario se encuentre conectado simultáneamente, los datos dentro de la SGA de la instancia son compartidos entre todos los usuarios. PGA (Programa Global Area) Los procesos servidores (Snnn) se comunican con los diferentes procesos de usuario e interactúan con ORACLE para satisfacer las peticiones. Por ejemplo, cuando un proceso de usuario solicita datos que no estan en la SGA, el proceso servidor que atiende la petición será el encargado de leer los bloques de datos de disco y almacenarlos en la SGA. Puede haber un proceso servidor por cada proceso usuario (configuración de DBMS Dedicado) o un proceso servidor para muchos procesos usuarios (configuración de DBMS Multi-Threaded). La PGA es una región de memoria asociada a cada proceso servidor, la cual contiene datos e información de control para cada una de las sesiones que los usuarios mantienen con ORACLE a través de este proceso servidor. La PGA no es un área de memoria compartida. 12
  • 13. Instituto Profesional DuocUC Escuela de Ingeniería SGA – System Global Area • Usada para almacenar información que es compartida por procesos de la base de datos • Contiene datos e información de control para el Servidor Oracle que se asigna en una memoria virtual del servidor donde reside la BD • La SGA consiste de varias estructuras de memoria: – Shared Pool – Database Buffer Cache – Redo Log Buffer SELECT * from V$SGA; – Otras estructuras System Global Area La SGA esta compuesta de tres componentes requeridos y de tres componentes opcionales. Componentes requeridos •Shared Pool : Cache de memoria que almacenada las sentencias SQL y PL/SQL mas recientemente usadas por usuarios. Contiene Library Cache y Data Dictionary Cache (se explicarán más adelante) •Database Buffer Cache: Cache de memoria que contiene los datos mas recientemente accesados (leídos) por los usuarios desde disco •Redo Log Buffer: Almacena información de transacciones con propósitos de recuperación (insert, delete, update, create, alter y drop) Componentes opcionales •Java Pool: Cache de memoria que almacenada los objetos JAVA mas recientemente usados y código de aplicación cuando se usa la opción Oracle JVM 13
  • 14. System Global Area (continuación) •Large Pool: Cache de memoria que contiene para grandes operaciones como recuperación y respaldo con Recovery Manager (RMAN) y componentes de Shared Server •Streams Pool: Cache de memoria que almacena datos asociados con requerimientos de colas de mensajes cuando se instala la opción Advanced Queuing en el Servidor El tamaño de estos componentes de la SGA pueden ser administrados manualmente o automáticamente. Si se escoge administrar manualmente estos componentes, se debe especificar el tamaño de cada uno de ellos aumentando o disminuyendo el tamaño de ellos según las necesidades de la aplicación. Si los estos componentes son administrados automáticamente, la instancia por si misma monitorea la utilización de cada componente de la SGA y ajusta sus tamaños. Independiente si la administración de la SGA es automática o manual, Oracle asigna o desaigna espacio dinámico dentro de la SGA dividiendo la SGA dentro de unidades llamadas granules. Dependiendo del sistema operativo donde reside el motor de base de datos Oracle, los granules pueden ser de 4 MB, 8 MB o 16 MB. 14
  • 15. Instituto Profesional DuocUC Escuela de Ingeniería SGA – System Global Area SQL> Select * from V$SGA; NAME VALUE ------------------ ---------- Fixed Size 787988 Variable Size 145750508 Database Buffers 25165824 Redo Buffers 262144 Muestra que el tamaño total de la SGA es 171,966,464 bytes Donde: El tamaño Variable Size esta compuesto de Shared Pool, Large Pool y Java Pool (145,750,508 bytes). Database Buffer Cache es 25,165,824 bytes.Redo Log Buffer es 262,144 bytes Y hay cierto espacio adicional para almacenar información de procesos usada por los procesos background de la instancia (787,988 bytes) La vista V$SGA_DYNAMIC_COMPONENTS contiene información mas detallada de la SGA de una instancia Oracle 15
  • 16. Instituto Profesional DuocUC Escuela de Ingeniería Shared Pool El Shared Pool es usado para almacenar las sentencias SQL más recientemente usadas y las definiciones de datos más recientemente usados • Esto consiste dos estructuras de memoria claves para el rendimiento – Library cache – Data Dictionary Cache • El parámetro que determina su tamaño se llama SHARED_POOL_SIZE SHOW PARAMETERS SHARED_POOL; ALTER SYSTEM SET SHARED_POOL_SIZE = 64 MB; Esta estructura se utiliza durante el procesamiento de comandos. Su tamaño es configurable post creación de la BD. Contiene dos zonas específicas: A) Library Cache Almacena la siguiente información relacionada a una instrucción SQL: - Texto de la instrucción - Arbol de parching, es decir la versión compilada de la instrucción - Plan de ejecución, es decir, la secuencia de pasos a ser realizados para ejecutar la instrucción a bajo nivel de acuerdo con los resultados producidos por el optimizador de consultas Basándose en esta información, si una consulta es ejecutada nuevamente y su información permanece todavía en la Library Cache, no será necesario compilar de nuevo la instrucción. Esto permite mejorar el rendimiento de las aplicaciones que se ejecutan periódicamente. 16
  • 17. Shared Pool (continuación) B) Data Dictionary Cache Almacena información de uso mas reciente sobre el diccionario de datos. Esta información incluye información de columnas, usuarios, password y privilegios. Durante la fase de compilación, esta información es necesaria para resolver los nombres de los objetos utilizados en un comando SQL y para validar los privilegios de acceso. 17
  • 18. Instituto Profesional DuocUC Escuela de Ingeniería Library Cache Almacena información sobre las sentencias SQL y PL/SQL más recientemente usadas. La Library Cache: • Habilita el compartimiento de sentencias más comúnmente usadas • Es administrada por un algoritmo LRU (Least Recent Use, La de menor Uso Reciente). • Compuesta de dos estructuras: – Shared SQL Area – Shared PL/SQL Area • Su tamaño esta determinado por el dado en el Shared Pool Library Cache, almacena la siguiente información relacionada con una instrucción de SQL: • Texto de la instrucción • Arbol de parsing, es decir la versión compilada de la instrucción • Plan de Ejecución, es decir la secuencia de pasos a ser realizados para ejecutar la instrucción a bajo nivel de acuerdo con los resultados producidos por el optimizador de consultas. Basándose en esta información, si una consulta es ejecutada nuevamente, y su información permanece todavía en el Library Cache, no será necesario compilar de nuevo la instrucción. En tal sentido este componente de la arquitectura permite mejorar el rendimiento de las aplicaciones que se ejecutan periódicamente. 18
  • 19. Instituto Profesional DuocUC Escuela de Ingeniería Data Dictionary Cache Es una colección de las definiciones de base de datos mas recientemente usadas. • Incluye información sobre archivos de base de datos, tablas, índices, columnas, usuarios, privilegios y otros objetos • Durante la fase de parser, el proceso servidor mira la información de el diccionario de datos para resolver los nombres de objetos y validar accesos • Un caché del diccionario de datos dentro de la memoria mejora el tiempo de respuesta ante consultas • El tamaño esta determinado por el dado en el Shared Pool Algoritmo de reemplazo de páginas "la de menor uso reciente" (LRU) Este algoritmo es una buena aproximación al óptimo y se basa en la observación de que las páginas de uso frecuente en las últimas instrucciones se utilizan con cierta probabilidad en las siguientes. De la misma manera, es probable que las páginas que no hayan sido utilizadas durante mucho tiempo permanezcan sin uso por bastante tiempo. Implementando el algoritmo con esta base, al ocurrir un fallo de página, se elimina la página que no haya sido utilizada durante el tiempo más grande. De ahí su denominación: menor uso reciente (LRU - Least Recent Use). A diferencia de los algoritmos anteriores, el LRU tiene un mejor rendimiento en cuanto al tiempo de aprovechamiento del CPU y del uso de la memoria. Sin embargo, el problema con este algoritmo es que su implementación es muy cara, ya que requiere de una asistencia considerable de hardware. 19
  • 20. Instituto Profesional DuocUC Escuela de Ingeniería Database Buffer Cache Almacena copias de bloques de datos que han sido recuperados desde los Datafiles. • Habilita una ganancia de performance cuando se obtienen datos para modificarlos • Es administrado a través de un algoritmo LRU • El parámetro DB_BLOCK_SIZE determina el tamaño de bloque primario Su función es mantener los bloques de datos leídos directamente de los archivos de datos en disco. Cuando se procesa una consulta , el servidor busca los bloques de datos requeridos en esta estructura. Si el bloque no se encuentra en esta estructura, el proceso servidor lee el bloque de la memoria secundaria y coloca una copia en esta estructura. De esta forma, otras peticiones que requieran de este bloque de datos no requerirán de un acceso a memoria secundaria (lecturas físicas a disco). 20
  • 21. Instituto Profesional DuocUC Escuela de Ingeniería Database Buffer Cache • El tamaño de cada buffer de Buffer Cache es equivalente al tamaño de un Bloque Oracle, normalmente definido en 4 KB • Database Buffer Cache consiste en Sub Cache independientes y bloques de múltiples tamaños: – DB_CACHE_SIZE – Tamaño por defecto no puede ser 0 – DB_KEEP_CACHE_SIZE – Usado para retener en memoria bloques que podrían ser reusados – BD_RECYCLE_CACHE_SIZE – Puede ser usado para eliminar bloques de memoria que tienen pequeños cambios • El parametro DB_BLOCK_SIZE determina el tamaño de bloque primario • El Database Buffer Cache puede ser modificado dinámicamente usando ALTER SYSTEM 21
  • 22. Instituto Profesional DuocUC Escuela de Ingeniería Redo Log Buffer Cache • Es un buffer de datos circular que registra todos los cambios hechos en los bloques de datos de una base de datos – El propósito principal es recuperar – Los cambios registrados en su interior son llamados entradas de Redo – Las entradas de Redo contienen información para reconstrucción de cambios realizados por operaciones de INSERT, DELETE, UPDATE, CREATE, ALTER o DROP – El parámetro que define su tamaño se llama LOG_BUFFER Es un Buffer circular que mantiene todos los cambios que han sido realizados sobre la base de datos por operaciones de insert, update, delete, create, alter y drop. Las entradas de este buffer contienen toda la información necesaria para reconstruir los cambios realizados a la base de datos por medio de cualquier sentencia DDL o DML (el bloque que ha sido cambio, la posición de cambio y el nuevo valor). El uso de Redo Log Buffer es estrictamente secuencial, en tal sentido pueden entrelazarse cambios en los bloques de datos producidos por transacciones diferentes. El tamaño de este Buffer también puede ser configurado para mejorar el rendimiento de la instancia y de las aplicaciones que sobre ellas se ejecuten. 22
  • 23. Instituto Profesional DuocUC Escuela de Ingeniería PGA – Program Global Area • Es una área de memoria reservada para cada proceso de usuario que se conecta a una base de datos Oracle • La PGA es asignada cuando un proceso de usuario es asignado y desasignada cuando el proceso termina • A diferencia de la SGA, la PGA es utilizada por solo un proceso 23
  • 24. Instituto Profesional DuocUC Escuela de Ingeniería Estructura de Procesos Programa que dependiente del tipo de información que pueda ser requerida, ejecuta una serie de pasos o ejecuta una tarea específica Oracle toma ventaja de varios tipos de procesos: • User process – Se levantan cuando un usuario inicia una conexión • Server process – Conectados a una instancia Oracle y levantados cuando se establece una sesión • Background process – Disponibles cuando una instancia Oracle es levantada o iniciada 24
  • 25. Instituto Profesional DuocUC Escuela de Ingeniería User Process • Si un usuario requiere información de una base de datos Oracle, primero debe establecer una conexión con el Servidor Oracle • Para establecer la conexión se requiere de una herramienta de interface tal como SQL*PLUS y en ese instante, se levantan los procesos de usuario • Los procesos de usuario no interactúan directamente con el Servidor Oracle 25
  • 26. Instituto Profesional DuocUC Escuela de Ingeniería Server Process • Un proceso servidor es un programa que interactúa directamente con el Servidor Oracle – Genera llamadas y entrega resultados – Puede ser dedicado o compartido • Servidor dedicado significa que atiende a un solo proceso de usuario, cuando el proceso de usuario se desconecta el proceso servidor es terminado • Servidor compartido significa que un proceso servidor puede atender a varios procesos de usuarios 26
  • 27. Instituto Profesional DuocUC Escuela de Ingeniería Background Process La relación entre las estructuras físicas y de memoria son mantenidas y son hechas por procesos Background Oracle • Procesos Obligatorios – SMON = System Monitor – PMON = Process Monitor – DBWn = Database Writer – LGWR = Log Writer – CKPT = Checkpoint • Procesos Opcionales (ARCn, CJQn, Jnnn, Qnnn, QMNn, Pnnn, Dnnn, Snnn, MMAN, MMON, MMNL, RVWR, CTWR, RECO) Procesos Background SMON: Ejecuta la recuperación de una instancia ante una caída, limpieza de estructuras de datos de soporte a la ejecución de consultas y llevar la BD a un estado estable previo a la ejecución de las transacciones que no hayan culminado exitosamente, desfragmentar el espacio físico de almacenamiento uniendo bloques de datos libres en la memoria secundaria. PMON: Limpia las conexiones fallidas de usuarios a la base de datos, efectúa labores de limpieza (libera los recursos y bloques ocupados en los cache) si algún proceso termina prematuramente. DBWn: Escribe los bloques de memoria modificados en la SGA (Database Buffer Cache) a los datafiles en disco. La n en algunos sistemas operativos indica que más de uno de esos procesos puede estar ejecutándose. En esos casos, la n es reemplazada por un valor numérico. Por ejemplo, si están corriendo tres procesos database writer, estos denominados DBW0, DBW1 y DBW3. Cuando una transacción cambia los datos de un bloque de datos, no es necesario que este bloque se escriba inmediatamente en el disco. Normalmente escribe solo cuando se requieren nuevos bloques de datos en el Database Buffer Cache. 27
  • 28. Background Process (continuación) LGWR: Escribe información de la SGA (Redo Log Buffer) a los archivos de redo log en disco, con el propósito de recuperación. La escritura de bloques es secuencial y ocurre si: a) El Redo Log Buffer esta lleno en un 33% o más, b) Cuando ocurre un timeout (3 segundos), c) antes que el DBWn escriba algún bloque modificado a disco y cuando hay un COMMIT CKPT: Actualiza los archivos de la base de datos seguidos de los eventos de checkpoint. Este proceso es opcional, sino existe sus funciones son reemplazadas por el LGWR Procesos opcionales ARCn: Copia información para recuperación escrita por el LGWR a los Red Log Files y a una segunda localización en caso de ser necesario para recuperación. Casi todas las bases de datos de producción usan este proceso opcional, que se configura en el archivo de parámetros de inicialización de la base de datos. CJQn: Asigna jobs a Colas de Procesos de Trabajos (Job Queue) cuando se usa la característica de Job Scheduling Jnnn: Ejecuta jobs de base de datos que han sido esquematizados, cuando se usa la característica de Job Scheduling 28
  • 29. Instituto Profesional DuocUC Escuela de Ingeniería Estructura Lógica La estructura lógica de la arquitectura Oracle se conoce como el espacio físico de una base de datos a ser usada La jerarquía existente en esta estructura consiste de: • Una base de datos Oracle esta agrupada de TABLESPACES • Un tablespace puede contener 1 o mas SEGMENTS • Un segmento esta hecho de EXTENTS • Un extent esta hecho de BLOCKS lógicos • Un block es una pequeña unidad para operaciones de Read y Write Un tablespace físicamente corresponde a un Datafile Detalle sobre la Creación y Administración de Tablespace ser vera en Lecciones posteriores 29
  • 30. Instituto Profesional DuocUC Escuela de Ingeniería Fin de la Lección Jaime Amigo P. © 2006, Santiago - Chile