2 de julio de 2020

Creando una Base de Datos Oracle con OCI en pocos minutos

Hola a todos! nuevamente aqui con la intención de enseñar y mostrar como Oracle Cloud nos facilita el día a día.
Si aún no tenes tu cuenta Oracle Free Tier, te invito a leer el siguiente Post:


Recuerdan esos días cuando sus jefes le pedían una nueva base datos? o crear un servidor para contar con una nueva instancia, etc etc.. esta tarea solía tomarnos un par de días..
Si te dijera que con Oracle Cloud podes brindar una nueva Base de Datos con un par de click?

Voy a dividir el post en dos secciones:
A) Crear la Base de Datos
B) Conexión a la Base de Datos en Oracle Cloud.
    1. Conexión con Putty
    2. Conexión con SQL Developer.

Sección A: 
    

        1. Nuestro primer paso es loguearnos a Oracle Cloud con nuestra cuenta de OCI.

        IMPORTANTE: La creación de la siguiente DB no es Always Free (Siempre gratuita), pero la van a poder probar por 30 días con la cuenta Oracle Free Tier. 

        Vamos al menú izquierda dentro de la categoría Database y seleccionamos “Bare Metal, VM and Exadata”


2. Seleccionamos el compartimiento donde queremos crear nuestra db. En mi caso es ProjectA
y hacemos click en "Create DB System"


3. Aqui podemos validar el compartimiento donde vamos a crear la DB. 
Asignamos un nombre a nuestro sistema y seleccionamos el dominio donde tenemos nuestro Data Center Cloud.

4.En esta misma sección elegimos el tipo de base datos, Sabemos bien que Oracle ofrece distintas opciones que no vamos a profundizar en este post, en nuesetro caso vamos a elegir Virtual Machine en lugar de un Hardware dedicado o un Exadata. (Esta seleccion depende de cuantos recursos necesitemos)


5. Luego debemos elegir el tipo de Storage (Almacenamiento).

Para poder jugar con ASM en esta versión de prueba que me dio Oracle voy a seleccionar Oracle Grid Infrastructure. (hay que tomar en cuenta que si tuviera que instalar un ASM on premise, puff son otros días que se suman al pedido)

Notaron que el mínimo es 256GB? No tenemos forma de elegir un volumen menor. 

 6. Agregamos nuestra clave publica:

En mi caso utilizo PyttyGen.

Les dejo el link a otro post, donde explico como generar estas Key especificamente para Oracle Cloud.

https://cristianpeque.blogspot.com/2020/07/como-generar-la-ssh-key-claves-ssh-con.html

7.  Seleccionamos el tipo de Licencia. Para este tipo de pruebas podemos tranquilamente utilizar la licencia incluida en el servicio de Cloud.

8. Las redes las voy a dejar por defecto. Solo hay que indicar el hostname prefix (sería el nombre de nuestro Servidor Linux)

Al finalizar tenemos un botón Next o Siguiente abajo a la izquierda.

9. En el proximo paso indicamos los datos específicos de nuestra Base de Datos.

Database Name= SID

Version, que podemos optar entre las siguientes:

PDB: Nombre de una PDB default.

Password de usuario SYS.

10. Por ultimo el workload type. Osea si es una base de datos transaccional o un Datawherehouse

Además tenemos la posibilidad de seleccionar que automáticamente nos implemente un backup y hasta podemos indicar el horario.

Saben que quiere decir esto? . Nunca más una base de datos sin backups. Me van a decir que nunca les paso crear una base y dejar para otro momento el script de backaup? Y ese otro momento fue dentro de uno o dos meses?. Bueno nunca más, ahora ni bien crean la DB, ya tiene un plan de backup generado automáticamente con las mejores herramientas disponibles en cloud.

11. Adicionalmente, si despliegan el menú avanzado pueden seleccionar el Character set.

12. Al terminar ya deberían ver como se esta aprovisionando la DB:


Sección B: 

Para conectarnos a nuestra DB, tenemos que ir dentro de nuestro Sistema de base de datos:

En esta pantalla abajo a la izquierda tenemos un pequeño menu, donde tenemos que hacer click en nodos

a la derecha nos despliega los nodos de la base de datos donde podemos ver nuestra IP Pública y la IP Privada (esto lo vamos a utilizar para conectar por SQL Developer)

Ya con esta información y nuestro SSH Key podemos conectarnos.

1) Conexión con Putty:

Indicamos el puerto 22, ip públia y tipo SSH. 

Desplegamos el meúu izquierdo dentro de SSH -> Auth

En este menu agregamos nuestro ppk creada anteriormente durante la creación de nuestra base de datos.

Con estos simples pasos ya podemos conectarnos a nuestro servidor Linux que tiene la nueva Base de Datos. Haciendo click en open.


2. También podemos conectarnos desde SQL Developer 19.1.

El SQL Developer 19.1  lo podemos descargar de forma gratuita del sitio de Oracle:

