ARQUITECTURA DE ORACLE
Enviado por Gabriela Pilar Condori Huanca • 6 de Agosto de 2021 • Documentos de Investigación • 5.135 Palabras (21 Páginas) • 119 Visitas
Gestión de Bases de Datos Tema 5: Arquitectura de Oracle
ARQUITECTURA DE ORACLE
- Introducción
- Una BD Oracle es un conjunto de datos organizados según el modelo relacional.
- Cada servidor de Oracle está constituido por una BD y una instancia.
- BD lugar donde se almacenan los datos
- instancia constituye el mecanismo que permite su manipulación.
- Estructura lógica: compuesta por tablespaces y un conjunto de objetos (tablas,vistas,índices...).
- Estructura física: tres tipos de ficheros:
- uno o más ficheros de datos,
- dos o más ficheros de rehacer y
- uno o más ficheros de control.
- Una instancia es el conjunto de estructuras de memoria (SGA) y procesos en background:
- Procesos de usuario: Ejecutan el código de una aplicación.
- Procesos de Oracle: Atienden a los procesos de usuario y realizan el mantenimiento de la BD.
- Estructura de la Base de Datos
- Ficheros de datos y espacios de tablas.
- Oracle almacena lógicamente los datos en unas estructuras llamadas tablespaces, las cuales se almacenan físicamente en datafiles (ficheros de datos).
- BD se componen de uno o más tablespaces.
- Cada tablespace consiste de uno o más ficheros de datos.
- Cada fichero de datos no puede contener más de un tablespace.
- Oracle cuenta con un tablespace especial llamado SYSTEM creado automáticamente durante el proceso de instalación. Utilizado para la propia gestión de la BD.
- Una BD puede estar constituida únicamente por un tablespace SYSTEM: recomendable crear al menos un tablespace adicional.
- Tareas del administrador de la BD:
- Controlar el espacio de disco reservado para los datos.
- Añadir datafiles a los tablespaces.
- Asignar cuotas de espacio a los usuarios.
- Realizar copias de seguridad o recuperaciones parciales de la BD.
- Los tablespaces constituyen la ‘ventana’ a través de la cual los usuarios y diseñadores de la BD ven los datos almacenados en los datafiles. Administrador encargado de mantener las relaciones entre tablespaces y datafiles.
- Objetos.
- Un objeto Oracle es un elemento creado y almacenado en la BD (en los tablespaces). Ejemplos: tablas, vistas, sinónimos, índices, secuencias, clusters etc.
- Tablas:
-Unidad básica de almacenamiento de datos.
-Consta de un número fijo de columnas que describen los atributos de la entidad que representa la tabla.
-Cada columna es de un tipo de datos y se identifica por un nombre.
-Sobre la tabla se pueden imponer restricciones. Tipos de restricciones:
-Clave primaria (PRIMARY KEY)
-Valor nulo no admitido (NOT NULL)
-Columna exclusiva (UNIQUE)
-Valor por omisión (DEFAULT).
-Clave ajena (FOREIGN KEY).
- Esquema:
-Es el conjunto de objetos que posee una cuenta.
-Para referirnos a un objeto determinado deberemos indicar a que esquema pertenece: nom_esquema.nom_objeto.
- Vistas:
-Una vista es básicamente un subconjunto de las columnas y/o filas de una tabla (u otras vistas).
-Se define como una consulta y es tratada como una tabla.
-Una vista no almacena datos, sólo se almacena la consulta que la define.
- Secuencias:
-Cada secuencia genera una serie única de números.
-Útil en la generación única de claves.
-Pueden ser cíclicas o crecer hasta un valor máximo
- Sinónimos:
-Identificador alternativo para denotar un objeto.
-Se utilizan para: enmascarar el nombre y propietario de un objeto, dar transparencia a objetos remotos de BD distribuidas y simplificar sentencias SQL.
- Índices:
-Proporcionan un acceso más rápido a los datos.
-Una vez creados son mantenidos por Oracle y utilizados para la recuperación de datos.
-Se pueden crear hasta un máximo de 32 columnas.
-Implementación de índices mediante B+ trees que por ser árboles balanceados igualan el tiempo de acceso a cualquier fila.
- Clusters:
-Agrupamiento de tablas que se almacenan juntas físicamente.
-Ventajas:
-Se reduce el acceso a disco cuando están involucradas esas tablas
-Las columnas comunes se almacenan una sola vez.
- Procedimientos, funciones, paquetes:
-Funciones y procedimientos son bloques de sentencias PL/SQL que se almacenan en el diccionario de datos.
-Se pueden agrupar procedimientos y funciones en paquetes.
- Disparadores:
-Procedimientos que se ejecutan cuando se produce un evento en la BD.
-Se utilizan para aumentar la integridad referencial, conseguir mayor seguridad o mejorar las opciones de auditoría.
- Enlaces de BD:
-Sirven para especificar una vía de acceso a un objeto situado en una BD remota.
- Bloques de datos, extensiones y segmentos.
- Bloques de datos
- Unidad de entrada/salida más pequeña usada por Oracle.
- Se define en la creación de la BD y no se puede modificar.
- Elementos en un bloque de datos:
- Cabecera: información general del bloque (dirección, tipos de datos que contiene. 84 a 107 bytes.
- Directorio de tablas: tablas que tienen filas en ese bloque.
- Directorio de filas: filas que hay en ese bloque.
- Datos de filas. Contiene los datos de la tabla o índice.
- Espacio libre: utilizado para la inserción o modificación de filas.
- Parámetros: PCTFREE y PCTUSED controlan el espacio libre del bloque durante inserciones y modificaciones.
- Defragmentación de la zona de datos de un bloque a causa del borrado y modificación. Se compacta cuando se realizan inserciones o modificaciones en bloques con suficiente espacio libre.
- Fila de una tabla pueden estar en varios bloques.
- Extensiones
- Una extensión está compuesta por un número específico de bloques de datos contiguos en disco.
- Segmentos
- Segmentos: conjunto de extensiones no necesariamente contiguos en disco.
- Alojamiento de los objetos de la BD (tablas, índices, clusters, etc).
- Un segmento es creado inicialmente con al menos una extensión: INITIAL EXTENT.
- se añade otra extensión (INCREMENTAL EXTENT) cuando se llena. Tamaño depende del tipo de datos que almacene.
- Tipos de segmentos:
- Segmentos de datos:
- Cada una de las tablas se almacenan en un data segment distinto (excepto clusters).
- Sintaxis de CREATE TABLE (se especifica los parámetros PCTFREE y PCTUSED y la evolución de los segmentos:
INITIAL: Tamaño de la extensión inicial del segmento.
NEXT: Tamaño de las próximas extensiones
PCTINCREASE: Porcentaje que debe crecer cada nueva extensión.
MINEXTENTS: número de extensiones que tendrá inicialmente la tabla.
MAXEXTENTS: número de extensiones máximas que tendrá la tabla.
CREATE TABLE [usuario.]tabla
({columna tipo_dato [DEFAULT expresion]
[restricción_columna] | restricción_tabla}
[,{ columna tipo_dato [DEFAULT expresion]
...