Administracion de base de datos

39
DAVID OSORIO NOVENO SISTEMAS INFORMATICOS FECHA DE ENTREGA:16-01-01

Transcript of Administracion de base de datos

Page 1: Administracion de base de datos

DAVID OSORIONOVENO SISTEMAS INFORMATICOS

FECHA DE ENTREGA:16-01-01

Page 2: Administracion de base de datos

OracleEs una base de datos de objetos relacionales

escalable Las siguientes opciones proporcionan una funcionalidad adicional

• 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 Edition.

 • 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.

  

Page 3: Administracion de base de datos

• 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.

 

• 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.

Page 4: Administracion de base de datos

Tareas del Administrador de la Base de Datos

 • Planificar y crear bases de datos • Gestionar la disponibilidad de la base de datos • Gestionar las estructuras físicas y lógicas • Gestionar el almacenamiento basándose en el

diseño • Gestionar la seguridad • Administración de la red • Copia de seguridad y recuperación  • Ajuste de la base de datos

Page 5: Administracion de base de datos

Visión General de los Componentes Principales

• Oracle Server: Existen varios archivos, procesos y estructuras de memoria en Oracle Server, no obstante, cuando se procesa una sentencia SQL no se utilizan todos.

• 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.

Page 6: Administracion de base de datos

Base de datos Oracle: Una base de datos Oracle 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

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.

 

Page 7: Administracion de base de datos

 • 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. Sin embargo, hay otros procesos que pueden ayudar al servidor a finalizar el procesamiento de la sentencia SQL.

  • Otros procesos: Existen otros muchos procesos

que se utilizan en otras opciones, como Gestión de Colas Avanzada, Real Application Clusters, Servidor Compartido, Replicación Avanzada, etc

Page 8: Administracion de base de datos

 Conexión

 Una conexión no es más que una ruta de

comunicación entre un proceso de usuario y Oracle Server. Un usuario de base de datos se puede conectar a Oracle Server de tres formas:

• El usuario se conecta al sistema operativo ejecutando la instancia Oracle e inicia una aplicación o herramienta que accede a la base de datos en ese sistema. Se establece la ruta de comunicación mediante los mecanismos de comunicación entre procesos disponibles en el sistema operativo del host.

Page 9: Administracion de base de datos

• El usuario inicia la aplicación o la herramienta 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.

• 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. Por ejemplo, el usuario ejecuta un explorador en un equipo de red para utilizar una aplicación que reside en un servidor NT, que recupera los datos de una base de datos Oracle que se ejecuta en un host UNIX.

Page 10: Administracion de base de datos

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 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, aplicaciones o terminales al mismo tiempo. Excepto en el caso de algunas herramientas de administración de base de datos especializadas, el inicio de una sesión de base de datos requiere que Oracle Server esté disponible.

Page 11: Administracion de base de datos

Otras Estructuras de Archivos Clave

Oracle Server también utiliza otros archivos que no forman parte de la base de datos:

• 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.

• El archivo de contraseñas autentica los usuarios con privilegios para iniciar y cerrar una instancia Oracle.

• 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.

Estructura Física La estructura física incluye tres tipos de archivos:  • Archivos de control • Archivos de datos • Archivos redo log online

Page 12: Administracion de base de datos

Estructura de la memoria

La estructura de la memoria de Oracle está formada por dos áreas de memoria llamadas:

 • SGA (Área Global del Sistema): Asignada al

iniciar la instancia y componente fundamental de una instancia Oracle

• PGA (Área Global de Programas): Asignada al iniciar el proceso de servidor

Page 13: Administracion de base de datos

Área Global del Sistema

El área SGA está formada por varias estructuras de la memoria:

– Conjunto Compartido – Caché de Buffers de Base de Datos  – Buffer de Redo Log  – Otras estructuras (por ejemplo, gestión de

bloqueos y bloqueos internos, datos estadísticos)  Existen dos estructuras de la memoria adicionales

que se pueden configurar desde el SGA: – Conjunto Grande  – Conjunto Java

Page 14: Administracion de base de datos

Especificación del Tamaño del SGA

El tamaño del área SGA lo determinan varios parámetros de inicialización. Los parámetros que afectan al tamaño del área SGA en mayor medida son:

DB_CACHE_SIZE: Tamaño de la caché de bloques estándar. El valor por defecto es de 48 MB para UNIX y 52 MB para NT.

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. El valor por defecto es 16 MB. Si se trata de 64 bits, el tamaño por defecto es de 64 MB.

LARGE_POOL_SIZE: Tamaño del conjunto grande. El valor por defecto es cero (excepto si el parámetro PARALLEL_AUTOMATIC_TUNING de init.ora se define en TRUE, en cuyo caso se calcula automáticamente el valor por defecto.)