https://www.oracle.com/tools/downloads/sqldev-v191-downloads.html

Nota: La version 19.2 de SQL Developer dejo de soportar la creación de SSH Key desde Putty, solo aceptando OpenSSH format.

SQL Developer 19.2 SSH connection fails with Org.apache.sshd.common.SshException: No More Authentication Method (Doc ID 2575854.1)

1        1. Inicimaos nuestro SQL Developer y vamos a crear un nuevo SSH Host, dentro de Menu “View”, vamos a SSH Host:

        

2.          2. En este menú con el click derecho seleccionamos “Create New SSH Host”

        

En esta pantalla tenemos que completar varios datos.

NOMBRE: Cualquier nombre para identificar la conexión

HOST:            IP Pública de nuestra DB

USERNAME: Usuario que nos generá automaticamente Oracle en OCI

PORT:            Puerto de nuestro servidor (ssh)

Key File: Indicamos el path del ppk generado previamente.

Local Port: Tildamos este casillero y tenemos que hacer un direccionamiento a nuestra Ip Interna dentro de Cloud indicando nombre, ip y puerto .

3.           3. Nueva Conexión desde el ícono de + arriba a la izquierda.

Indicamos el tipo de conexión seleccionamos SSH y solo completamos nuestro Services Name usuario y Contraseña:

Indicamos el tipo de conexión seleccionando SSH y solo completamos nuestro Services Name usuario y Contraseña:

El service name, lo podemos encontrar dentro de nuestra DB, haciendo click en los tres puntos y ver DB conection

tambien es la combinación de nuesra unique name y la subnet.

A partir de ahora ya estamos conectados a nuestra DB para operar como cualquier otra!

Espero que les sirva!


Como generar la SSH Key (claves ssh) con Putty para servicios de Oracle Cloud o OCI

Este es un post pequeño, para quienes quieren tener claro como crear las ssh necesarias para las conexiones a OCI Cloud.

  1. Buscamosputtygen.exe en la carpeta de Putty o lo podemos descargar, suelke estar en: C:\Program Files (x86)\PuTTY. Lo ejecutamos con doble click..

    PuTTY Key Generator

  2. Dejamos el valor default, SSH-2 RSA.

    SSH-2 es la version mas reciente sobre el protocolo SSH (no es compatible con SSH1). RSA y DSA son dos algoritmos distintos para generar claves para sistemas de encriptación de clave asimétrica.

    PuTTY Key Generator parameters

  3. Seteamos el nro de bit en 2048 (es el valor por defecto) 

    PuTTY Key Generator parameters

  4. Click Generate.

    Generate button

  5. Aqui solo movemos el mouse sobre la parte "blanca" hasta que la barra llegue a su fin. 

    Generating key - status

  6. La Key aparece en la parte superior con el títutlo "Public key for pasting into OpenSSH authorized_keys file".


- "Key comment": Es un comentario que solo se utiliza para indentificar la Key
- "Key passphrase" : Es la clave que se utiliza al realizar la conexión. (es opcional pero 100% recomendado utilizar)

7. Guardamos la clave privada con el boton "Save private Key" (esta clave nunca se comparte!!!)

Save privatge key button


    Por defecto putty guarda las key con la fecha de creación y la extención ,ppk 

    Save private key - file name and type

    8. Para guardar la Key en formato OpenSSH,  vamos al menu Conversions y elegimos Export SSH key

    Save private key in OpenSSH format

    Lo guardamos con un nombre que nos sea últil para reconocer y agregamos la extensión por ejemplo .ssh o .openssh (la extensión no aplica al utilizarla)

    Save private key in OpenSSH format

    ESTE PASO ES IMPORTANTE!!!

    Para guardar la clave pública, no hay que utilizar el boton "Save Public Key", ya que este formato no es compatible con los servicios de Oracle Cloud. Asi que simplemente pocedemos a copiar el texto de la clave y guardarla en un archivo de texto.
    Do not click Save public key button

    9. En el cuadra  Public key for pasting into OpenSSH authorized_keys file, seleccionamos todo el texto (estar seguros de seleccionar todo!!, yendo hasta el final de la barra derecha)

    Public key for pasting

    Click derecho sobre el texto seleccionado y Copiar (Copy).

    Public key for pasting - copy

    Abrimos un editor de texto cualquiera y pegamos el contenido (normalmente empieza con ssh-rsa y termina con el key comment.
    Public key pasted into text editor

    Guardamos el archivo de texto con la extención .pub que normalmente hace referencia a la clave publica.
    Save public key - file name and type

    Deberiamos tener 3 archivos.
    .ppk o .key Utilizado para crear conexiones a los servidores Linux por ejemplo de los servicios de Oracle Cloud
    .ssh Utilizado por ejemplo por el SQL Developer para conectarnos a una Base de Datos en Oracle Cloud
    .pub Utilizado para crear instancias por ejemplo dentro de Oracle Cloud.

    Espero que les sirva!