Cómo desplegar un servidor de Oracle Database 21c en cuestión de segundos mediante Docker. Explicamos cómo crear la base de datos, cómo establecer la contraseña para los usuarios SYS y SYSTEM y cómo habilitar el acceso externo. Probamos el acceso al servidor de base de datos Oracle desde otro equipo mediante Oracle SQL Developer.

Requisitos para montar un servidor Oracle Database 21c en Docker

El único requisito es disponer de un equipo con Docker. O bien en Windows, como indicamos en este tutorial:

O bien en Linux, como indicamos en este otro tutorial:

Necesitaremos disponer también de una cuenta en Oracle (usuario y contraseña). Si no la tenemos, nos registraremos en la web oficial de Oracle. Esto es necesario para la descarga del contenedor, como veremos a continuación.

Descargar y desplegar contenedor Oracle Database 21c

En primer lugar, abriremos una ventana de consola shell de comandos (sea en Windows o en Linux). Desde esta consola ejecutaremos el siguiente comando docker, para iniciar el login en la web de Oracle (con usuario y contraseña de Oracle):

El comando anterior nos solicitará que introduzcamos usuario y contraseña de la web de Oracle. Introduciremos estos datos pulsando en INTRO.

Si indica el mensaje «Login Succeeded» continuaremos con el proceso. Si produce algún error, revisaremos usuario y contraseña del sitio web oficial de Oracle.

Un vez registrados, ejecutaremos el siguiente comando docker para descargar e instalar el contenedor Oracle Database 21. Este proceso tardará varios minutos, dado que descargará unas 4GB:

Desplegar imagen e iniciar instancia de servidor de Oracle Database en Docker

Una vez descargado y desplegado el contenedor, desplegaremos una imagen del contenedor, para iniciar una instancia de servidor de Oracle Database, con el siguiente comando Docker. Es importante mencionar que en el parámetro –name se le indica el nombre de la imagen, en este caso «bdproyectoa»:

Una vez finalizado el proceso de despliegue de la imagen Oracle Database (bdproyectoa), comprobaremos que, efectivamente, está levantada, con el comando Docker:

Nos devolverá las imágenes de los contenedores y su estado, entre ellos debe aparecer la imagen «bdproyectoa»:

Establecer configuración inicial de la base de datos Oracle Database en Docker

Generaremos los usuarios, base de datos y contraseñas predeterminadas en el servidor de base de datos Oracle Database desplegado. Para ello, ejecutaremos el siguiente comando Docker:

Se puede consultar el resultado de la salida del comando anterior en el Anexo de este tutorial.

Establecer contraseña personalizada para usuarios SYS y SYSTEM de Oracle en Docker

Para establecer la contraseña de los usuarios sys y system de Oracle en Docker, ejecutaremos el siguiente comando:

Nota: la contraseña debe ir entre comillas dobles, de lo contrario podría no establecerse correctamente. Se establecerá esta contraseña para los usuarios base de Oracle (SYS, SYSTEM, etc.).

Se puede consultar el resultado de la salida del comando anterior en el Anexo de este tutorial.

Conectar con la base de datos Oracle Database de Docker desde el propio equipo con Docker

Para conectar con la base de datos Oracle desde el equipo que tiene Docker Desktop, ejecutaremos el siguiente comando Docker (con el comando sqlplus de Oracle):

El comando anterior lanzará, a su vez, el comando «sqlplus …» en la imagen «bdproyectoa» con Oracle Database. Dado que hemos indicado usuario y contraseña en el propio comando, conectará directamente con Oracle Database:

Desde aquí podremos ejecutar cualquier comando Oracle, como por ejemplo, el siguiente comando para consultar el nombre de la instancia de la base de datos y su estado de ejecución:

Nos devolverá la instancia por defecto «ORCLCDB» y el estado «OPEN».

Podremos, por supuesto, crear tablas, insertar registros, listar registros, etc:

Desplegar imagen Oracle en Docker con acceso externo

Para desplegar una imagen de un contenedor Docker con acceso externo (usando el puerto 1521), usaremos el siguiente comando Docker:

Creará una imagen llamada «bdproyectoaext» escuchando por el puerto 1521. Desde un equipo de la misma red del equipo que tiene Docker Desktop, abriremos SQL Derveloper (o cualquier otro cliente Oracle) y conectaremos con la base de datos:

Anexo

Resultado de la ejecución del comando:

Resultado de la ejecución del comando: