Conceptos Fundamentales de Bases de Datos Oracle: Arquitectura, Almacenamiento y Alta Disponibilidad

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,84 KB

Conceptos Clave de Bases de Datos Oracle

Gestión de Permisos y Estructuras Lógicas

  • Permisos:
    • Los Permisos de Sistema (PS) son privilegios de índole administrativa con los que se gestiona la base de datos.
    • Los Permisos de Objeto (PO) permiten o establecen los permisos para la manipulación de objetos.
  • El repositorio de almacenamiento físico lo define el tablespace SYSTEM.
  • Los privilegios se otorgan mediante la sentencia GRANT (ejemplo: GRANT CREATE SESSION TO contabilidad;).
  • Schema: Organización lógica de los objetos de la base de datos.
  • Tablespace: Organiza cómo se guardan los datos en disco.
  • COMMIT: Guarda los cambios de la transacción en curso.

Almacenamiento Físico y Archivos de Configuración

  • Raw Devices: Región contigua de disco accedida a través de una interfaz que provee acceso crudo, es decir, no a través del sistema de archivos.
  • SPFILE: Archivo de configuración binario de la base de datos, contiene parámetros de configuración y se puede modificar en caliente.
  • PFILE: Archivo de configuración en formato de texto.
  • Archivelog: Sirven para procesos de recuperación.

Arquitectura de Memoria (SGA)

La SGA (System Global Area) es un conjunto de estructuras en memoria principal, compartidas por todos los procesos. Incluye:

  • DBC (Database Buffer Cache): Conjunto de bloques de datos de Oracle en memoria principal.
  • SP (Shared Pool): Contiene la Data Dictionary Cache y la Library Cache.
  • LB (Log Buffer): Buffer de logs.
  • LP (Large Pool): Pool grande.
  • JP (Java Pool): Pool de Java.

Procesos de Fondo (Background Processes)

  • DBWR (Database Writer): Escribe bloques de datos modificados del buffer cache a los datafiles.
  • LGWR (Log Writer): Escribe entradas del log buffer a los redo log files.
  • CKPT (Checkpoint): Actualiza el control file y los datafiles con la información de checkpoint, asegurando la consistencia entre la memoria y el disco (bloques dirty).
  • SMON (System Monitor): Realiza la recuperación de instancias al inicio y limpia segmentos temporales.
  • PMON (Process Monitor): Limpia los procesos de usuario fallidos.
  • ARCN (Archiver): Archiva los redo log files.

Estructura y Estados del Bloque Oracle

  • El Bloque Oracle es la unidad básica de almacenamiento de datos.
  • El Body del bloque crece de abajo hacia arriba y contiene registros de una tabla. Solo se almacenan los campos con contenido. No se llena todo el *body* para permitir futuras actualizaciones.
  • Chain: Inserción de campos de un mismo registro en varios bloques.
  • El Header contiene información acerca de las transacciones que están sobre el bloque y los Slots de transacciones.
  • Tamaño del bloque: entre 2KB y 32KB.

Estados de los Bloques en Memoria Principal

  • Free: Estado inicial.
  • Dirty: En actualización (estado pinned).
  • Clean: Libre.

El criterio de selección de bloques es LRU (Least Recently Used): el menos recientemente usado.

El Log Buffer (LB), generalmente menor a 2MB y de naturaleza circular, contiene trazas de todas las sentencias que se están ejecutando en la base de datos y se van bajando a los Online Redo Logs.

Control File y Archivelog

  • Control File: Contiene la información de la consistencia de la base de datos (aproximadamente 100MB, sincronizado entre memoria principal y disco). Si el sistema cae, SMON revisa el *Control File* y compara la última sesión; si algo falla, SMON inicia la recuperación de la instancia.
  • Archivelog: Copias antiguas de los Online Redo Logs.

Almacenamiento Externo

  • Almacenamiento Externo: Máquinas con Discos Duros (DD).
  • SAN (Storage Area Network): Red de área de almacenamiento.
  • NAS (Network Attached Storage): Almacenamiento conectado a la red.

Gestión de Almacenamiento y Grid Infrastructure

  • ASM (Automatic Storage Management): Manejador de discos duros de Oracle.
  • Para que dos máquinas instancien una misma base de datos, se necesita la suite Oracle Grid Infrastructure (Oracle Grid).

Alta Disponibilidad

La Alta Disponibilidad se logra mediante el uso de clusters (configuraciones activo-activo o activo-pasivo).

Configuraciones RAID

  • RAID 10: Mínimo 4 discos, luego crece de 2 en 2.
  • RAID 0: Segmentación de datos en N discos, superando la velocidad de lectura/escritura.
  • RAID 1: Dos discos (espejo).
  • RAID 5: Algoritmo de paridad. Capacidad entre el 80-85%. Balance entre costo y eficiencia. Los bloques de paridad no se leen en operaciones de lectura, solo cuando hay errores.

Vistas en Bases de Datos

Las Vistas son ventanas de información de tablas, se soportan sobre sentencias SQL. Solo contienen la sentencia CREATE OR REPLACE VIEW AS SELECT ....

Tipos de Vistas y Ejemplos

  • Vistas Simples: Basadas en una sola tabla, sin modificadores, sin grupos, sin joins. Permiten operaciones DML si las columnas cumplen con las reglas de integridad.
  • Para listar vistas: SELECT * FROM user_objects WHERE object_type='VIEW';
  • La cláusula FORCE permite crear vistas incluso si las tablas subyacentes no existen.
  • Ejemplo de creación de tabla con tablespace y storage: CREATE TABLE jjj (jj VARCHAR2(10)) TABLESPACE ts_nom STORAGE (INITIAL 50G);

Estructuras de Almacenamiento Lógico y Físico

  • Segmento: Espacio lógico ocupado por un objeto (ej. una tabla).
  • Datafile: Espacio físico que ocupa el segmento.
  • Extent: Conjunto de bloques contiguos.

Entradas relacionadas: