Ir al contenido principal

ORACLE DATABASE SOBRE DOCKERS

Oracle Database sobre Dockers

Al hablar de Oracle Database sobre docker, lo que mas desconocemos es el termino docker, Que es?, Como lo uso?, Para que me sirve?, Que hace Oracle ahi?, Todas esas preguntas te las responderé a continuacion.

Primero empecemos por Docker, te preguntaras que es? y para que sirve? bueno si estas en este blog es porque te interesa las nuevas tecnologias y estas a la vanguardia de los nuevos programas que se desarrolan, pero recordemos tambien que muchos de estos programas se desarrollan para un determinado OS(Operating System), es decir Windows (Microsoft), MacOs (Apple), etc. Muchos de estos programas que se desarrolan en un determinado OS corren muy bien para el OS en el cual fue creado, resultando que en el otro OS existan muchas fallas e inlcuso muchas de las funciones no se encuentren causando un gran dolor de cabeza entre muchos programadores hasta usuarios que no sabens que sistema operativo elegir. Para esto se crearon varias soluciones y si! en lo primero que pense tambien fue en las famosas maquinas virtuales pero tambien existen mas formas y una de ellas es docker. Te lo dejare todo esto un poco mas facil mediante una analogia y como docker es una de las mejores soluciones para esto.

Untitled

En la imagen podemos ver un par de barcos los cuales llegan con mercancía, imaginemos que estos barcos viajaron desde Europa hacia America, se cargo un barco y para que este entre en el barco fue desarmado y asi enviado hasta America, llegando a America se bajan todas las cosas y resulta que faltaban piezas o incluso las ruedas no eran compatibles con las rieles de tren de America, se imaginan toda la logistica que usaban para manejar toda la mercaderia cuando llegaba. Esto se resolvio creando contenedores.

Barco de contenedores de carga transporta contenedores en el ...


La solucion fue hacer un estandar de lo que se tenia que llevar y enviar, estando todo controlado, el tamaño, el peso, etc. 

Uno podria decir que la tecnologia resolvio estos problemas de aplicaiones con diferente OS con la virtualizacion, es decir con las maquinas virtuales pero esto tiene sus problemas, son pesadas, son costosas de administrar, seguridad interna de las aplicaciones y lo mas importante ... son lentas. La alternativa de hoy son los dockers y es una gran representancion de estos contenedores. Estos contenedores no son maquinas virtuales sino que son agrupaciones de procesos. Son versatiles (tienen todas las dependecias para funcionar correctamente), son eficientes (comparten archivos bases con otros sin riesgo a que sean alterados, porque lo hacen de manera inmutable y no ejecutan un sistema operativa sino solo ejecutan un grupo de procesos ) y por ultimo estan aislados (un contenedor puede hacer desastres, fallos pero todo lo que daña queda dentro del contenedor).

Containers vs. Virtual Machines (VMs): What's the Difference ...


En esta imagen vemos la diferencia y como estos contenedores son mas eficientes y menos pesadas.

Ahora que ya entendimos que es un docker, como podemos implementar un Database de oracle en estos dockers.

Cual es la importacia de montar Oracle en docker? Pues agiliza el proceso de desarrollo y permite tener un entorno igual en diferentes OS, entonces es muy recomendable tener Oracla Database en docker, ahora la pregunta es como instalo Oracle Database en estos dockers. La respuesta es simple Oracle Database ya esta instalado en un contenedor de docker, lo que ahora se tiene que hacer es correr el Database.

El correr Database es muy sencillo pero debes tener muy en cuenta que para que OS es diferente la instalcion e incluso algunos requieren que descargues apps para poder hacer el uso adecuado (link para ayudarte con la instalacion). A continuacion te dejare unos links para que puedas correr este docker en el Sistema Operativo que desees:
- Para Windows 10         

Haré una pequeña demostracion de como correr en Linux este Oracle Database 12 (recordemos que para linux tienes que tener instalado un servidor Docker).

Primero abrimos un terminal, luego tenemos que descargar el contenedor de Oracle DB, digitamos el siguiente comando. 

- docker pull store/oracle/database-enterprise:12.2.0.1

El sigueinte paso seria lanzar el contenedor con el siguiente comando.

- docker run -d -p 8080:8080 -p 1521:1521 --name oracle-db store/oracle/database-enterprise:12.2.0.1

Esto levanto el contenedor paara ir viendo como va el estado (puede demorar un tiempo la primera vez) de esto puedes digitar los siguientes comandos.

- docker logs oracle-db
- docker ps --> aca puedes ver si ya esta iniciado o si aun no
- docker logs oracle-db

Una vez ya finalizado el proceso, debemos conectarnos al contenedor y empezar con el sqlplus, digitemos los siguentes comandos.

- docker exec -it oracle-db bash -c ''source /home/oracle/.bashrc; sqlplus /nolog''

Una vez ya conectados podemos verificar con el connect.

- connect sys as sysdba 

Eso seria todo para poder correr el contenedor en linux.

Finalmente vemos como estos contenedores son mas faciles de usar y poder trabajar tranquilamente una app en otro Sistema Operativo sin la necesidad de usar una maquina virtual. Recomiendo empezar a usar esta tecnologia, ya que como fue expuesto anteriormente tiene muchas ventaas frente a su competidor mas cercado las cuales serian las maquinas virtuales. 

José Alvarez Luján.



 






Fuentes usadas:

Comentarios

Entradas populares de este blog

ASM (Automatic Storage Management)

ASM (Automatic Storage Management) ASM es una tecnología de almacenamiento la cual empezó a existir desde la versión Oracle 10g y es uno de los componentes de GRID. Esta se implementa en la Base de Datos de Oracle y permite en cuanto a RAC la automatización y la forma de manejar estos RACs de una forma mas independiente y desligada a la gestión de discos que tenia anteriormente y la cual resultaba de mayor complejidad, cual es la funcionalidad de esta tecnología, pues esta ofrece de manera optima y fácil el manejo de volúmenes, también mejora la escalabilidad, alta disponibilidad y rendimiento. Así mismo permite la gestión de ficheros, puede ser una instancia o un RAC, esto almacena ficheros de la Base de Datos de Oracle las cuales pueden ser los redo log, control file, etc. A partir de la versión de Oracle 12c añadió una mejora la cual consiste de Flex ASM, esta consiste "El nuevo ASM Flex de oracle cambia fundamentalmente la arquitectura del clúster ASM. La opción de Flex ASM pr...