Base de Datos, Instancia e Instancia de BD en Oracle
Base de Datos, Instancia e Instancia de BD en Oracle

Base de Datos, Instancia e Instancia de BD en Oracle

Oracle como gestor de Bases de Datos

Sabemos que Oracle ̧ conocido también como ORDBMS (Object-Relational Database Management System) es sumamente útil para la gestión de Base de Datos. Al ser un programa de gestión de Bases de Datos del tipo objeto-relacional, se ha convertido en una herramienta indispensable para las grandes empresas que buscan poder controlar y gestionar una gran cantidad de contenido desde un solo archivo. De ese modo, Oracle ayuda no solo a reducir gastos sino a evitar la pérdida de información. 

Cuando comenzamos a trabajar con Oracle una de las primeras cosas que debemos aprender a diferenciar son estos conceptos: Base de Datos, Instancia e Instancia de Base de Datos.

¿Qué es una Base de Datos en Oracle? 

La BD es el almacenamiento real, que contiene la colección de archivos. El término “Base de Datos Oracle” se usa para referirse a todo el sistema de Oracle (instancias y BD); debido a esto, siempre hay cierta confusión entre los dos términos. 

En términos más técnicos, la Base de Datos Oracle es un conjunto de datos almacenado y accesible según el formato de tablas relacionales. Una tabla relacional tiene un nombre, unas columnas y su definición. Los datos están almacenados en las filas y  las tablas pueden estar relacionadas con otras.

Una BD Oracle está almacenada físicamente en ficheros, y la correspondencia entre los ficheros y las tablas es posible gracias a las estructuras internas de la BD, que permiten que diferentes tipos de datos están almacenados físicamente separados. Está división lógica se hace gracias a los espacios de tablas, tablespaces.

Una base de datos Oracle consta de tres tipos de ficheros:

  • Ficheros de datos: contienen los datos reales de la base de datos. Los datos se almacenan en tablas definidas por el usuario, pero también contienen el diccionario de datos, índices y otros tipos de estructuras. Los ficheros de datos tienen las siguientes características:
    • Un fichero de datos exclusivamente está asociado con una sola base de datos Oracle.
    • Uno o más ficheros de datos forman una unidad lógica de almacenamiento de base de datos llamada tablespace.
  • Ficheros Redo Log: contienen los cambios efectuados en la base de datos para poder recuperar ante fallos.
  • Ficheros de Control: contienen la información necesaria para mantener y verificar la integridad de la BD. Por ejemplo, un fichero de control se usa para identificar los ficheros de datos y redo log. Una base de datos Oracle necesita al menos un fichero de Control.

¿Qué es una Instancia en Oracle? 

En Oracle una instancia es la combinación de los procesos en background y las estructuras de memoria. Para acceder a los datos contenidos en la base de datos, hay que iniciar la instancia. Cada vez que se inicia una instancia se asigna un área global del sistema (SGA) y se inician los procesos en background Oracle. De esa manera, Oracle utiliza un conjunto de procesos (Instancia) que son compartidos por todos los usuarios. Además, existen estructuras de memoria que son utilizadas para almacenar los datos más recientemente solicitados a la BD.

Resumiendo, una instancia de BD son las estructuras de memoria y procesos que acceden a los ficheros de datos.

Los parámetros que determinan el tamaño y composición de una instancia están almacenados en un fichero llamado init.ora. Este fichero es leído durante el arranque de la BD y puede ser modificado por el DBA. Cualquier modificación de este fichero no tiene efecto hasta la siguiente vez que se arranque la BD.

Una instancia sólo podrá abrir y utilizar una base de datos a la vez, aunque una BD podría ser utilizada por varias instancias, como ocurre en el sistema de alta disponibilidad de Oracle Real Application Cluster (RAC).

¿El Instancia de BD cómo se utiliza? 

Como vimos anteriormente ya sabemos que es una BD y una Instancia en Oracle, pero ¿cuándo nos referimos a una “Instancia de Base de Datos” a qué nos referimos exactamente?, 

Pues bien. Poniéndolo en términos más sencillos: por un lado tenemos la Instancia que es el conjunto de procesos que se ejecutan en el servidor así como la memoria que comparten para ello. Pero cuando hablamos de Base de Datos, nos referimos a los archivos físicos que componen nuestra base de datos. Para referirnos a procesos ejecutables en memoria utilizaremos el término instancia de base de datos.

cerrar