Proceso Detallado del Inicio y Cierre de Bases de Datos Oracle y Vistas del Diccionario
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,42 KB
Etapas en el Inicio y Cierre de la Base de Datos
Proceso de Inicio
El inicio de una base de datos Oracle consta de varias fases:
1. Inicio de la Instancia (NOMOUNT)
Una instancia se inicia sin montar una base de datos únicamente durante la creación inicial de la base de datos o la recreación de archivos de control. El inicio de la instancia incluye las siguientes tareas:
- Lectura del archivo de parámetros (por ejemplo,
initSID.ora
o SPFILE). - Asignación de la memoria para la SGA (System Global Area).
- Inicio de los procesos Oracle en segundo plano (background processes).
- Apertura del archivo de alerta (
alert_SID.log
) y los archivos de rastreo (trace files).
2. Montaje de la Base de Datos (MOUNT)
Para realizar ciertas operaciones de mantenimiento específicas, se inicia una instancia y se monta la base de datos, pero no se abre. La base de datos debe estar en estado montado (MOUNT) pero no abierto (OPEN) durante operaciones como:
- Renombrar o mover archivos de datos.
- Activar o desactivar las opciones de archivado de Redo Log (ARCHIVELOG / NOARCHIVELOG).
- Realizar una recuperación completa de la base de datos (full database recovery).
El montaje de la base de datos incluye las siguientes tareas:
- Asociación de una base de datos específica con la instancia iniciada previamente.
- Ubicación y apertura de los archivos de control especificados en el archivo de parámetros.
- Lectura de los archivos de control para obtener los nombres y el estado actual de los archivos de datos y los archivos de Redo Log.
3. Apertura de la Base de Datos (OPEN)
La apertura completa de la base de datos permite que cualquier usuario válido se conecte y realice operaciones normales de acceso a datos. Esta fase incluye:
- Apertura de todos los archivos de datos asociados a la base de datos.
- Apertura de los archivos de Redo Log en línea.
Durante esta etapa, el servidor Oracle comprueba que todos los archivos de datos y de Redo Log estén presentes y se puedan abrir correctamente. También verifica la consistencia de la base de datos. Si la base de datos no se cerró limpiamente (por ejemplo, tras un SHUTDOWN ABORT o una caída), el proceso SMON (System Monitor) iniciará automáticamente la recuperación de instancia (instance recovery).
Proceso de Cierre
Al cerrar una instancia de base de datos, se realizan los siguientes pasos, generalmente en orden inverso al proceso de inicio:
1. Cierre de la Base de Datos (CLOSE)
El servidor Oracle realiza las siguientes acciones:
- Escribe los cambios pendientes desde la caché de buffers de datos (database buffer cache) a los archivos de datos.
- Escribe los registros pendientes desde la caché de buffers de Redo Log (redo log buffer) a los archivos de Redo Log en línea.
- Realiza un checkpoint final.
- Cierra todos los archivos de datos y los archivos de Redo Log en línea.
En esta fase, los archivos de control permanecen abiertos.
2. Desmontaje de la Base de Datos (DISMOUNT)
Al desmontar la base de datos, el servidor Oracle cierra los archivos de control, desvinculando así la base de datos de la instancia.
3. Cierre de la Instancia (SHUTDOWN)
Este es el último paso del proceso de cierre. Cuando se detiene la instancia, se realizan las siguientes acciones:
- Se cierra el archivo de alerta (
alert_SID.log
) y los archivos de rastreo asociados. - Se libera la memoria asignada a la SGA.
- Se terminan (detienen) todos los procesos Oracle en segundo plano asociados a la instancia.
Vistas del Diccionario de Datos
El diccionario de datos es un conjunto de tablas y vistas internas que almacenan metadatos sobre la estructura, objetos y administración de la base de datos. Se accede a esta información mediante vistas predefinidas, que comúnmente se clasifican según su prefijo:
DBA_
: Estas vistas muestran una perspectiva global de toda la base de datos. Proporcionan información sobre todos los objetos, usuarios, roles, etc., independientemente de quién sea el propietario. Generalmente, solo los usuarios con privilegios de administrador (DBA) tienen acceso a estas vistas. Ejemplo:DBA_TABLES
lista todas las tablas existentes en la base de datos.ALL_
: Devuelven información acerca de todos los objetos a los que el usuario actual tiene acceso. Esto incluye los objetos que posee el usuario y aquellos sobre los que se le han concedido permisos (privilegios). Ejemplo:ALL_TABLES
muestra todas las tablas que el usuario actual puede ver o utilizar.USER_
: Estas vistas hacen referencia únicamente a los objetos contenidos en el esquema del usuario actual, es decir, los objetos que posee dicho usuario. No muestran información sobre objetos de otros esquemas, incluso si el usuario tiene permisos sobre ellos. Ejemplo:USER_TABLES
muestra solo las tablas creadas por el usuario que ejecuta la consulta.