Administracion de Base de Datos Oracle

26,998 views

Published on

Primera tarea de BDD

Published in: Education

Administracion de Base de Datos Oracle

  1. 1. Universidad Tecnológica Israel<br />Facultad de Ingeniería en Sistemas<br />Administración de base de datos<br />SINED<br />9no Nivel<br />Magdalena Chicaiza Acosta<br />
  2. 2. Contenido<br />Introducción <br />Tareas del Administrador de la Base de Datos <br />Componentes Principales <br />Establecimiento de una Conexión y Creación de una Sesión <br />Base de Datos Oracle. <br />Estructura Física. <br />Estructura Lógica. <br />
  3. 3. INTRODUCCIONORACLE.- Es una base de datos de objetos relacionales escalable y fácil de gestionar .<br />Particionamiento : Permite controlar las tablas y los índices con un nivel de granularidad inferior <br />Real ApplicationClusters: permite que múltiples instancias del software de Oracle accedan a una única base de datos .<br />Paquetes de Oracle Enterprise Manager: son 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 mediante el cifrado y la comprobación de la integridad de datos <br />y soporta servicios de autenticación de usuario mejorados con servicios de seguridad de terceros. <br />
  4. 4. TAREAS DEL ADMINISTRADOR DE BDDUn DBA es el responsable de mantener el Oracle Server operativo ante las peticiones de los usuarios.<br />Entre sus principales tareas esta:<br />Planificar y crear bases de datos <br />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 />
  5. 5. COMPOPNENTES PRINCIPALES<br /> Instancia Oracle es la combinación de los procesos en segundo plano y las estructuras de memoria. <br />Los procesos de usuario y de servidor son los procesos principales implicados en la ejecución de una sentencia SQL. <br />Base de datos Oracle: Una base de datos Oracle está formada por archivos del sistema operativo que se utilizan para asegurar la consistencia de los datos, así como su recuperación en caso de que se produzca un fallo de la instancia. <br />
  6. 6. ESTABLECIMIENTO DE UNA CONEXIÓN Y CREACIÓN DE UNA SESIÓN <br />El usuario inicia una herramienta como SQL*Plus , se crea un proceso en el equipo que ejecuta Oracle Server. <br />El proceso de servidor ejecuta las sentencias SQL en nombre del usuario. <br /> El proceso de servidor se comunicará con la instancia Oracle en nombre del proceso de usuario en el cliente. <br />
  7. 7. ESTABLECIMIENTO DE UNA CONEXIÓN Y CREACIÓN DE UNA SESIÓN <br />Conexión .- es la ruta de comunicación entre un proceso de usuario y Oracle Server. Existen tres formas: <br />El usuario se conecta al sistema operativo ejecutando la instancia Oracle donde la conexión se establece mediante los mecanismos de comunicación entre procesos disponibles en el sistema operativo del host. <br />El usuario inicia la aplicación o la herramienta en un equipo local, aquí el software de red se utiliza para establecer la comunicación entre el usuario y Oracle Server. (Cliente - Servidor)<br />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.- 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 <br />
  8. 8. BASE DE DATOS ORACLE<br /> El objetivo general de una base de datos es el de almacenar y recuperar la información relacionada. Una base de datos Oracle tiene una estructura lógica y una física. 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 />
  9. 9. BASE DE DATOS ORACLE<br />Otras Estructuras de Archivos Clave <br /> Oracle Server también utiliza otros archivos que no forman parte de la base de datos: <br />El archivo de parámetros define las características de una instancia Oracle. Por ejemplo, contiene los parámetros que especifican el tamaño de las estructuras de la memoria en el SGA. <br />El archivo de contraseñas autentica los usuarios con privilegios para iniciar y cerrar una instancia Oracle. <br />Los archivos redo log archivados son copias offline de los archivos redo log online que pueden ser necesarios para recuperarse de los fallos del medio físico. <br />
  10. 10. ESTRUCTURA FISICA<br /> La estructura física incluye tres tipos de archivos de control, de datos y 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. ESTRUCTURA FISICA<br />Área global del sistema.- Se utiliza para almacenar información de base de datos que comparten los procesos de base de datos. <br /> El área SGA está formada por varias estructuras de la memoria: <br />– Conjunto Compartido (Sharedpool )<br />– Caché de Buffers de Base de Datos<br />– Buffer de Redo Log <br />– Otras estructuras (por ejemplo, gestión de bloqueos y bloqueos internos, datos estadísticos) <br />
  12. 12. ESTRUCTURA FISICA<br />Conjunto Compartido.- Se utiliza para almacenar las últimas sentencias SQL ejecutadas y las últimas definiciones de datos utilizadas y esta formado por el Caché de Biblioteca y el Caché del Diccionario de Datos. <br /> La asignación de memoria del conjunto compartido se determina por el parámetro de inicialización SHARED_POOL_SIZE. El tamaño se puede cambiar de forma dinámica mediante ALTER SYSTEM SET. <br /> Caché de Biblioteca .- Permite almacenar información acerca de las sentencias SQL y PL/SQL utilizadas más recientemente. Esta formado por el Área de SQL compartido (Almacena y comparte el plan de ejecución y el árbol de análisis para las sentencias SQL que se ejecutan en la base de datos) y el Área de PL/SQL compartido (Almacena y comparte las sentencias PL/SQL ejecutadas más recientemente).<br /> La memoria se asigna al analizar una sentencia o al llamar a una unidad de programa. <br />Caché del Diccionario de Datos.- En este espacio de memoria se almacena el conjunto de las definiciones utilizadas más recientemente en la base de datos, <br /> El tamaño total depende del tamaño del conjunto compartido y lo gestiona de forma interna la base de datos.<br />
  13. 13. ESTRUCTURA FISICA<br />Caché de Buffers de Base de Datos.- En este espacio de memoria se almacena copias de bloques de datos que se han recuperado de archivos de datos. <br />Cuando se procesa una consulta, el proceso de Oracle Server busca en la caché de buffers de base de datos los bloques que necesita. Oracle Server utiliza un algoritmo LRU para los buffers obsoletos a los que no se ha accedido recientemente con el fin de dejar sitio a los nuevos bloques en la caché de buffers de base de datos. Está formado por subcachés independientes: DB_CACHE_SIZE, DB_KEEP_CACHE<br />_SIZE, DB_RECYCLE_CACHE_SIZE. <br />El tamaño de cada buffer de la caché de buffers de base de datos equivale al tamaño de un bloque Oracle, y lo especifica el parámetro DB_BLOCK_SIZE. <br />
  14. 14. ESTRUCTURA FISICA<br />Los Valores del Parámetro DB_CACHE_ADVICE <br />OFF: El asesor está desactivado y no se le asigna memoria. <br />ON: El asesor está activado y se produce una sobrecarga tanto de CPU como de memoria. <br /> La función Asesor de Caché de Buffers activa y desactiva la recopilación de estadísticas para predecir el comportamiento de los distintos tamaños de caché.<br />Buffer de Redo Log.- 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, los registros de redo contienen información que permite reconstruir o rehacer cambios, el tamaño está definido por LOG_BUFFER. El tamaño del buffer de redo log está definido por el parámetro de inicialización LOG_BUFFER. <br />
  15. 15. ESTRUCTURA FISICA<br />Conjunto Grande.- Es un área opcional de memoria en el SGA que permite liberar al conjunto compartido de su carga, se utiliza para: <br />Memoria de sesión (UGA) para el servidor compartido <br />Procesos de servidor de E/S <br />Operaciones de copia de seguridad y recuperación o RMAN <br />Buffers de mensajes de ejecución en paralelo: PARALLEL_AUTOMATIC_TUNING se define como TRUE <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. <br /> El tamaño del conjunto grande se especifica en bytes definidos por el parámetro LARGE_POOL_SIZE. <br />
  16. 16. ESTRUCTURA FISICA<br />SGA Dinámica.- A partir de Oracle9i, el área SGA dinámica implementa una infraestructura que permite modificar la configuración del SGA sin cerrar la instancia. El tamaño del área SGA lo determinan varios parámetros de inicialización estos son: DB_CACHE_SIZE (Tamaño de la caché de bloques estándar), LOG_BUFFER (Número de bytes asignados al buffer de redo log) , SHARED_POOL_SIZE (Tamaño en bytes del área dedicada a SQL compartido y a PL/SQL), LARGE_POOL_SIZE (Tamaño del conjunto grande), JAVA_POOL_SIZE(Tamaño del conjunto Java).<br /> Conjunto Java.- Requisitos de análisis de servicios para comandos Java, es necesario si se instala y se utiliza Java, su tamaño está definido por el parámetro JAVA_POOL_SIZE. <br />
  17. 17. ESTRUCTURA FISICA<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 /> 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. <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.
  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>ESTRUCTURA FISICA<br />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 FISICA<br /> 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. ESTRUCTURA FISICA<br />DBWn (Escritor de Base de Datos) <br />DBWn escribe así: <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 /><ul><li>Punto de control normal o incremental.
  21. 21. El número de buffers sucios alcanza un valor umbral.
  22. 22. Un proceso explora un número determinado de bloques cuando realiza una exploración en busca de buffers libres y no puede encontrar ninguno.
  23. 23. Se produce un timeout.
  24. 24. Se produce una solicitud de sondeo en un entorno RAC (Real ApplicationClusters).
  25. 25. Se coloca un tablespace normal o temporal offline
  26. 26. Se coloca un tablespace en modo de sólo lectura
  27. 27. Borrado o truncamiento de una tabla
  28. 28. ALTER TABLESPACE nombre del tablespace BEGIN BACKUP </li></li></ul><li>ESTRUCTURA FISICA<br />LGWR (Escritura de Logs) <br />LGWR escribe: <br />En la validación <br />Si se llena a un tercio de su capacidad <br />Si hay 1 MB de redo <br />Cada tres segundos <br />Antes de que escriba DBWn<br />LGWR realiza escrituras secuenciales desde el buffer de redo log al archivo redo log en las siguientes situaciones: <br /><ul><li>Cuando se valida una transacción.
  29. 29. Cuando el buffer de redo log se encuentra a un tercio de su capacidad.
  30. 30. Cuando existe más de un megabyte de cambios en el buffer de redo log.
  31. 31. Antes de que DBWn escriba los bloques modificados de la caché de buffers de base de datos en los archivos de datos.
  32. 32. Cada tres segundos. </li></li></ul><li>ESTRUCTURA FISICA<br />SMON (Monitor del Sistema).- <br />se ocupa de: <br />Recuperación de instancias <br />Aplica los cambios pendientes en los <br /> archivos redo log online. <br />Abre la base de datos para que <br /> acceda el usuario. <br />Deshace las transacciones no validadas. <br />Fusiona el espacio libre <br />Libera los segmentos temporales <br /> La recuperación de la instancia consta de los siguientes pasos: <br />Se aplican transacciones pendientes para recuperar los datos que no se hayan registrado en los archivos de datos, <br />Se abre la base de datos para que los usuarios se puedan conectar. <br />Se hace un rollback en las transacciones no validadas. <br />
  33. 33. ESTRUCTURA FISICA<br /> PMON (Monitor de Procesos) <br />Hace una limpieza cuando los <br />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 en segundo plano PMON realiza una limpieza después de los procesos fallidos de la siguiente forma: <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 />
  34. 34. ESTRUCTURA FISICA<br />CKPT (Punto de Control).- Responsable de: <br />Señalar a DBWn en los puntos de control <br />Actualizar las cabeceras de archivos <br /> de datos con información del punto de control <br />Actualizar los archivos de control con <br /> información del punto de control <br />Los puntos de control se inician por los siguientes motivos: <br />Para garantizar que los bloques de datos modificados en la memoria se escriben en el disco con frecuencia, de forma que no se pierdan en caso de que se produzca el fallo de un sistema o de una base de datos. <br />Para reducir el tiempo necesario de recuperación de una instancia. Para la recuperación, sólo es necesario procesar las entradas del archivo redo log online posteriores al último punto de control. <br />Para garantizar que todos los datos validados se han escrito en los archivos de datos durante el cierre. <br />
  35. 35. ESTRUCTURA FISICA<br />CKPT (Punto de Control).- Responsable de: <br />Señalar a DBWn en los puntos de control <br />Actualizar las cabeceras de archivos <br /> de datos con información del punto de control <br />Actualizar los archivos de control con <br /> información del punto de control <br />Los puntos de control se inician por los siguientes motivos: <br />Para garantizar que los bloques de datos modificados en la memoria se escriben en el disco con frecuencia, de forma que no se pierdan en caso de que se produzca el fallo de un sistema o de una base de datos. <br />Para reducir el tiempo necesario de recuperación de una instancia. Para la recuperación, sólo es necesario procesar las entradas del archivo redo log online posteriores al último punto de control. <br />Para garantizar que todos los datos validados se han escrito en los archivos de datos durante el cierre. <br />
  36. 36. ESTRUCTURA FISICA<br />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 />Archivado de los Archivos Redo Log Online.- Una de las decisiones importantes que debe tomar un DBA es si debe configurar la base de datos para que funcione en modo ARCHIVELOGo en modo NOARCHIVELOG. <br />Modo NOARCHIVELOG.- En este modo, los archivos redo log online se sobrescriben cada vez que se produce un cambio de log. <br />Modo ARCHIVELOG.- En caso de que la base de datos se configure para que se ejecute en modo ARCHIVELOG, será necesario archivar los grupos inactivos de archivos redo log online llenos antes de que se puedan volver a utilizar de nuevo. <br />
  37. 37. ESTRUCTURA LOGICA<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. 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 />
  38. 38. ESTRUCTURA LOGICA<br />Tablespaces.- 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 tablespaceSYSTEMo un tablespace con un segmento de deshacer activo, los tablespaces se pueden poner offline y dejar que la base de datos se siga ejecutando. <br />Los tablespaces pueden cambiar entre un estado de lectura y escritura y de sólo lectura. <br />
  39. 39. ESTRUCTURA LOGICA<br />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. Se trata de estructuras físicas que se ajustan al sistema operativo en el que se ejecuta Oracle Server. <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 />
  40. 40. ESTRUCTURA LOGICA<br />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.- El espacio se asigna a un segmento mediante extensiones. <br />Una o más extensiones componen un segmento. <br />Cuando se crea un segmento, éste está formado, como mínimo, por una extensión. <br />A medida que el segmento va creciendo, se le agregan extensiones. <br />El DBA puede agregar extensiones a un segmento manualmente. <br />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 />
  41. 41. ESTRUCTURA LOGICA<br />Bloques de Datos.- Oracle Server gestiona el espacio de almacenamiento de los archivos de datos en unidades llamadas bloques Oracle o bloques de datos. <br />Con el mayor nivel de granularidad posible, los datos de una base de datos Oracle se almacenan en 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_SIZEcuando 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 />
  42. 42. Publicado en: http://admbdatos.bloggactivo.comFin<br />

×