JAVA_POOL_SIZE: Tamaño del conjunto Java. El valor por defecto es 24 MB. Por lo tanto, el tamaño del área SGA no puede superar el especificado en SGA_MAX_SIZE menos los valores de DB_CACHE_SIZE, LOG_BUFFER, SHARED_POOL_SIZE, LARGE_POOL_SIZE y JAVA_POOL_SIZE.

Page 15: Administracion de base de datos

Área Global del Sistema

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

Unidad de Asignación 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.

 • 4 MB si el tamaño del SGA estimado es < 128 MB  • 16 MB, en caso contrario

Page 16: Administracion de base de datos

Shared pool - Conjunto compartido

Se utiliza para almacenar:   Las últimas sentencias SQL ejecutadas   Las últimas definiciones de datos utilizadas  Se encuentra formado por dos estructuras de

memoria clave relacionadas con el rendimiento:   Caché de Biblioteca   Caché del Diccionario de Datos  

Page 17: Administracion de base de datos

Library cache - Caché de Biblioteca

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 (utilizado menos recientemente)

Está formado por dos estructuras:

– Área de SQL compartido  – Área de PL/SQL compartido

 

Page 18: Administracion de base de datos

Library cache - Caché de Biblioteca

• 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. La segunda vez que se ejecuta una sentencia SQL idéntica, ésta se puede beneficiar de la información de análisis disponible en el SQL compartido para acelerar la ejecución. Para garantizar que las sentencias SQL utilizan un área SQL compartida siempre que sea posible, el texto, el esquema y las variables ligadas deben ser idénticos.

 • PL/SQL compartido: Almacena y comparte las sentencias

PL/SQL ejecutadas más recientemente. Los procedimientos (funciones, paquetes y disparadores) y las unidades de programa analizados y compilados se almacenan en esta área.

 

Page 19: Administracion de base de datos

Data Diccionary cache - 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, 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. Durante la fase de análisis, el proceso de servidor busca la información en el diccionario de datos para resolver los nombres de objeto y validar el acceso con esto se logra que el almacenamiento de la información del diccionario de datos en caché mejore los tiempos de respuesta de las consultas.

Page 20: Administracion de base de datos

Especificación del Tamaño del Diccionario de Datos

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. Estas consultas se denominan llamadas recursivas y son más lentas que las consultas directas de la caché del diccionario de datos, puesto que las consultas directas no utilizan SQL.

Page 21: Administracion de base de datos

 Database buffer cache - Caché de Buffers de Base de DatosEn 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, esto lo realiza gestionado un algoritmo LRU, el tamaño del bloque primario está determinado por DB_BLOCK_SIZE.

Page 22: Administracion de base de datos

 Asesor de Caché de Buffers

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é. La información proporcionada por estas estadísticas le puede ayudar a establecer el tamaño óptimo de la caché de buffers de base de datos para cada carga de trabajo determinada. La información del Asesor de Caché de Buffers se recopila y se muestra mediante la vista V$DB_CACHE_ADVICE.

Page 23: Administracion de base de datos

Estructura de Procesos

• Procesos de usuario: Se inician cuando un usuario de base de datos solicita una conexión a Oracle Server

 • Procesos de servidor: Se conectan a la instancia

Oracle y se inician cuando un usuario establece una sesión.

 • Procesos en segundo plano: Se inician al iniciar

una instancia Oracle  

Page 24: Administracion de base de datos

 DBWn Escritor de Base de Datos

 • Se produce un punto de control • Los buffers sucios alcanzan el umbral • No hay ningún buffer libre • Se produce un timeout  • Se realiza un solicitud de sondeo RAC  • Tablespace OFFLINE • Tablespace READ ONLY • Tabla DROP o TRUNCATE • Tablespace BEGIN BACKUP

Page 25: Administracion de base de datos

 LGWR (Escritura de Logs) • En la validación • Si se llena a un tercio de su capacidad • Si hay 1 MB de redo • Cada tres segundos • Antes de que escriba DBWn LGWR realiza escrituras secuenciales desde el

buffer de redo log al archivo redo log en las siguientes situaciones:  

• Cuando se valida una transacción.

Page 26: Administracion de base de datos

 LGWR (Escritura de Logs)  • Cuando el buffer de redo log se encuentra a un

tercio de su capacidad.  • Cuando existe más de un megabyte de cambios en

el buffer de redo log.  • Antes de que DBWn escriba los bloques

modificados de la caché de buffers de base de datos en los archivos de datos.

 • Cada tres segundos.

Page 27: Administracion de base de datos

SMON (Monitor del Sistema)

• Recuperación de instancias  o Aplica los cambios pendientes en los archivos

redo log online.  o Abre la base de datos para que acceda el usuario.  o Deshace las transacciones no validadas.  • Fusiona el espacio libre  • Libera los segmentos temporales

Page 28: Administracion de base de datos

 PMON (Monitor de Procesos)

• Haciendo un rollback en las transacciones • Liberando los bloqueos • Liberando otros recursos  • Reiniciando distribuidores interrumpidos El proceso en segundo plano PMON realiza una limpieza

después de los procesos fallidos de la siguiente forma:  • Realizando rollback en la transacción actual del usuario • Liberando todos los bloqueos de tablas o filas actuales  • Liberando otros recursos que están reservados en ese

momento por el usuario • Reiniciando distribuidores interrumpidos

Page 29: Administracion de base de datos

CKPT (Punto de Control)

• Señalar a DBWn en los puntos de control  • Actualizar las cabeceras de archivos de datos

con información del punto de control  • Actualizar los archivos de control con

información del punto de control

Page 30: Administracion de base de datos

ARCn (Archiver)

• Proceso opcional en segundo plano  • Archiva automáticamente archivos redo log

online si está definido el modo ARCHIVELOG  • Protege el registro contra todos los cambios

realizados en la base de datos  

Page 31: Administracion de base de datos

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.

Modo NOARCHIVELOG: En este modo, los archivos redo log online se sobrescriben cada vez que se produce un cambio de log.

Page 32: Administracion de base de datos

Archivado de Archivos Redo Log Online (continuación)

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. Dado que los cambios efectuados en la base de datos se registran en los archivos redo log online, el administrador de la base de datos puede utilizar la copia de seguridad física de los archivos de datos y los archivos redo log online archivados para recuperar la base de datos sin perder ninguno de los datos validados debido a un solo punto de fallo, incluida la pérdida de un disco. Normalmente, se suele configurar una base de datos de producción para que se ejecute en modo ARCHIVELOG.

Page 33: Administracion de base de datos

Estructura Lógica.

• Una base de datos Oracle contiene como mínimo un tablespace.

 • Un tablespace contiene uno o más segmentos.  • Cada segmento está formado por extensiones.  • Una extensión está formada por bloques lógicos.  • Un bloque es la unidad más pequeña para las

operaciones de lectura y escritura.

Page 34: Administracion de base de datos

La arquitectura de la base de datos Oracle incluye las estructuras físicas y lógicas  

• La estructura física incluye archivos de control, archivos redo log online y archivos de datos que conforman la base de datos.

• La estructura lógica incluye tablespaces, segmentos, extensiones y bloques de datos.  

Oracle Server permite un control preciso del uso del espacio de disco mediante estructuras de almacenamiento lógicas y de tablespaces, incluidos segmentos, extensiones y bloques de datos.

Tablespaces Los datos de una base de datos Oracle se almacenan en tablespaces. • 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. • Un tablespace sólo puede pertenecer a una base de datos a la vez. • Cada tablespace está formado por uno o más archivos del sistema

operativo, que reciben el nombre de archivos de datos.  • Un tablespace puede tener uno o más segmentos. • Los tablespaces se pueden poner en línea mientras se está ejecutando la

base de datos. • Excepto en el caso del tablespace SYSTEMo un tablespace con un segmento

de deshacer activo, los tablespaces se pueden poner offline y dejar que la base de datos se siga ejecutando.  

• Los tablespaces pueden cambiar entre un estado de lectura y escritura y de sólo lectura.

Page 35: Administracion de base de datos

 Archivos de Datos (Estructura No Lógica):  

• 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.

 • Un archivo de datos sólo puede pertenecer a un tablespace.  • 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.

 • 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.

Page 36: Administracion de base de datos

Segmentos

• Un segmento es el espacio asignado a una estructura de almacenamiento lógica específica dentro de un tablespace.

• Un tablespace puede estar formado por uno o más segmentos.

 • Un segmento no puede abarcar tablespaces; sin

embargo, un segmento puede abarcar múltiples archivos de datos que pertenezcan al mismo tablespace.

 • Cada segmento está formado por una o más

extensiones.  

Page 37: Administracion de base de datos

Extensiones

El espacio se asigna a un segmento mediante extensiones.

• Una o más extensiones componen un segmento. o Cuando se crea un segmento, éste está formado,

como mínimo, por una extensión. o A medida que el segmento va creciendo, se le

agregan extensiones. o El DBA puede agregar extensiones a un segmento

manualmente. • Una extensión es un juego de bloques Oracle

contiguos. • Una extensión no puede abarcar archivos de datos

y, por tanto, debe existir en un archivo de datos.  

Page 38: Administracion de base de datos

Bloques de Datos

 Oracle Server gestiona el espacio de almacenamiento de los archivos

de datos en unidades llamadas bloques Oracle o bloques de datos. • Con el mayor nivel de granularidad posible, los datos de una base

de datos Oracle se almacenan en bloques de datos. • Los bloques de datos Oracle son las unidades de almacenamiento

más pequeñas que Oracle Server puede asignar, leer o escribir.  • Un bloque de datos se corresponde con uno o más bloques del

sistema operativo asignados desde un archivo de datos existente. • 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.

• 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.

• El tamaño máximo del bloque de datos depende del sistema operativo

 

Page 39: Administracion de base de datos

LINKS:http://admbdatos.bloggactivo.com