administracion de base de datos oracle
DESCRIPTION
Primera tarea de BDDTRANSCRIPT
SINED
9no Nivel
Magdalena Chicaiza Acosta
Universidad Tecnológica Israel
Facultad de Ingeniería en
Sistemas
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.
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.
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
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.
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.
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
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
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.
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
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)
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.
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.
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.
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.
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.
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.
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:
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
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.