administracion de base de datos oracle

32
SINED 9no Nivel Magdalena Chicaiza Acosta Universidad Tecnológica Israel Facultad de Ingeniería en Sistemas

Upload: israel

Post on 03-Jul-2015

22.617 views

Category:

Education


2 download

DESCRIPTION

Primera tarea de BDD

TRANSCRIPT

Page 1: Administracion de Base de Datos Oracle

SINED

9no Nivel

Magdalena Chicaiza Acosta

Universidad Tecnológica Israel

Facultad de Ingeniería en

Sistemas

Page 2: Administracion de Base de Datos Oracle

Contenido

Introducción

Tareas del Administrador de la Base de Datos

Componentes Principales

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

Base de Datos Oracle.

Estructura Física.

Estructura Lógica.

Page 3: Administracion de Base de Datos Oracle

INTRODUCCION

ORACLE.- Es una base de datos de

objetos relacionales escalable y fácil

de gestionar .

Particionamiento : Permite controlar las tablas y los índices con un nivel de granularidad inferior

Real Application Clusters: permite que múltiples instancias del software de Oracle accedan a una única base de datos .

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.

Seguridad avanzada: Proporciona seguridad 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 Oracle

TAREAS DEL ADMINISTRADOR DE

BDDUn DBA es el responsable de mantener

el Oracle Server operativo ante las

peticiones de los usuarios.Entre sus principales tareas esta:

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 Oracle

COMPOPNENTES

PRINCIPALESInstancia Oracle es la combinación de los procesos en segundo plano y las estructuras de memoria.

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.

Los procesos de

usuario y de

servidor son los

procesos

principales

implicados en la

ejecución de una

sentencia SQL.

Page 6: Administracion de Base de Datos Oracle

ESTABLECIMIENTO DE UNA

CONEXIÓN Y CREACIÓN DE UNA

SESIÓN

El proceso de servidor se comunicará con la instancia Oracle en nombre del proceso de usuario en el cliente.

El usuario inicia una herramienta como SQL*Plus , se crea un proceso en el equipo que ejecuta Oracle Server.

El proceso de servidor

ejecuta las sentencias

SQL en nombre del

usuario.

Page 7: Administracion de Base de Datos Oracle

ESTABLECIMIENTO DE UNA

CONEXIÓN Y CREACIÓN DE UNA

SESIÓN Conexión .- es la ruta de comunicación entre un proceso deusuario y Oracle Server. Existen tres formas:

El usuario se conecta al sistema operativo ejecutando lainstancia Oracle donde la conexión se establece mediante losmecanismos de comunicación entre procesos disponibles en elsistema operativo del host.

El usuario inicia la aplicación o la herramienta en un equipolocal, aquí el software de red se utiliza para establecer lacomunicación entre el usuario y Oracle Server. (Cliente -Servidor)

En una conexión de tres capas, el equipo del usuario secomunica a través de la red con un servidor de aplicaciones ode red, que se conecta a través de una red a la máquina queejecuta la instancia Oracle.

Sesiones.- Una sesión es una conexión específica de un usuarioa Oracle Server. La sesión se inicia cuando Oracle Servervalida al usuario, y finaliza cuando el usuario se desconecta

Page 8: Administracion de Base de Datos Oracle

BASE DE DATOS ORACLEEl objetivo general de una base de datos es el dealmacenar y recuperar la información relacionada. Unabase de datos Oracle tiene una estructura lógica y unafísica. Una base de datos Oracle consta de tres tipos dearchivos. 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 9: Administracion de Base de Datos Oracle

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 10: Administracion de Base de Datos Oracle

ESTRUCTURA FISICALa estructura física incluye tres tipos de archivos de control, de datos y redo log online.

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 11: Administracion de Base de Datos Oracle

ESTRUCTURA FISICAÁrea global del sistema.- Se utiliza para almacenar información de base de datos que comparten los procesos de base de datos.

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

– Conjunto Compartido (Shared pool )

– 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)

Page 12: Administracion de Base de Datos Oracle

ESTRUCTURA FISICAConjunto Compartido.- Se utiliza para almacenar las últimassentencias SQL ejecutadas y las últimas definiciones de datos utilizadasy esta formado por el Caché de Biblioteca y el Caché del Diccionario deDatos.

La asignación de memoria del conjunto compartido se determina por elparámetro de inicialización SHARED_POOL_SIZE. El tamaño se puedecambiar de forma dinámica mediante ALTER SYSTEM SET.

Caché de Biblioteca .- Permite almacenar información acerca de lassentencias SQL y PL/SQL utilizadas más recientemente. Esta formadopor el Área de SQL compartido (Almacena y comparte el plan deejecución y el árbol de análisis para las sentencias SQL que seejecutan en la base de datos) y el Área de PL/SQL compartido(Almacena y comparte las sentencias PL/SQL ejecutadas másrecientemente).

La memoria se asigna al analizar una sentencia o al llamar a unaunidad de programa.

Caché del Diccionario de Datos.- En este espacio de memoria sealmacena el conjunto de las definiciones utilizadas más recientementeen la base de datos,

El tamaño total depende del tamaño del conjunto compartido y logestiona de forma interna la base de datos.

Page 13: Administracion de Base de Datos Oracle

ESTRUCTURA FISICACaché de Buffers de Base de Datos.- En este espacio de memoriase almacena copias de bloques de datos que se han recuperado dearchivos de datos.

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

_SIZE, DB_RECYCLE_CACHE_SIZE.

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.

