Introduccion a la Arquitectura de Oracle. Z052 02

  • 6,649 views
Uploaded on

Conozca la estructura del gestor mas potente del mercado. …

Conozca la estructura del gestor mas potente del mercado.
Arquitectura de Oracle Database 11g, descripcion conceptual, utilizacion de la memoria, procesos especificos.

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,649
On Slideshare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
347
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Oracle Database 11g
    > Administration I
    ExploringtheDatabaseArchitecture
    Explorando la arquitectura de la base de Datos
    IZ0-052
    Ernesto Alexander Calderón Peraza
    http://BasesDeDatosUES.Blogspot.com
    2
  • 2. Oracle Database Server
    Consiste en dos elementos
    LA INSTANCIA
    Son estructuras de memoria y procesos
    LA BASE DE DATOS
    Son archivos en el disco
    La instancia puede ser iniciada y detenida, la base de datos persiste indefinidamente
    Los procesos de la instancia se conocen como backgroundprocess
  • 3. Arquitectura de Simple Instancia
    La memoria es implementada por segmentos compartidos del sistema operativo, a ella se le conoce como SGA System Global Area.
    Se reserva cuando la instancia inicia, y se libera cuando se apaga.
    Asociados con cada proceso de servidor esta un area no compartida de memoria llamada PGA program global area
    Los procesos de servidor se denominan Foregroundprocess, los procesos de instancia se denominan backgroundprocess
  • 4. SGA
    PGA
    BackgroundProcess
    ForegroundProcess
  • 5. La estructura física que conforma una Base de Datos son los archivos de datos, el online redo log y el controlfile
    Redo Log es un registro secuencial de todos los cambios aplicados a los datos
    ControlFile almacena el detalle de la estructura fisica de la base de datos y el punto de inicio para enlazar la estructura fisica
    La relacion entre estructura fisica y logica es mantenida y documentada por el diccionario de datos, que contiene los metadatos que describen la base de datos
  • 6. Arquitectura de instancia Simple
    El proceso de usuario interactúa con un proceso de servidor
    Es absolutamente imposible para procesos del lado del CLIENTE tener cualquier contacto con la Base de datos de forma directa, ellos utilizan procesos del lado de SERVIDOR para realizarlo.
    Usuariointeractura con procesos de usuario
    Un proceso de servidor interactúa con la instancia
    La instancia interactúa con la base de datos
  • 7. Arquitectura de sistemas Distribuidos
    Real ApplicationClusters RAC.
    Multiples instancias abren una base de datos
    Streams
    Multiples Oracle Server propagan transacciones entre ellos
    Data Guard
    Una base primaria actualiza una base estatica.
  • 8. Real ApplicationClusters RAC
    Provee capacidad para rendimiento, tolerancia de fallos y escalabilidad.
    Implementa el concepto de GRID
    Transparencia de escalabilidad viene de la habilidad de agregar instancias, corriendo sobre diferentes maquinas
  • 9. Streams
    Razones para transferir datos de una base de datos a otra
    Tolerancia de fallos
    Tuning, la sincronización se vuelve automática.
    DataWareHouse
    Stream permite capturar cambios realizados a tablas y aplicarlos a una copia remota de las tablas.
    Streams es bidireccional
    Streams propaga cambios entre las dos bases de datos sincronizándolas
  • 10. Data Guard
    Define una base de datos primaria y una o varias bases estaticas.
    La Standby es creada a partir de un backup de la primaria.
    Tipos de Standbys
    Fisicos
    Logicos
  • 11. StandbyFisico
    Es identico al primaria byte por byte
    Si se destruye el Primario, todos los datos se encuentran en el Standby
    El vector de cambios aplicado al PRIMARY se propaga al STANDBY en forma de REDO record y aplicados como una restauración de backup
  • 12. StandbyLogico
    Contiene los mismos datos que el servidor PRIMARIO, pero en una estructura de datos distinta.
    Los vectores de cambio son propagados en forma de sentencias SQL usando el mecanismo de Streams
  • 13. Ejercicio
    Determinando si nuestra base de datos es una instancia simple o forma parte de un sistema distribuido.
    Conectese a la base como SYSTEM
    SELECT parallelfromv$instance;
    Devuelve NO si es una single Instancia
    Selectprotection_levelfromv$database;
    Devuelve UNPROTECTED si la base de datos no esta portegida
    SELECT * fromdba_streams_administrator;
    Si no devuelve tuplas STREAMS no ha sido configurado
  • 14. Estructura de la memoria
    SGA contiene
    Database Buffer cache
    Log Buffer
    Shared Pool
    Large Pool (opcional)
    Java Pool (opcional)
    Stream Pool (opcional
    PGA
    Utilizada para las sesiones de usuario, las cuales necesitan memoria del lado del servidor.
  • 15. Database Buffer Cache
    Es el área de trabajo de Oracle para la ejecución de SQL
    Las actualizaciones hechas por los usuarios NO son aplicadas directamente al disco. Se aplican primero al database buffer cache.
    BLOQUE: los archivos de datos son formateados en bloques, las tuplas y otros objetos son almacenados en estos bloques.
    Todos los bloques contienen datos que son frecuentemente accedidos y se encuentran en el database buffer cache, ello minimiza el uso de disco para I/O
  • 16. QUE OCURRE??
    Selectlast_name, salary, job_idfromemployeeswhereemployee_id=100;
    Updateemployees set salary= salary*1.1 whereemployee_id=100;
    Commit;
  • 17. Que ocurre
    El proceso de servidor para la sesion lee el bloque que contiene las tuplas desde el archivo fisico hacia el buffer.
    Cuando se ejecuta el commit se envia al server process la orden de ejecucion.
    El bloque con la tupla esta disponible en el buffer para ejecutar el update.
    Posteriormente la informacion del buffer se enviara al disco.
  • 18. Database buffer cache
    El encargado de escribir los bloques del buffer hacia el disco es un backgroundprocess
    El tamano del database buffer cache es critico para el rendimiento
    El tamano del database buffer cache puede ser ajustado dinamicamente y puede ser administrado de forma automatica.
  • 19. Log Buffer
    Es un especio pequeño que almacena los vectores de actualización temporalmente antes de ser escritos en el online REDO LOG en disco.
    Redo Log es el mecanismo con el cual se garantiza que nunca se perderan datos.
    LGWR es el encargado de escribir los log y es un backgroundprocess
  • 20. Como se garantiza una transacción
    Los bloques de datos ubicados en el cache ya reflejan los cambios.
    El vector de cambios ha sido escrito al online Redo Log en el disco.
  • 21. Shared Pool
    Cache de Biblioteca
    Cache de Diccionario de Datos
    PL/SQL Area
    Cache de resultados de consultas SQL y PL/SQL
    Su tamaño es dinámico y puede ser automáticamente administrado
  • 22. Cache de Biblioteca
    Library Cache
    Es una memoria para almacenar código recientemente ejecutado, el cual esta en forma convertida (parsed), lo que facilita su ejecucion cuando es nuevamente invocada
    Select * fromemployeeswherelast_name=‘King’;
    Que es employees, una vista, tabla??
    Que campos son??
    De tipo son los campos??
  • 23. Cache de Diccionario de Datos
    Almacena definiciones de objetos recientemente utilizados
    Almacena definiciones de objetos cuando las instrucciones han sido ejecutadas (parsed)
  • 24. Area de PL/SQL
    Almacena objetos PL/SQL como funciones, trigger, etc.
    La primera vez que un objeto PL/SQL es usado debe ser leido desde el diccionario de datos.
    Luego de la ejecucion su invocacionsera mas rapida pues estara disponible dentro del Shared Pool
  • 25. Dimensionando el Shared Pool
    Es vital para el rendimiento, ni muy grande ni muy pequeno impacta de forma negativa el rendimiento
    La memoria del Shared Pool es asignada por el LRU LeastRecentlyUsedAlgorithm
  • 26. Large Pool
    Es opcional
    Puede ser usado de forma automatica por varios procesos que toman memoria del shared pool
    Se usa normalmente para compartir procesos de servidor, para ejecucion en paralelo
  • 27. Java Pool
    Se utiliza únicamente si deseamos colocar código de JAVA dentro de nuestro servidor
    Es posible colocar Enterprise JavaBeans
  • 28. Streams Pool
    Mecanismo utilizado por Streams para extraer vectores de cambio desde el online REDO LOG formar la reconstruccion de las consultas que seran ejecutadas.
  • 29. Verificar el uso de memoria
    Conectese como SYSTEM
    Select COMPONENT, CURRENT_SIZE, MIN_SIZE, MAX_SIZE fromv$sga_dynamic_components;
  • 30. Procesos
    En Unix los procesos son separados por el sistema operativo, en Windows todos aparecen como un proceso denominado ORACLE.EXE
    SMON System Monitor
    Tiene la tarea de montar y abrir la base de datos.
    Luego se encarga de tareas domesticas como la paginacion de espacio libre en datafiles
  • 31. Procesos
    PMON Process Monitor
    una sesion de usuario es un procesos que se conecta a un proceso de servidor
    Si una sesion termina anormalmente PMON destruye el proceso de servidor, devuelve la memoria usada y hace ROLLBACK a las transacciones pendientes
  • 32. Procesos
    DBWnDatabaseWriter
    Encargado de escribir de los buffer de Database a los archivos en disco.
    Cada proceso es llamado DBW0, DBW1… uno por cada CPU
    La lectura I/O es mala para el rendimiento.
    DBW selecciona los DIRTY BUFFERS y los escribe en el disco, elije aquellos que no han sido recientemente utilizados.
    Dirty Buffers:
    contienen información que ha sido modificada pero que todavía no se escribe en disco
  • 33. Que ocaciona que DBWn escriba?
    Que no exista buffer disponible
    Que hayan muchos Dirty Buffer
    Una espera de 3 segundos
    Un CheckPoint
    Este obliga a que todos los dirty buffer sean escritos
    Ocurren siempre que se apaga la base de datos
  • 34. Procesos
    LGWR Log Writer
    Escribe el contenido del LOG buffer para los archivos de log en el disco
    Antes de aplicar cambios encontrados en el database buffer, el vector de cambios se aplica al log buffer
    Cuando el LGWR escribe el log buffer en disco
    cuando una sesion hace un commit
    Si el log buffer llega a un tercio de su capacidad
    Cuando se escriben Dirty Buffers
  • 35. CKPT checkpointprocess
    Checkpoint son necesarios para evitar que la instancia falle, y si lo hace recuperar la base de datos rapidamente.
    MMON Manageability Monitor
    Brinda capacidad para monitoreo y ajuste de la Base de datos
    Captura estadisticas desde el SGA y las escribe en el diccionario
    Monitorea la base de datos y la instancia chequeandolas por cualquier alerta.
  • 36. MMAN memory manager
    Encargado de la administración automática de la memoria
    Monitoriea la demanda de la memoria SGA y pude redimensionarla si es necesario
    ARC el Archivador
    Opcional. Para preservar el historial de todos los cambios aplicados a los datos.
    Se encarga de garantizar la disponibilidad y exactitud de los archivos Online Redo log files
  • 37. RECO Recovererprocess
    Una transacción distribuida involucra actualización de dos o mas bases de datos.
    Updateemployees set salary= salary*1.1 whereemployee_id=1000;
    Updateemployees@dev set salary=salary*1.1 whereemployee_id=1000;
    Commit;
    En la aplicación cada LGWR flush el log buffer hacia el disco y confirman la transaccion, si ocurre un problema RECO cancela la transaccion y hace Rollback en las dos bases de datos
  • 38. Estructura Fisica
    CONTROLFILE
    ONLINE REDO LOG
    DATAFILES
    Archivos externos
    Archivo de parametros de inicializacion
    Archivo de password
    Archivo Redo log
    Alert Log y Trace Files
  • 39. Controlfile
    Es un puntero para la base de datos, la ubicación del online redo log y de los archivos de datos.
    Almacena informacion requerida para mantener la integridad de la base de datos (secuencias criticas y timestamps)
    Mide algunos megas de tamano pero es indispensable
  • 40. Online Redo Log File
    Almacena una bitácora de cada vector de cambio aplicado a la base de datos.
    Consiste de grupos de online redo log files, cada archivo se conoce como un miembro.
    Los cambios son escritos al actual online redo log file por LGWR
    El tamano para un grupo es de 50mb
  • 41. Data Files
    Uno para el tablespace SYSTEM y otro para SYSAUX
    Son el repositorio fisico para los datos
    Un segmento es una estructura de almacenamiento de datos.
    Desde el sistema operativo, es un grupo de sistemas de bloque, cada uno numerado consecutivamente.
    El tamano varia desde 2kb hasta 4kb
  • 42. La Estructura Lógica
    Oracle utiliza el temino de segmento para describir cualquier estructura que contiene datos (tablas, tuplas, indices, etc)
    Un TableSpace es una colección logica de uno o mas segmentos, y fisicamente una colección de uno o mas datafiles.
    Una tabla puede contenerse en varios datafiles, y un datafile puede contener bits de muchas tablas.
  • 43. Diccionario de Datos
    Son los metadatos. Describe la base de datos tanto física como lógicamente.
    Se almacena con conjuntos de segmentos dentro de los tablespace SYSTEM y SYSAUX
    Para consultar el diccionario existen vistas, con el prefijo: DBA_, ALL_, USER_, etc.
  • 44. ejercicio
    Createtable tab24(c1 varchar2(10));
    Selecttablespace_name, extent_id, bytes, file_id, block_idfromdba_extentswhereowner=‘SYSTEM’ and segment_name=‘TAB24’ ;