Conozca la estructura del gestor mas potente del mercado.
Arquitectura de Oracle Database 11g, descripcion conceptual, utilizacion de la memoria, procesos especificos.
TEST DE RAVEN es un test conocido para la personalidad.pdf
Introduccion a la Arquitectura de Oracle. Z052 02
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
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.