Page 14: Administracion de Base de Datos Oracle

ESTRUCTURA FISICALos Valores del Parámetro DB_CACHE_ADVICE

OFF: El asesor está desactivado y no se le asigna memoria.

ON: El asesor está activado y se produce una sobrecarga tanto deCPU como de memoria.

La función Asesor de Caché de Buffers activa y desactiva larecopilación de estadísticas para predecir el comportamiento de losdistintos tamaños de caché.

Buffer de Redo Log.- En este espacio se registra todos los cambiosrealizados en los bloques de datos de la base de datos, su finalidadprincipal es la recuperación, los cambios registrados dentro de éstese llaman registros de redo, los registros de redo contieneninformación que permite reconstruir o rehacer cambios, el tamañoestá definido por LOG_BUFFER. El tamaño del buffer de redo logestá definido por el parámetro de inicialización LOG_BUFFER.

Page 15: Administracion de Base de Datos Oracle

ESTRUCTURA FISICAConjunto Grande.- 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

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.

El tamaño del conjunto grande se especifica en bytes definidos por el parámetro LARGE_POOL_SIZE.

Page 16: Administracion de Base de Datos Oracle

ESTRUCTURA FISICASGA 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).

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.

Page 17: Administracion de Base de Datos Oracle

ESTRUCTURA FISICAÁrea global de Programas

Esta memoria está reservada para cada proceso de usuario que seconecte a una base de datos Oracle, se asigna cuando se crea unproceso y se libera cuando se termina un proceso, sólo la utiliza unproceso.

El contenido de la memoria PGA varía en función de si la instancia seejecuta en una configuración de servidor dedicado o de servidorcompartido.

Área SQL privada: Contiene datos, como información ligada yestructuras de memoria de tiempo de ejecución.

Memoria de Sesión: Consta de memoriaasignada para retener las variables de unasesión y otra información relacionada con lasesión.

Áreas de Trabajo SQL: Utilizadas enoperaciones con uso intensivo de la memoriacomo: Ordenación, Unión de ComprobaciónAleatoria, Fusión de Bitmaps y Creación deBitmaps.

Page 18: Administracion de Base de Datos Oracle

ESTRUCTURA FISICADiferencias en la Asignación de Memoria entre Servidores Dedicados y

Servidores Compartidos

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:

Page 19: Administracion de Base de Datos Oracle

ESTRUCTURA FISICAEstructura de ProcesosOracle 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 20: Administracion de Base de Datos Oracle

ESTRUCTURA FISICADBWn (Escritor de Base de Datos)

DBWn escribe así:

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

DBWn aplaza la escritura en los archivos de datos hasta que se produce uno de los siguientes eventos:

Punto de control normal o incremental.

El número de buffers sucios alcanza un valor umbral.

Un proceso explora un número determinado de bloques cuando realiza una exploración en busca de buffers libres y no puede encontrar ninguno.

Se produce un timeout.

Se produce una solicitud de sondeo en un entorno RAC (Real Application Clusters).

Se coloca un tablespace normal o temporal offline

Se coloca un tablespace en modo de sólo lectura

Borrado o truncamiento de una tabla

ALTER TABLESPACE nombre del tablespace BEGIN BACKUP

Page 21: Administracion de Base de Datos Oracle

ESTRUCTURA FISICALGWR (Escritura de Logs)

LGWR escribe:

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.

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 22: Administracion de Base de Datos Oracle

ESTRUCTURA FISICASMON (Monitor del Sistema).-

se ocupa de:

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

La recuperación de la instancia consta de los siguientes pasos:

1. Se aplican transacciones pendientes para recuperar los datos que no se hayan registrado en los archivos de datos,

2. Se abre la base de datos para que los usuarios se puedan conectar.

3. Se hace un rollback en las transacciones no validadas.

Page 23: Administracion de Base de Datos Oracle

ESTRUCTURA FISICAPMON (Monitor de Procesos)

Hace una limpieza cuando los

procesos han fallado:

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 24: Administracion de Base de Datos Oracle

ESTRUCTURA FISICACKPT (Punto de Control).- Responsable de:

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

Los puntos de control se inician por los siguientes motivos:

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.

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.

Para garantizar que todos los datos validados se han escrito en los archivos de datos durante el cierre.

Page 25: Administracion de Base de Datos Oracle

ESTRUCTURA FISICACKPT (Punto de Control).- Responsable de:

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

Los puntos de control se inician por los siguientes motivos:

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.

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.

Para garantizar que todos los datos validados se han escrito en los archivos de datos durante el cierre.

Page 26: Administracion de Base de Datos Oracle

ESTRUCTURA FISICAARCn (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

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 logonline se sobrescriben cada vez que se produce un cambio de log.

Modo ARCHIVELOG.- En caso de que la base de datos seconfigure para que se ejecute en modo ARCHIVELOG, seránecesario archivar los grupos inactivos de archivos redo log onlinellenos antes de que se puedan volver a utilizar de nuevo.

Page 27: Administracion de Base de Datos Oracle

ESTRUCTURA LOGICAEstablece 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:

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 28: Administracion de Base de Datos Oracle

ESTRUCTURA LOGICATablespaces.- 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 29: Administracion de Base de Datos Oracle

ESTRUCTURA LOGICAArchivos 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 30: Administracion de Base de Datos Oracle

ESTRUCTURA LOGICASegmentos.-

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.

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 31: Administracion de Base de Datos Oracle

ESTRUCTURA LOGICABloques 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.