Componentes y Arquitectura de una Base de Datos Oracle
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 6,59 KB
Archivos Principales
- Control File: Contiene información sobre los archivos físicos, nombre de la base de datos (BD), tamaños de bloque e información para la recuperación. Son requeridos para abrir la BD.
- Data File: Contiene la información que registran las aplicaciones de los usuarios finales.
- Redo Log: Registran todos los cambios hechos a la BD y el estado de recuperación.
- Pfile y SPfile: Son archivos que contienen parámetros de configuración de la SGA, características opcionales de Oracle y procesos en segundo plano (background processes).
Instancia y Servidor Oracle
- Una instancia de Oracle está conformada por una estructura de memoria llamada SGA y varios procesos en segundo plano.
- Un servidor de Oracle consiste en una instancia y una BD Oracle.
- Una instancia es una estructura temporal de memoria, pero la BD está basada en archivos físicos (Control File, Data File y Redo Log).
Procesos en Segundo Plano (Background Processes)
- PMON (Process Monitor): Limpia las conexiones fallidas a la BD.
- SMON (System Monitor): Ejecuta la recuperación de una instancia ante una caída.
- DBWn (Database Writer): Escribe los bloques de memoria modificados en la SGA.
- LGWR (Log Writer): Escribe información de la SGA (Redo Log Buffer).
- CKPT (Checkpoint): Actualiza los archivos de la BD después de los eventos de checkpoint.
Áreas de Memoria
- PGA (Program Global Area): Es una región de memoria asociada a cada proceso servidor, la cual contiene datos e información de control para cada una de las sesiones que los usuarios mantienen. No es un área de memoria compartida.
- SGA (System Global Area): Conjunto de memoria compartida que contiene datos e información de control para una determinada instancia de Oracle y está compuesta por:
- Shared Pool: Caché de memoria que almacena sentencias SQL y PL/SQL.
- Library Cache: Almacena el texto de la instrucción.
- Dictionary Cache: Almacena la información de uso más reciente sobre el Diccionario de Datos (DD).
- Database Buffer Cache: Contiene los datos más recientemente leídos.
- Redo Log Buffer: Almacena información sobre transacciones con propósito de recuperación.
- Shared Pool: Caché de memoria que almacena sentencias SQL y PL/SQL.
Tablespaces
- Los tablespaces pueden ocupar uno o más datafiles.
Diccionario de Datos
- Está compuesto por un conjunto de tablas y vistas asociadas que almacenan información sobre los componentes de la BD, así como su estructura lógica y física.
- Incluye dos tipos de objetos:
- Tablas base: Se crean automáticamente con el comando
CREATE DATABASE. - Vistas: Se crean al ejecutar el script
catalog.sql.
- Tablas base: Se crean automáticamente con el comando
- Contiene información sobre tablas, índices, sinónimos, procedimientos, funciones, paquetes, triggers, usuarios y privilegios.
- Vistas del Diccionario de Datos:
- DBA: Todos los objetos en la BD.
- ALL: Objetos accesibles para el usuario conectado.
- USER: Objetos propiedad del usuario conectado.
Control File
- Fichero binario sin el cual no es posible arrancar la BD.
- Se lee al montar la BD.
- Está asociado solo a una BD.
- Contiene información como: nombre de la BD, fecha de creación, nombre de los tablespaces, nombre y localización de los ficheros de control y de redo, números de secuencia del registro en curso, información del checkpoint e información del backup.
Backup del Control File
- Parar la BD.
- Hacer una copia física del fichero a nivel de sistema operativo.
- Incluir la nueva copia en el archivo
init.oraen el parámetrocontrol_files. - Respaldar después de que la BD ha cambiado:
ALTER DATABASE BACKUP CONTROLFILE TO 'filename';De esta forma, se crea en un fichero de traza las sentencias SQL necesarias para volver a crear el fichero de control.
Redo Log File
- Proveen información de las transacciones ante un evento de falla de la BD.
- Una BD requiere al menos dos grupos.
- Log Switch: Ocurre cuando un grupo redo log se llena y el LGWR pasa al siguiente.
- Forzar un switch:
ALTER SYSTEM SWITCH LOGFILE; - Forzar un checkpoint:
ALTER SYSTEM CHECKPOINT; - El LGWR escribe al hacer commit o cada 3 segundos.
- Agregar un grupo redo log:
ALTER DATABASE [BD] ADD LOGFILE [grupo]; - Eliminar un grupo redo log:
ALTER DATABASE [BD] DROP LOGFILE [grupo]; - Borrar miembros:
ALTER DATABASE [BD] DROP LOGFILE MEMBER 'filename'; - Noarchivelog: Los archivos redo son reescritos cada vez que el archivo se llena y ocurre un log switch. LGWR no sobreescribe un grupo hasta que el checkpoint para el grupo se completa.
- Archivelog: Los grupos inactivos y llenos son archivados. Se pueden hacer respaldos físicos para recuperar la BD sin perder la información actualizada.
Estructura Lógica y Física
- Estructura Lógica: Database, Tablespace, Segment, Extent, Oracle Block.
- Estructura Física: Archivos de datos, de redo log y de control.
Tipos de Tablespace
- De datos.
- De índices.
- De rollback.
- Temporales.
- El tablespace UNDO solo puede contener segmentos de rollback.
- Los tablespaces temporales se ocupan cuando la memoria está llena, para operaciones como
ORDER BY,JOINyCREATE INDEXque no caben en la memoria.
Ejemplo de Creación de Usuario
ALTER USER <usuario>
IDENTIFIED BY <contraseña>/EXTERNALLY
DEFAULT TABLESPACE <espacio>
TEMPORARY TABLESPACE <espacio>
QUOTA <xx>K/UNLIMITED ON <espacio>
DEFAULT ROLE <role>/ALL/ALL EXCEPT <role>/NONE
PROFILE <perfil>
PASSWORD EXPIRE
ACCOUNT LOCK/UNLOCK;