Oracle Database 12c en Docker (Persistido)

En el artículo pasado Oracle Database 12c en Docker aprendimos como obtener una imagen de Oracle 12c de la Docker Store y ponerla en marcha. En esta ocasión queremos ir un poco más lejos.

La intención es preparar un ambiente con todo lo necesario para que podamos utilizarlo para nuestros desarrollos.

Como no comparto eso de andar inventando la rueda, en lugar de tomar la imagen oficial de Oracle utilizada, vamos a utilizar una imagen que preparó el usuario «sath89» con…

Oracle Standard Edition 12c Release 1 with data mount support and etc

Pueden encontrarla fácilmente en el Docker Store, pero igual les dejo el  enlace directo: https://hub.docker.com/r/sath89/oracle-12c/

Así como el  comando pull:

docker pull sath89/oracle-12c

Una vez que ha terminado de realizar la descarga, vamos a ejecutar el siguiente comando:

docker run -d -p 8080:8080 --name oracle12c -p 1521:1521 -v D:\V\oracle12c:/u01/app/oracle -e DBCA_TOTAL_MEMORY=1024 sath89/oracle-12c

En donde podemos observar tres binding señalados por pares de valor «x:y». De los cuales «x» corresponde al valor para el host y «y» al valor en el container.

En nuestro ejemplo, 8080 y 1521 son los puertos abiertos, y D:\V\oracle12c es la ruta física en nuestro equipo donde crearemos el volumen para persistir nuestros datos.

Si al ejecutar el comando obtenemos un error del demonio

Error response from daemon: driver failed programming external connectivity on endpoint

Debemos revisar que no estemos haciendo uso previo en nuestro equipo, de los puertos 8080 o 1521.

Para ello, podemos ejecutar los comandos:

netstat -ano|find ":8080"
netstat -ano|find ":1521"

Si ya nos aseguramos que dichos puertos se encuentran libres, y aún así el error persiste.

Detengamos los distintos containers que pudieramos tener ejecutándose en Docker.

Y si a pesar de ello, aún no logramos resolverlo

No tendremos más remedio que, hacer como Rohith Rajan nos dice en…

https://blogs.msdn.microsoft.com/rohithrajan/2018/04/09/docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint/

REINICIA EL EQUIPO

Espera que levante el demonio de Dockers antes de intentar nuevamente, si todo va bien ya debe arrancar.

Conectándonos a la base de datos desde el host

Ahora podremos conectarnos a la base de datos utilizando los siguientes datos:

hostname: localhost
port: 1521
sid: xe
service name: xe
username: system
password: oracle

O si queremos acceder desde el Application Express

Abrimos un browser y en el formulario que nos despliega la url: http://localhost:8080/apex colocamos los siguientes datos:

workspace: INTERNAL
user: ADMIN
password: 0Racle$

Nota: la primera vez que ingresemos nos requerirá cambiar el password.

Una vez realizado, podremos ingresar con el password que hallamos definido

Reinicié el equipo

Luego de reiniciar el equipo, tendremos que arrancar nuestro container para poder hacer uso de nuestro Oracle. Para ello, debemos ejecutar el comando:

docker start oracle12c

Podemos evaluar el arranque con el comando:

docker logs -f oracle12c

Si todo va bien, deberíamos tener la base montada y lista para su uso.

Espero te haya parecido útil este artículo

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo


Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.