tarea1 lruiz

45
ORACLE 11 G Administración Base de Datos Luis Alberto Ruiz Semana 1

Upload: la77rch

Post on 29-Jun-2015

966 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tarea1 lruiz

ORACLE 11 G

Administración Base de Datos

Luis Alberto Ruiz

Semana 1

Page 2: Tarea1 lruiz

Introducción.

Tareas del Administrador de la Base de Datos.

Visión General de los Componentes Principales.

Establecimiento de una Conexión y Creación de una Sesión.

Base de Datos Oracle.

Estructura Lógica.

Page 3: Tarea1 lruiz

Particionamiento.- utilidades para implementar aplicaciones de gran tamaño y escalables. Permite controlar las tablas y los índices con un nivel de granularidad

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 4: Tarea1 lruiz

Paquetes de Oracle Enterprise Manager.- 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

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 5: Tarea1 lruiz

Tareas del Administrador de la Base de Datos

Software Instalación, desinstalación y actualización de software sgbdr y clientes

Instalación y desinstalación de parches

Pruebas de productos

Documentación sobre bugs y versiones de productos

Creación de informes de recomendación de software

Conocimiento de las aplicaciones de los usuarios Creación de BD Configuración parámetros de funcionamiento de la

BD

Page 6: Tarea1 lruiz

Gestión de Usuarios Creación, Baja Gestión de privilegios

Recursos Asignación de tablespaces, espacio en HD Actualización de parámetros del sistema

Backup y recuperación Cargas de datos Crear y modificar programas de carga

Ejecutar programas de carga Mantenimiento de la BD. Altas, Bajas y

Modificaciones de Objetos de la BD (vistas, índices, tablas, etc.)

Page 7: Tarea1 lruiz

Monitorización Accesos de los usuarios Rendimiento de los procesos Crecimiento de ficheros Creación de estadísticas. Crear y

modificar programas de estadísticas Optimización, mejoras de rendimiento

Page 8: Tarea1 lruiz

Visión General de los Componentes Principales

Page 9: Tarea1 lruiz

Existen varios archivos, procesos y estructuras de memoria en Oracle Server, no obstante, 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.

Oracle Server está formado por una instancia y una base de datos Oracle.

Oracle Server

Page 10: Tarea1 lruiz

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. Los procesos en segundo plano desempeñan funciones en favor del proceso que llama. Consolidan las funciones que, de lo contrario, se gestionarían mediante la ejecución de múltiples programas Oracle para cada usuario. Los procesos en segundo plano realizan operaciones de E/S (entrada/salida) y controlan otros procesos de Oracle para proporcionar un mayor paralelismo y, de esta manera, mejorar el rendimiento y la fiabilidad

Page 11: Tarea1 lruiz

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. Los archivos de la base de datos 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

Page 12: Tarea1 lruiz

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.

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 13: Tarea1 lruiz

Establecimiento de una Conexión

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 14: Tarea1 lruiz

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 15: Tarea1 lruiz

Creación de una Sesión

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 16: Tarea1 lruiz

Base de Datos Oracle

Page 17: Tarea1 lruiz

Base de Datos Oracle

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. La estructura física de la base de datos es el juego de archivos del sistema operativo en la base de datos.

Una base de datos Oracle consta de tres tipos de archivos.

• Los archivos de datos que contienen los datos reales de la base de datos• 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• Los archivos de control que contienen la información necesaria para mantener y verificar la integridad de la base de datos

Page 18: Tarea1 lruiz

Base de Datos OracleOtras 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.

Page 19: Tarea1 lruiz

Base de Datos OracleEstructura Física

Page 20: Tarea1 lruiz

Base de Datos Oracle

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 21: Tarea1 lruiz

Base de Datos Oracle

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 22: Tarea1 lruiz

Base de Datos Oracle

El área SGA también se llama área global compartida. Se utiliza para almacenar información de base de datos que comparten los procesos de base de datos. Contiene datos e información de control para Oracle Server y se asigna en la memoria virtual de la computadora donde reside Oracle.

Para ver las asignaciones de memoria SGA, se puede utilizar la siguiente sentencia:

Page 23: Tarea1 lruiz

Especificación del Tamaño del SGAEl tamaño del área SGA lo determinan varios parámetros de inicialización. Los parámetrosque 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 48MB para UNIX y 52 MB para NT.LOG_BUFFER: Número de bytes asignados al buffer de redo logSHARED_POOL_SIZE: Tamaño en bytes del área dedicada a SQL compartido y a PL/SQL. Elvalor 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 siel parámetro PARALLEL_AUTOMATIC_TUNING de init.ora se define en TRUE, en cuyo casose 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 losvalores de DB_CACHE_SIZE, LOG_BUFFER, SHARED_POOL_SIZE, LARGE_POOL_SIZE yJAVA_POOL_SIZE.

Page 24: Tarea1 lruiz

Área Global del Sistema

Esta área es dinámica, su tamaño definido por el parámetro SGA_MAX_SIZE, asignada ycon seguimiento en gránulos por componentes del SGAUnidad de Asignación

Un gránulo es una unidad de asignación de memoria virtual contigua. El tamaño de ungránulo depende del tamaño del SGA total estimado cuyo cálculo se basa en el valor delparámetro SGA_MAX_SIZE.

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

Los componentes (caché de buffers de base de datos, conjunto compartido y conjuntogrande) pueden aumentar o disminuir de tamaño en función de los límites del gránulo. Aliniciar la instancia, Oracle Server asigna las entradas de gránulos, una por cada gránuloque soporta el número de bytes de SGA_MAX_SIZE de espacio de dirección. Mientrascontinúa el inicio, cada componente adquiere los gránulos que necesita.

Page 25: Tarea1 lruiz

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

Y su Tamaño está definido por el parámetro SHARED_POOL_SIZE.

Page 26: Tarea1 lruiz

Especificación del Tamaño del Conjunto Compartido

El tamaño se puede cambiar de forma dinámica mediante ALTER SYSTEM SET. Tras el análisis de rendimiento, se puede ajustar, aunque el tamaño total del área SGA no puede exceder el valor de SGA_MAX_SIZE

Page 27: Tarea1 lruiz

Library cache - Caché de BibliotecaPermite 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 28: Tarea1 lruiz

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é mejorelos tiempos de respuesta de las consultas.

Page 29: Tarea1 lruiz

Database buffer cache 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 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 30: Tarea1 lruiz

Database buffer cache Caché de Buffers de Base de Datos.

Está formado por subcachés independientes:

– DB_CACHE_SIZE– DB_KEEP_CACHE_SIZE– DB_RECYCLE_CACHE_SIZESe puede cambiar de tamaño de forma dinámica, par ello se debe utilizar la siguiente instrucción:

ALTER SYSTEM SET DB_CACHE_SIZE = 96M;También se puede definir DB_CACHE_ADVICE con el fin de recoger estadísticas para predecir el comportamiento de los distintos tamaños de caché, para ver las estadísticas deeste espacio de memoria se puede utilizar la vista V$DB_CACHE_ADVICE

Page 31: Tarea1 lruiz

Redo log bufferBuffer 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 buffer de redo log es un buffer circular que contiene los cambios realizados en los bloques de archivos de datos. Esta información se almacena en registros de redo. Los registros de redo contienen la información necesaria para recrear los datos que había antes de los cambios realizados por las operaciones INSERT, UPDATE, DELETE, CREATE,ALTERo DROP.

Page 32: Tarea1 lruiz

Especificación del Tamaño del Buffer de Redo LogEl tamaño del buffer de redo log está definido por el parámetro de inicialización LOG_BUFFER.

Es un área opcional de memoria en el SGA que permite liberar al conjunto compartido de su carga, se utiliza para:– Memoria de sesión (UGA) para el servidor compartido– Procesos de servidor de E/S– Operaciones de copia de seguridad y recuperación o RMAN– Buffers de mensajes de ejecución en paralelo: PARALLEL_AUTOMATIC_TUNING se define como TRUE

El tamaño se lo define por LARGE_POOL_SIZE y se puede cambiar de tamaño de forma dinámica.

Page 33: Tarea1 lruiz

Estructura de Procesos

Page 34: Tarea1 lruiz

Procesos

Oracle se beneficia de varios tipos 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 35: Tarea1 lruiz

Procesos de ServidorSon Programas que interactúan directamente con Oracle Server, que cumplen las llamadas generadas y devuelven resultados, que pueden ser un servidor dedicado o compartido.

Page 36: Tarea1 lruiz

SMON (Monitor del Sistema)Responsabilidades:• Recuperación de instancias

Aplica los cambios pendientes en los archivos redo log online.Abre la base de datos para que acceda el usuario.Deshace las transacciones no validadas.

• Fusiona el espacio libre• Libera los segmentos temporales

Page 37: Tarea1 lruiz

Estructura Lógica

Page 38: Tarea1 lruiz

Estructura Lógica

Existe la siguiente jerarquía de estructuras lógicas:

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

La arquitectura de la base de datos Oracle incluye las estructuras físicas y lógicas que conforman la base de datos.• 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

Page 39: Tarea1 lruiz

TablespacesLos 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 40: Tarea1 lruiz

Archivos de Datos(Estructura No Lógica):

• Cada tablespace de una base de datos Oracle está formado por uno o más archivosllamados archivos de datos. Se trata de estructuras físicas que se ajustan al sistemaoperativo 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 cantidadespecificada 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 dedatos una vez creado, o bien puede especificar que un archivo debería aumentardinámicamente a medida que aumentan los objetos en el tablespace.

Page 41: Tarea1 lruiz

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 42: Tarea1 lruiz

Extensiones

El espacio se asigna a un segmento mediante extensiones.

• Una o más extensiones componen un segmento.Cuando se crea un segmento, éste está formado, como mínimo, por una extensión.A medida que el segmento va creciendo, se le agregan

extensiones.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 43: Tarea1 lruiz

Bloques de DatosOracle Server gestiona el espacio de almacenamiento de los archivos de datos enunidades llamadas bloques Oracle o bloques de datos.

• Con el mayor nivel de granularidad posible, los datos de una base de datos Oraclese almacenan en bloques de datos.

• Los bloques de datos Oracle son las unidades de almacenamiento más pequeñasque Oracle Server puede asignar, leer o escribir.

• Un bloque de datos se corresponde con uno o más bloques del sistema operativoasignados desde un archivo de datos existente.

• El tamaño de bloque de datos estándar de cada base de datos Oracle lo especificael 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 delsistema operativo para evitar operaciones de E/S innecesarias.

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

Page 44: Tarea1 lruiz

Sitios consultados

http://www.redcientifica.com/oracle/c0001p0001.html

http://www.todoexpertos.com/categorias/ciencias-e-ingenieria/ingenieria-informatica/respuestas/1814958/manual-sobre-administracion-oracle-11g

http://www.oracle.com/lang/es/database/product_editions.html

http://itlearncenter.com/itblog/wp-content/uploads/2009/01/oracle-database-11g-new-features-for-dbas-and-developers1.pdf

http://itlearncenter.com/itblog/wp-content/uploads/2009/01/oreillyoracleessentialsoracledatabase11g4theditionnov2007.pdf

Page 45: Tarea1 lruiz

Dirección URL del blog

http://admbdatos.bloggactivo.com