Cómo instalar la versión gratuita de Oracle Database en Linux

Continuamos hablando de los productos de Oracle, en este caso vamos a ver cómo instalar la versión gratuita para desarrolladores, sobre un servidor con Oracle Linux, en su versión 9. Meeeee, resulta que la versión gratuita de Oracle Database 23c Free todavía no está para la versión 9, por lo que voy a utilizar la 8. Pero vamos, es lo mismo. En vez de pasar de Rocky Linux 9 a Oracle Linux 9, cómo vimos en la última entrada, pasáis de Rocky Linux 8 a Oracle  Linux 8, el script es el mismo.

Vamos a instalar la última versión que es la Oracle Database 23c Free. Esta versión está pensada para las personas y equipos de desarrollo, científicos de datos, DBA o docentes, o simplemente para gente que tenga interés o sea un apasionado de las bases de datos.

Para la instalación vamos a utilizar el VPS que he creado con Oracle Linux 8, en mi proveedor de confianza Clouding.io, como no podía ser de otra manera.

Logo oficial de la compañía Oracle

Instalar la versión gratuita de Oracle Database 23c Free en Oracle Linux 8

Antes de continuar, si quieres ver las características y ventajas de esta versión, te recomiendo que visites esta página: Oracle Database Free

Una vez hecho esto vayamos al turrón, primero de todo veamos los requisitos mínimos para la instalación sobre Oracle Linux 8

Requisitos mínimos

No son muchos requisitos, básicamente trabajar sobre un sistema GNU/Linux soportado, el recomendado es Oracle Linux, ya que da acceso de forma fácil a los repositorios.

Los protocolos de red soportado son IPC, UDP, TCP/IP y TCP/IP sobre SSL

De espacio de disco necesitamos por lo menos 10 GB y de memoria 1 GB de RAM, aunque lo recomendado son 2GB

Sobre la memoria SWAP

Respecto a la memoria transaccional o SWAP, es necesaria 2 GB. En este caso los VPS ofrecidos por Clouding.io no tienen SWAP, pero no hay problema, ya os expliqué como asignar memoria SWAP a un VPS.

En mi caso ha quedado así:

Añadimos 2 GB de SWAP

Requisitos a nivel de Kernel

El RPM de preinstalación de la base de datos Oracle verifica la configuración de los parámetros del kernel en el sistema. Si los valores de los parámetros del kernel de su sistema son menores que los valores enumerados en la siguiente tabla, entonces el RPM de preinstalación de la base de datos Oracle establece los valores mínimos recomendados de los parámetros del kernel por nosotros.

Parámetros a modificar del kernel

Estos parámetros se han de indicar en el fichero /etc/sysctl.d/97-oracle-database-sysctl.conf .

Restricciones de licencia

Oracle precisamente no tiene fama de ser barato, por lo que este producto gratuito tiene sus limitaciones, que son:

  • La licencia se limita a dos núcleos para su procesamiento. Esto es, si hacemos funcionar Oracle Database sobre un servidor con más núcleos, este producto no usará más de dos.
  • La licencia permite una sola instalación por entorno lógico. Si deseamos iniciar más de una instalación en el mismo entorno, se mostrará un error y la base de datos no se iniciará.
  • La cantidad máxima de datos de usuario no puede exceder de 12 GB. Si los datos superan este límite, el sistema mostrará también un error.
  • La cantidad máxima de RAM no puede exceder los 2 GB, incluso si hay más disponibles.

Instalación de Oracle Database Free 23c

Debemos realizar los siguientes pasos para instalar y configurar Oracle Database Free 23c utilizando paquetes RPM

Antes de instalar, hay que desinstalar cualquier Oracle Database XE u Oracle Database Free o base de datos existente con SID XE o FREE del sistema de destino.

La instalación gratuita utiliza aproximadamente 9 GB de espacio en disco en /opt. Si esta partición de disco no tiene disponible el espacio requerido, hay que agregar espacio o montar una partición alternativa como /opt/oracle. Esta partición de disco se define como base de Oracle donde residirán el software y la base de datos.

Instalar Oracle Databaes Free desde RPM

Utilizamos sudo para acceder con permisos de root, sino lo estamos ya.

sudo -s

Habilitamos el repositorio de Oracle Linux 8 Developer Channel

dnf install -y oraclelinux-developer-release-el8

Para muestra un botón:

Habilitamos el repositorio Developer Release para OL8

Si lo deseamos también podemos habilitar el repositorio para instancias cloud:

dnf config-manager --set-enabled ol8_developer

Procedemos con la instalación:

dnf -y install oracle-database-preinstall-23c

En el siguiente paso, nos vamos a la web de Oracle y descargamos la versión que nos interesa: https://www.oracle.com/database/technologies/free-downloads.html

Y nos descargamos el correspondiente paquete RPM

wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23c-1.0-1.el8.x86_64.rpm

E instalamos:

dnf -y localinstall oracle-database-free-23c-1.0-1.el8.x86_64.rpm

Con el resultado:

Instalamos el paquete RPM descargado

De esta manera la parte de instalación ya está completa.

Crear y configurar la base de datos

El script de configuración crea una base de datos contenedora (FREE) con una base de datos conectable (FREEPDB1) y configura el «listener» en el puerto predeterminado (1521).

Podemos modificar los parámetros de configuración editando el archivo /etc/sysconfig/oracle-free–23c.conf.

Accedemos otra vez con privilegios de root, sino los tenemos ya:

sudo -s

Ejecutamos el script de configuración:

/etc/init.d/oracle-free-23c configure

Con el resultado:

Iniciamos la configuración de la base de datos

Aquí ojo con el nombre  definido en el fichero «/etc/hosts«, si no está asociada la IP con el nombre del equipo, no arrancará el  motor de base de datos.

Desde la consola de comandos debemos especificar una contraseña para las cuentas de usuario administrador SYS, SYSTEM y PDBADMIN. Oracle recomienda que la contraseña tenga al menos 8 caracteres de longitud, por lo menos 1 carácter mayúscula y 1 carácter en mínuscula, además de un dígito del 0 a 9

Configurar variables de entorno para Oracle Database

Después de instalar y configurar Oracle Database Free, configure el entorno antes de utilizar Oracle Database Free.

Utilizamos los scripts oraenv y coraenv para configurar sus variables de entorno.

Por ejemplo, para configurar las variables de entorno en el shell Bourne, Bash o Korn sin que el script nos lo solicite:

export ORACLE_SID=FREE 
export ORAENV_ASK=NO 
. /opt/oracle/product/23c/dbhomeFree/bin/oraenv

Esta entrada a quedado algo extensa. No lo tenía previsto, pero en la siguiente entrada, antes de pasar al tema la monitorización con Zabbix de este Oracle Database Free 23c, os explicaré como conectarnos a la base de datos.

Fuentes Consultadas

Docs.oracle.com – Installation Guide for Linux x86-64 (en inglés)