UNIVERSIDAD   ISRAEL<br />Área Informática<br />CARRERA  SISTEMAS INFORMÁTICOS<br />Modalidad de Estudios a Distancia<br /...
ORACLE<br />Oracle es una base de datos de objetos relacionales escalable y fácil de gestionar.<br />Las siguientes opcion...
Tareas del Administrador de la Base de Datos <br />Los administradores de bases de datos son los responsables de mantener ...
Componentes Principales  de Oracle<br />
Oracle Server: Existen varios archivos, procesos y estructuras de memoria en Oracle Server, cuando se procesa una sentenci...
Base de datos Oracle: Una base de datos está formada por archivos del sistema operativo, también llamados archivos de base...
Establecimiento de una Conexión y Creación de una Sesión <br />Para que los usuarios puedan ejecutar sentencias SQL en una...
Conexión <br />Un usuario de base de datos se puede conectar a Oracle Server de tres formas: <br />• El usuario se conecta...
BASES DE DATOS ORACLE<br />Una base de datos Oracle tiene una estructura lógica y una física. <br />Una base de datos Orac...
Estructura Física <br />La estructura física incluye tres tipos de archivos: <br />• Archivos de control <br />• Archivos ...
Área Global del Sistema <br />El área SGA está formada por varias estructuras de la memoria: <br />– Conjunto Compartido <...
Área Global del Sistema <br />Esta área es dinámica, su tamaño definido por el parámetro SGA_MAX_SIZE, asignada y con segu...
Se utiliza para almacenar: <br />– Las últimas sentencias SQL ejecutadas <br />– Las últimas definiciones de datos utiliza...
Especificación del Tamaño del Diccionario de Datos <br />El tamaño total depende del tamaño del conjunto compartido y lo g...
Redo log buffer - Buffer de RedoLog <br />En este espacio se registra todos los cambios realizados en los bloques de datos...
Copia de Seguridad y Recuperación. <br />RMAN (Oracle Recovery Manager) utiliza el conjunto grande cuando se definen los p...
Contenido del PGA <br />El contenido de la memoria PGA varía en función de si la instancia se ejecuta en una configuración...
Áreas de Trabajo SQL: Utilizadas en operaciones con uso intensivo de la memoria como: Ordenación, Unión de Comprobación Al...
Estructura de Procesos <br />Oracle se beneficia de varios tipos de procesos: <br />• Procesos de usuario: Se inician cuan...
Procesos de Usuario <br />Programa que solicita interacción con Oracle Server, donde se debe establecer primero una conexi...
Una vez que el usuario ha establecido una conexión, se inicia un proceso de servidor para gestionar las solicitudes de los...
DBWn : <br />• Se produce un punto de control <br />• Los buffers sucios alcanzan el umbral <br />• No hay ningún buffer l...
LGWR (Escritura de Logs) <br />LGWR realiza escrituras secuenciales desde el buffer de redo log al archivo redo log en las...
SMON (Monitor del Sistema) <br />Responsabilidades: <br />• Recuperación de instancias <br /><ul><li> Aplica los cambios p...
 Abre la base de datos para que acceda el usuario.
  Deshace las transacciones no validadas. </li></ul>• Fusiona el espacio libre <br />• Libera los segmentos temporales <br />
PMON (Monitor de Procesos) <br />Hace una limpieza cuando los procesos han fallado: <br />• Haciendo un rollback en las tr...
CKPT (Punto de Control)<br />Responsable de: <br />• Señalar a DBWn en los puntos de control <br />• Actualizar las cabece...
ARCn (Archiver) <br />Proceso opcional en segundo plano <br />• Archiva automáticamente archivos redo log online si está d...
Estructura Lógica. <br />Establece el modo de uso del espacio físico de una base de datos respetando la Jerarquía formada ...
Tablespaces <br />Los datos de una base de datos Oracle se almacenan en tablespaces. <br />• Una base de datos Oracle se p...
Archivos de Datos (Estructura No Lógica): <br />Cada tablespace de una base de datos Oracle está formado por uno o más arc...
Upcoming SlideShare
Loading in …5
×

Oracle

