Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONTENIDO
1- Trminos que se van a utilizar 2- Data blocks, extents y Segments 3-Tablespace, datafiles y control files 4- Diccionario de datos. 5- Estructuras de memoria Interna 6- Estructuras de memoria Externa 7- Estructuras de Proceso
TERMINOS A UTILIZAR
Esquemas: El conjunto de objetos de un usuario es conocido como esquema. ndices: Un ndice es una estructura de la BD utilizada para agilizar el acceso a una fila de una tabla. Cada fila tiene un identificador de fila, ROWID, que determina el fichero, bloque y fila dentro del bloque donde est almacenada la fila. Cada entrada del ndice consite en un valor clave y una ROWID. Cada una de estas entradas se almacena en un rbol B+.Los ndices se crean automticamente cuando se define una restriccin UNIQUE o PRIMARY KEY. Tablespace: nombre del espacio de tablas donde se crear el segmento.
frecuentemente pueden ser almacenadas juntas. Para ello se crea un cluster. De este modo se minimiza el nmero de E/S. Las columnas que relacionan las tablas de un cluster se llaman clave del cluster.
Sinnimos: Para identificar completamente un objeto dentro de una BD se necesita especificar el nombre de la mquina, el nombre del servidor, el nombre del propietario y el nombre del objeto. Para hacer transparente todo esto al usuario se pueden utilizar los sinnimos. stos apuntarn a los objetos y si el objeto cambia de lugar o propietario, slo habr que modificar el sinnimo. Existen sinnimos pblicos y privados. Los pblicos son conocidos por todos los usuarios de una BD. Los privados son locales a un usuario.
Segmento de Rollback Para mantener la consistencia en lectura y permitir deshacer las transacciones, Oracle debe tener un mecanismo para reconstruir la imgen previa a una transaccin incompleta. Oracle utiliza los segmentos de rollback para esto. Los segmentos de rollback pueden crecer tanto como sea necesario para soportar las transacciones.
DATA BLOCK
Es la unidad mas pequea de almacenamiento de un dato en una base de datos. El tamao del bloque es independiente de cada sistema operativo, Oracle recupera estos bloques en bloques oracle no en bloques del So. Para tamao de bloque especfico se utiliza DB_BLOCK_SIZE
FORMATO DE UN DATABLOCK
Condiciones
El insert debe estar en la misma transaccin y subsecuente a la sentencia que libera el espacio. Si insert es una transaccin separada, puede usar el espacio solo despus que la otra transaccin haya hecho commit.
PCTFREE
PCTUSER
EXTENT
Es una unidad lgica de almacenamiento de una base de datos, compuesto por un numero determinado de datablocks contiguos, uno o mas extent constituyen un segmento
Asignacion de extent
Oracle asigna un extent para los datos de una tabla. Si los datos ocupan mas que el tamao que se le ha designado a el segmento, Oracle asigna otro extent de igual o mayor tamao para los nuevos datos.
El almacenamiento para los parmetros next, pctincrease, minextents, maxextents y default storage, no son vlidos para los extent que se manejan localmente.
Alojamiento de Extent
Oracle asigna diferentes algoritmos para asignar extenciones, dependiendo si estn alojadas en forma local o por medio del diccionario de administracin
Liberacin de Extent
Usando DROP TABLE excepto cuando: 1. El dueo de una tabla usa el DELETE_ANY (privilegio), puede truncar la tabla con la sentencia TRUNCATEDROP STORAGE 2. Un DBA puede liberar el espacio de extenciones poco usadas usando
ALTER TABLE n_tabLe DEALLOCATE UNUSED
3. Oracle libera uno o mas extent de un segmento con un rollback si este no tiene el tamao OPTIMAL.
Mas de extents
Extent para tablas Clustered Extent para vistas materializadas Extent para Segmentos temporales Extent para Segmento Rollback
SEGMENT
Es un conjunto de extent que contienen todos los datos para la estructura de almacenamiento lgico en un tablespace. SQL> select * from user_segments;
TIPOS DE SEGMENTOS
Segmento de datos Segmento de indices Segmentos de Rollback Segmentos temporales.
Segmento de datos
Oracle crea este tipo de segmentos cuando se crea una tabla con la clusula CREATE, se hace igual para vistas materializadas.
Segmento de Indices
Oracle crea este tipo de segmentos por ndice o particin de indice cuando se usa CREATE INDEX
SEGMENTOS ROLLBACK
Los segmentos de rollback almacenan la imagen anterior a una modificacin de un bloque. En las operacin de actualizacin, se almacenar el valor antiguo de las columnas modificadas. El segmento de rollback asegura que la informacin undo se guardan durante la vida de la transaccin
SEGMENTOS TEMPORALES
Cuando se ejecutan
- CREATE INDEX - SELECT ... ORDER BY - SELECT DISTINCT ... - SELECT ... GROUP BY - SELECT ... UNION - SELECT ... INTERSECT - SELECT ... MINUS SORT_AREA_SIZE->Tamao del segmento
TABLESPACE
Oracle almacena los datos logicamente en TABLESPACE, y fisicamente en DATAFILES asociado con su correspondiente espacio de tabla
Diferencias
Una base de datos oracle contiene uno o mas TABLESPACE Cada TABLESPACE consta de uno o mas DATAFILES Un dato de una Base de Datos se guarda colectivamente en DATAFILES
AGREGANDO UN TABLESPACE
TABLESPACE
Todas las BD tienen uno llamado SYSTEM que se crea automaticamente Los procedimientos, funciones, paquetes y disparadores residen en SYSTEM
SQL> select * from user_tablespaces;
PARAMETROS DE CRECIMIENTO
initial: tamao de la extensin inicial (10k). next: tamao de la siguiente extensin a asignar (10k). minextents: nmero de extensiones asignadas en el momento de la creacin del espacio de tablas (1). maxextents: nmero mximo de extensiones. pctincrease: Porcentaje en el que crecer la siguiente extensin antes de que se asigne, en relacin con la ltima extensin utilizada. optimal: Tamao ptimo declarado para este espacio de tablas. pctused: porcentaje de utilizacin del bloque por debajo del cual Oracle considera que un bloque puede ser utilizado para insertar filas nuevas en l.
Creacin de un TABLESPACE
CREATE TABLESPACE CREATE DATABASE ALTER TABLESPACE DROP TABLESPACE
CONTROL DE ARCHIVOS
Es un pequeo archivo binario necesario para iniciar y operar exitosamente las Bd. Un archivo de control es modificado continuamente por oracle durante el uso de la BD. Cada archivo de control esta asociado solo con una BD oracle
Cada vez que un datafile es adicionado, modificado o borrado de una BD, el archivo de control es modificado y refleja este cambio en la estructura fsica, estos cambios son registrados as:
Oracle puede identificar los datafiles para abrir durante el inicio de la BD Oracle puede identificar archivos que son requeridos o estn disponibles en caso que sea necesario recuperar la BD
EL DICCIONARIO DE DATOS
Un diccionario de datos contiene:
Las definiciones de todos los esquemas de objetos en la BD (vistas, tablas, indices ...) Cuanto espacio ha sido asignado para el esquema de objetos y cuanto est usado actualmente. Valores por defecto para las columnas
Integridad de la informacin Los nombres de los usuarios Oracle Los privilegios y roles que se les han permitido a cada usuario Informacin de auditoras tales como: Quin accedi a modificar, varios esquemas de objetos. Otra informacin general de la base de datos
Todas las vistas y tablas del diccionario de datos para una BD estn almacenadas en el TABLESPACE SYSTEM de la BD. El diccionario de datos es una til herramienta no slo para cada BD Oracle.
Oracle crea sinnimos pblicos para muchas vistas del diccionario de datos El administrador de seguridad tambin puede crear sinnimos pblicos adicionales
Puede tener sinonimos pblicos abreviados por conveniencia Por ejemplo: SELECT Object_Name, Object_Type FROM User_Objects;
Los pasos de procesamiento de cada peticin de anlisis de una sentencia SQL son:
Comprobar si la sentencia se encuentra en el rea compartida. Comprobar si los objetos referenciados son los mismos. Comprobar si el usuario tiene acceso a los objetos referenciados
Ficheros de la BD
Solo son modificados por el DBWR. Toda actualizacin se guarda en los ficheros de redo log, y se lleva a la BD fsica. Almacenan los segmentos (datos, ndices, rollback) de la BD
Ficheros de Control
Mantienen la informacin fsica de todos los ficheros que forman la BD Contiene informacin como: Infomacin de arranque y parada de la BD. Nombres de los archivos de la BD y redo log. Informacin sobre los checkpoints. Fecha de creacin y nombre de la BD. Estado online y offline de los archivos.
Ficheros de Traza
Ayudan en la diagnosis de problemas y en el ajuste del SGBD. Cada proceso del servidor escribe en un fichero de traza asociado cuando es necesario. Los procesos de usuarios tambin pueden tener asociados ficheros de traza. La situacin de estos ficheros de traza del sistema se especifica por el parmetro BACKGROUND_DUMP_DEST Los de usuario por USER_DUMP_DEST.
El Fichero INIT.ORA
Este fichero contiene los parmetros del sistema Oracle y debe ser utilizado por el DBA para configurar el SGDB
ESTRUCTURA DE PROCESOS
Existen dos tipos de procesos:
Procesos de usuario Procesos del servidor Oracle.
PROCESOS DE ORACLE
ORACLE PROCESS: Invocados por otros procesos para realizar las funciones en nombre del proceso invocando. SERVER PROCESS: Maneja requerimientos de procesos de usuario conectados. Un proceso del servidor se comunica con el proceso de usuario y acta recprocamente con Oracle para llevar a cabo las demandas del proceso del usuario. BACKGROUND PROCESS: consolida funciones que seran por otra parte manejado por programas mltiples de Oracle que corren para cada proceso del usuario.
DATABASE WRITER, DBWR: Es responsable de gestionar el contenido del buffer de los datos, lee los bloques de los archivos de datos y los guarda en SGA.
LOG WRITER, LGWR: pone la informacin de los redolog buffers en los ficheros de redolog. Esto se produce a cada validacin de transaccin, y antes de que se comunique al proceso que todo ha ido bien. As, aunque los ficheros de DB no se actualicen en ese instante con los buffers de BD, la operacin queda guardada y se puede reproducir.
CHECKPOINT (CKPT: Escribe en los ficheros de control los checkpoints. De esta manera se mantiene el estado actual de la DB en algn sitio.
SYSTEM MONITOR, (SMON) : Se encarga de todas las recuperaciones que sean necesarias durante el arranque y se recupera a travs de los archivos REDO LOG y limpia los segmentos temporales no utilizados
PROCESS MONITOR (PMON): Restaura las transacciones no validadas por los procesos de usuario que se abortaron, libera bloqueos y recursos SGA.
RECOVERER (RECO): Asociado con los servidores distribuidos, recupera una transaccin perdida cuando estaba en camino.
ARCHIVER (ARCH): Tiene que ver con los ficheros redo log. Estos ficheros se reutilizan de manera cclica de modo que se van perdiendo los registros redo log que tienen una cierta antigedad. Cuando la BD se ejecuta en modo ARCHIVELOG, antes de reutilizar un fichero redo log realiza una copia del mismo. Job Queue Processes(Jnnn): Son usados para procesos por lotes, son manejados dinmicamente. Esto les permite a los clientes de cola usen ms procesos de cola cuando se requieren, los recursos usados por los nuevos procesos se suelta cuando ellos estn ociosos.
Dispatcher(Dnnn): Son procesos Background opcionales, slo se presenta cuando se usa una configuracin de servidor compartido. Lock Manager Server(LMS): El proceso de bloqueo est asociado al servidor en paralelo.
GRACIAS