4,262 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Oracle

  1. 1. UNIVERSIDAD ISRAEL<br />Área Informática<br />CARRERA SISTEMAS INFORMÁTICOS<br />Modalidad de Estudios a Distancia<br />MED<br />BASES DE DATOS<br />DOCENTE: Ing. Carlos Valladares<br />ESTUDIANTE: Edgar Vinicio solano L.<br />CICLO:Noveno<br />FECHA: 17 de Octubre 2010<br />2011<br />
  2. 2. ORACLE<br />Oracle es una base de datos de objetos relacionales escalable y fácil de gestionar.<br />Las siguientes opciones proporcionan una funcionalidad. <br />Particionamiento: Proporciona utilidades para implementar aplicaciones de gran tamaño y escalables. Permite controlar las tablas y los índices con un nivel de granularidad inferior al que sería posible con la versión básica de Enterprise Edición. <br />Real Application Clusters: Mejora la escalabilidad y disponibilidad de una base de datos, ya que permite que múltiples instancias del software de Oracle accedan a una única base de datos. <br />Paquetes de Oracle Enterprise Manager: Están creados sobre Oracle Enterprise Manager. Los paquetes de Oracle Enterprise Manager Diagnostics, Tuning y Change Management son programas complementarios que proporcionan a los administradores un juego de herramientas para una gestión de cambios, un ajuste, un control y un diagnóstico avanzados de los entornos de Oracle. <br />Seguridad avanzada: Proporciona seguridad de red de servidor a servidor y de cliente a servidor mediante el cifrado y la comprobación de la integridad de datos, y soporta servicios de autenticación de usuario mejorados con servicios de seguridad de terceros. <br />
  3. 3. Tareas del Administrador de la Base de Datos <br />Los administradores de bases de datos son los responsables de mantener Oracle Server con el fin de que pueda procesar las solicitudes de usuario. Es preciso entender la arquitectura de Oracle para mantenerla de forma eficaz. Entre las actividades principales que un DBA tiene a cargo están: <br /><ul><li> Planificar y crear bases de datos </li></ul>• Gestionar la disponibilidad de la base de datos <br />• Gestionar las estructuras físicas y lógicas <br />• Gestionar el almacenamiento basándose en el diseño <br />• Gestionar la seguridad <br />• Administración de la red <br />• Copia de seguridad y recuperación <br />• Ajuste de la base de datos <br />
  4. 4. Componentes Principales de Oracle<br />
  5. 5. Oracle Server: Existen varios archivos, procesos y estructuras de memoria en Oracle Server, cuando se procesa una sentencia SQL no se utilizan todos. Algunos se utilizan para mejorar el rendimiento de la base de datos, asegurar la recuperación de la base de datos si se produce un error de software o de hardware, o realizar otras tareas necesarias para mantener la base de datos. <br />Instancia Oracle: Una instancia Oracle es la combinación de los procesos en segundo plano y las estructuras de memoria. Es necesario iniciar la instancia para acceder a los datos de la base de datos. Cada vez que se inicia una instancia, se asigna un SGA (Área Global del Sistema) y se inician los procesos en segundo plano de Oracle. <br />
  6. 6. Base de datos Oracle: Una base de datos está formada por archivos del sistema operativo, también llamados archivos de base de datos, que proporcionan el almacenamiento físico real para la información de la base de datos. <br />Procesos de usuario y de servidor: Los procesos de usuario y de servidor son los procesos principales implicados en la ejecución de una sentencia SQL. <br />Otros archivos clave: Los archivos que no son de base de datos se utilizan para configurar la instancia, autenticar los usuarios con privilegios y recuperar la base de datos en caso de que se produzca un fallo de disco. <br />
  7. 7. Establecimiento de una Conexión y Creación de una Sesión <br />Para que los usuarios puedan ejecutar sentencias SQL en una base de datos Oracle, se deben conectar a una instancia. <br />• El usuario inicia una herramienta como SQL*Plus, o bien ejecuta una aplicación que se haya desarrollado con una herramienta como Oracle Forms. Esta aplicación se ejecuta como un proceso de usuario. <br />• En la configuración más básica, cuando un usuario se conecta a Oracle Server, se crea un proceso en el equipo que ejecuta Oracle Server. A este proceso se le llama proceso de servidor. El proceso de servidor se comunicará con la instancia Oracle en nombre del proceso de usuario en el cliente. <br />
  8. 8. Conexión <br />Un usuario de base de datos se puede conectar a Oracle Server de tres formas: <br />• El usuario se conecta al sistema operativo ejecutando la instancia Oracle e inicia una aplicación que accede a la base de datos en ese sistema. <br /><ul><li> El usuario inicia la aplicación en un equipo local y se conecta a través de la red al equipo que ejecuta la instancia Oracle. En esta configuración, conocida como cliente-servidor, el software de red se utiliza para establecer la comunicación entre el usuario y Oracle Server. </li></ul>• En una conexión de tres capas, el equipo del usuario se comunica a través de la red con un servidor de aplicaciones o de red, que se conecta a través de una red a la máquina que ejecuta la instancia Oracle. <br />Sesiones <br />Una sesión es una conexión específica de un usuario a Oracle Server. La sesión se inicia cuando Oracle Server valida al usuario, y finaliza cuando el usuario se desconecta o cuando se produce una terminación anormal. Un usuario de base de datos determinado puede realizar muchas sesiones simultáneas si dicho usuario se conecta desde distintas herramientas, al mismo tiempo.. <br />
  9. 9. BASES DE DATOS ORACLE<br />Una base de datos Oracle tiene una estructura lógica y una física. <br />Una base de datos Oracle consta de tres tipos de archivos. <br />• Los archivos de datos que contienen los datos reales de la base de datos <br />• Los archivos redo log que contienen un registro de los cambios efectuados en la base de datos para activar la recuperación de los datos en caso de fallos <br />• Los archivos de control que contienen la información necesaria para mantener y verificar la integridad de la base de datos <br />
  10. 10. Estructura Física <br />La estructura física incluye tres tipos de archivos: <br />• Archivos de control <br />• Archivos de datos <br />• Archivos redo log online <br />Estructura de la memoria <br />La estructura de la memoria de Oracle está formada por dos áreas de memoria llamadas: <br />• SGA (Área Global del Sistema): Asignada al iniciar la instancia y componente fundamental de una instancia Oracle <br />• PGA (Área Global de Programas): Asignada al iniciar el proceso de servidor <br />
  11. 11. Área Global del Sistema <br />El área SGA está formada por varias estructuras de la memoria: <br />– Conjunto Compartido <br />– Caché de Buffers de Base de Datos<br />– Buffer de Redo Log <br />SGA Dinámica <br />A partir de Oracle9i, el área SGA dinámica implementa una infraestructura que permite modificar la configuración del SGA sin cerrar la instancia. Asimismo, esto permite modificar el tamaño de la caché de buffers de base de datos, del conjunto compartido y del conjunto grande sin cerrar la instancia. En principio, se podría subconfigurar la caché de buffers de base de datos y el conjunto compartido, que podrían aumentar y reducirse posteriormente en función de sus respectivas cargas de trabajo, hasta un máximo especificado por SGA_MAX_SIZE. <br />Especificación del Tamaño del SGA <br />El tamaño del área SGA lo determinan varios parámetros de inicialización. <br />DB_CACHE_SIZE: El valor por defecto es de 48 MB para UNIX y 52 MB para NT. <br />LOG_BUFFER: Número de bytes asignados al buffer de redo log <br />SHARED_POOL_SIZE: El valor por defecto es 16 MB. Si se trata de 64 bits, el tamaño por defecto es de 64 MB. <br />LARGE_POOL_SIZE: El valor por defecto es cero <br />JAVA_POOL_SIZE: El valor por defecto es 24 MB. <br />
  12. 12. Área Global del Sistema <br />Esta área es dinámica, su tamaño definido por el parámetro SGA_MAX_SIZE, asignada y con seguimiento en gránulos por componentes del SGA <br />Unidad de Asignación <br />Un gránulo es una unidad de asignación de memoria virtual contigua. El tamaño de un gránulo depende del tamaño del SGA total estimado cuyo cálculo se basa en el valor del parámetro SGA_MAX_SIZE. <br />• 4 MB si el tamaño del SGA estimado es < 128 MB <br />• 16 MB, en caso contrario <br />Shared pool - Conjunto compartido <br />
  13. 13. Se utiliza para almacenar: <br />– Las últimas sentencias SQL ejecutadas <br />– Las últimas definiciones de datos utilizadas<br />Se encuentra formado por dos estructuras de memoria clave relacionadas con el rendimiento: <br />– Caché de Biblioteca <br />– Caché del Diccionario de Datos <br />Library cache - Caché de Biblioteca <br />Permite almacenar información acerca de las sentencias SQL y PL/SQL utilizadas más recientemente, también permite compartir las sentencias utilizadas con mayor frecuencia, esto se lo realiza por medio de un algoritmo LRU <br />Está formado por dos estructuras: <br />– Área de SQL compartido <br />– Área de PL/SQL compartido <br />Data Diccionary cache - Caché del Diccionario de Datos <br />En este espacio de memoria se almacena el conjunto de las definiciones utilizadas más recientemente en la base de datos, dentro de ellas incluye información acerca de archivos de base de datos, tablas, índices, columnas, usuarios, privilegios y otros objetos de base de datos. <br />
  14. 14. Especificación del Tamaño del Diccionario de Datos <br />El tamaño total depende del tamaño del conjunto compartido y lo gestiona de forma interna la base de datos. Si la caché del diccionario de datos es demasiado pequeña, la base de datos tiene que consultar las tablas del diccionario de datos repetidas veces para obtener la información que necesita el servidor. <br />Database buffer cache - Caché de Buffers de Base de Datos. <br />En este espacio de memoria se almacena copias de bloques de datos que se han recuperado de archivos de datos lo que permite grandes mejoras de rendimiento al obtener y actualizar datos. <br />
  15. 15. Redo log buffer - Buffer de RedoLog <br />En este espacio se registra todos los cambios realizados en los bloques de datos de la base de datos, su finalidad principal es la recuperación, los cambios registrados dentro de éste se llaman registros de redo<br />Especificación del Tamaño del Buffer de Redo Log <br />El tamaño del buffer de redo log está definido por el parámetro de inicialización LOG_BUFFER. <br />
  16. 16. Copia de Seguridad y Recuperación. <br />RMAN (Oracle Recovery Manager) utiliza el conjunto grande cuando se definen los parámetros BACKUP_DISK_IO=n y BACKUP_TAPE_IO_SLAVE= TRUE. Si se ha configurado el conjunto grande, pero no tiene el tamaño suficiente, fallará la asignación de la memoria del conjunto grande. RMAN escribe un mensaje de error en el archivo log de alertas y no utiliza esclavos de E/S para copias de seguridad o restauración. <br />Área Global de Programas <br />Esta memoria está reservada para cada proceso de usuario que se conecte a una base de datos Oracle, se asigna cuando se crea un proceso y se libera cuando se termina un proceso, sólo la utiliza un proceso. <br />
  17. 17. Contenido del PGA <br />El contenido de la memoria PGA varía en función de si la instancia se ejecuta en una configuración de servidor dedicado o de servidor compartido. <br />• Área SQL privada: Contiene datos, como información ligada y estructuras de memoria de tiempo de ejecución. El área SQL privada de un cursor se divide en dos áreas: <br />o Área persistente: Contiene información ligada y sólo se libera cuando se cierra el cursor. <br />o Área de tiempo de ejecución: Creada como primer paso de una solicitud de ejecución. <br />Para los comandos INSERT, UPDATE y DELETE, esta área se libera una vez ejecutada la sentencia. En el caso de las consultas, esta área se libera sólo cuando se han recuperado todas las filas o se ha cancelado la consulta. <br /><ul><li>Memoria de Sesión: Consta de memoria asignada para retener las variables de una sesión y otra información relacionada con la sesión. En un entorno de servidor compartido, la memoria de sesión es compartida y no privada.
  18. 18. Áreas de Trabajo SQL: Utilizadas en operaciones con uso intensivo de la memoria como: Ordenación, Unión de Comprobación Aleatoria, Fusión de Bitmaps y Creación de Bitmaps. </li></li></ul><li>Diferencias en la Asignación de Memoria entre Servidores Dedicados y Servidores Compartidos <br />El contenido de la memoria PGA varía en función de si la instancia se ejecuta en una configuración de servidor dedicado o de servidor compartido. Por regla general, la memoria PGA incluye los siguientes componentes: <br />
  19. 19. Estructura de Procesos <br />Oracle se beneficia de varios tipos de procesos: <br />• Procesos de usuario: Se inician cuando un usuario de base de datos solicita una conexión a Oracle Server <br />• Procesos de servidor: Se conectan a la instancia Oracle y se inician cuando un usuario establece una sesión. <br />• Procesos en segundo plano: Se inician al iniciar una instancia Oracle <br />
  20. 20. Procesos de Usuario <br />Programa que solicita interacción con Oracle Server, donde se debe establecer primero una conexión y que no interactúa directamente con Oracle Server. <br />Procesos de Servidor <br />Son Programas que interactúan directamente con Oracle Server, que cumplen las llamadas generadas y devuelven resultados<br />
  21. 21. Una vez que el usuario ha establecido una conexión, se inicia un proceso de servidor para gestionar las solicitudes de los procesos de usuario. Un proceso de servidor puede ser de dos tipos: un proceso de servidor dedicado o un proceso de servidor compartido. En un entorno de <br />Servidor dedicado, el proceso de servidor gestiona la solicitud de un único proceso de usuario. <br />Una vez que el proceso de usuario se desconecta, el proceso de servidor termina. En un entorno de servidor compartido, el proceso de servidor gestiona la solicitud de varios procesos de usuario. <br />DBWn (Escritor de Base de Datos) <br />
  22. 22. DBWn : <br />• Se produce un punto de control <br />• Los buffers sucios alcanzan el umbral <br />• No hay ningún buffer libre <br />• Se produce un timeout<br />• Se realiza un solicitud de sondeo RAC <br />• Tablespace OFFLINE <br />• Tablespace READ ONLY <br />• Tabla DROP o TRUNCATE <br />• Tablespace BEGIN BACKUP <br />DBWn aplaza la escritura en los archivos de datos hasta que se produce uno de los siguientes eventos: <br />• Punto de control normal o incremental. <br />• El número de buffers sucios alcanza un valor umbral. <br />• Se produce un timeout. <br />• Se produce una solicitud de sondeo en un entorno RAC (Real ApplicationClusters). <br />• Se coloca un tablespace normal o temporal offline <br />• Se coloca un tablespace en modo de sólo lectura <br />• Borrado o truncamiento de una tabla <br />• ALTER TABLESPACE nombre del tablespace BEGIN BACKUP <br />
  23. 23. LGWR (Escritura de Logs) <br />LGWR realiza escrituras secuenciales desde el buffer de redo log al archivo redo log en las siguientes situaciones: <br />• Cuando se valida una transacción. <br />• Cuando existe más de un megabyte de cambios en el buffer de redo log. <br />• Antes de que DBWn escriba los bloques modificados de la caché de buffers de base de datos en los archivos de datos. <br />• Cada tres segundos. <br />
  24. 24. SMON (Monitor del Sistema) <br />Responsabilidades: <br />• Recuperación de instancias <br /><ul><li> Aplica los cambios pendientes en los archivos redo log online.
  25. 25. Abre la base de datos para que acceda el usuario.
  26. 26. Deshace las transacciones no validadas. </li></ul>• Fusiona el espacio libre <br />• Libera los segmentos temporales <br />
  27. 27. PMON (Monitor de Procesos) <br />Hace una limpieza cuando los procesos han fallado: <br />• Haciendo un rollback en las transacciones <br />• Liberando los bloqueos <br />• Liberando otros recursos <br />• Reiniciando distribuidores interrumpidos <br />El proceso PMON realiza una limpieza después de los procesos fallidos<br />• Realizando rollback en la transacción actual del usuario <br />• Liberando todos los bloqueos de tablas o filas actuales <br />• Liberando otros recursos que están reservados en ese momento por el usuario <br />• Reiniciando distribuidores interrumpidos <br />
  28. 28. CKPT (Punto de Control)<br />Responsable de: <br />• Señalar a DBWn en los puntos de control <br />• Actualizar las cabeceras de archivos de datos con información del punto de control <br />• Actualizar los archivos de control con información del punto de control <br />Cada tres segundos, el proceso CKPT almacena datos en el archivo de control para identificar el punto del archivo redo log online en el que se debe iniciar la recuperación, que se llama punto de control. El objetivo de un punto de control es garantizar que todos los buffers de la caché de buffers de base de datos que se han modificado antes de un punto en el tiempo se hayan escrito en los archivos de datos. <br />
  29. 29. ARCn (Archiver) <br />Proceso opcional en segundo plano <br />• Archiva automáticamente archivos redo log online si está definido el modo ARCHIVELOG <br />• Protege el registro contra todos los cambios realizados en la base de datos <br />ARCn es un proceso en segundo plano opcional, no obstante, es crucial para recuperar una base de datos después de la pérdida de un disco. Cuando se llena un archivo redo log online, Oracle Server comienza a escribir en el siguiente. El proceso de cambio de un archivo redo log online a otro se llama cambio de log <br />
  30. 30. Estructura Lógica. <br />Establece el modo de uso del espacio físico de una base de datos respetando la Jerarquía formada por tablespaces, segmentos, extensiones y bloques <br />Existe la siguiente jerarquía de estructuras lógicas: <br />• Una base de datos Oracle contiene como mínimo un tablespace. <br />• Un tablespace contiene uno o más segmentos. <br />• Cada segmento está formado por extensiones. <br />• Una extensión está formada por bloques lógicos. <br />• Un bloque es la unidad más pequeña para las operaciones de lectura y escritura. <br />
  31. 31. Tablespaces <br />Los datos de una base de datos Oracle se almacenan en tablespaces. <br />• Una base de datos Oracle se puede agrupar de forma lógica en áreas lógicas más pequeñas de espacio conocidas como tablespaces. <br />• Un tablespace sólo puede pertenecer a una base de datos a la vez. <br />• Cada tablespace está formado por uno o más archivos del sistema operativo, que reciben el nombre de archivos de datos. <br />• Un tablespace puede tener uno o más segmentos. <br />• Los tablespaces se pueden poner en línea mientras se está ejecutando la base de datos. <br />• Excepto en el caso del tablespace SYSTEM o un tablespace con un segmento de deshacer activo.<br />• Los tablespaces pueden cambiar entre un estado de lectura y escritura y de sólo lectura. <br />
  32. 32. Archivos de Datos (Estructura No Lógica): <br />Cada tablespace de una base de datos Oracle está formado por uno o más archivos llamados archivos de datos. <br />• Un archivo de datos sólo puede pertenecer a un tablespace. <br />• Oracle Server crea un archivo de datos para un tablespace asignando la cantidad especificada de espacio en disco más una pequeña cantidad de sobrecarga. <br />• El administrador de la base de datos puede cambiar el tamaño de un archivo de datos una vez creado, o bien puede especificar que un archivo debería aumentar dinámicamente a medida que aumentan los objetos en el tablespace. <br />
  33. 33. SEGMENTOS <br />• Un segmento es el espacio asignado a una estructura de almacenamiento lógica específica dentro de un tablespace. <br />• Un tablespace puede estar formado por uno o más segmentos. <br />• Un segmento no puede abarcar tablespaces; sin embargo, un segmento puede abarcar múltiples archivos de datos que pertenezcan al mismo tablespace. <br />• Cada segmento está formado por una o más extensiones. <br />Extensiones <br />El espacio se asigna a un segmento mediante extensiones. <br />• Una o más extensiones componen un segmento. <br /><ul><li> Cuando se crea un segmento, éste está formado, como mínimo, por una extensión.
  34. 34. A medida que el segmento va creciendo, se le agregan extensiones.
  35. 35. El DBA puede agregar extensiones a un segmento manualmente. </li></ul>• Una extensión es un juego de bloques Oracle contiguos. <br />• Una extensión no puede abarcar archivos de datos y, por tanto, debe existir en un archivo de datos. <br />
  36. 36. Bloques de Datos <br />Oracle Server gestiona el espacio de almacenamiento de los archivos de datos en unidades llamadas bloques Oracle o bloques de datos. <br />• Los bloques de datos Oracle son las unidades de almacenamiento más pequeñas que Oracle Server puede asignar, leer o escribir. <br />• Un bloque de datos se corresponde con uno o más bloques del sistema operativo asignados desde un archivo de datos existente. <br />• El tamaño de bloque de datos estándar de cada base de datos Oracle lo especifica el parámetro de inicialización DB_BLOCK_SIZE cuando se crea la base de datos. <br />• El tamaño del bloque de datos debería ser múltiplo del tamaño del bloque del sistema operativo para evitar operaciones de E/S innecesarias. <br />• El tamaño máximo del bloque de datos depende del sistema operativo. <br />

×