viernes, 5 de julio de 2019

Creacion de una base de datos Oracle como plataforma PaaS en Amazona AWS RDS

Dentro de los productos que ofrece Amazon en su plataforma AWS esta el servicio  de base de datos relacionales RDS.

Así como otros proveedores de cloud Amazon ofrece de forma gratuita 750 horas para acceder a los productos y probarlos.

Hoy vamos a crear una base de datos en el RDS, que es un PaaS (Plataforma como servicio) en el cloud de Amazon.

Lo primero que tienes que hacer es registrarte en el siguiente link:

Aquí necesitaras de proporcionar una tarjeta de crédito donde solo te debitaran $1 dolarito solo como confirmación de que la tarjeta es valida, no se te cobrar nada mas adicional en la que Amazon mo te especifique, ademas debes de especificar como deseas que te llegue el código de confirmación necesario para la activación de la cuenta por medio de SMS o llamada telefónica.

Una vez creado la cuenta empezaremos con la prueba.

1 Acceder a AWS




2 Buscar servicio RDS


3 Ir a la sección de Database y damos click en crear
Crear Database


4 Seleccionamos cada unos de los parámetros para la creación
Seleccionamos el motor de base de datos Oracle. Vemos que hay otros motores de base de datos conocidos.


Vamos a crear una edición enterprise


Seleccionaremos un template GRATIS, para que sea sin costo.


Especificamos el nombre de la base , usuario DBA y contraseña



Establecemos el CPU y la RAM, como es la opción gratis es la mas básica.


Definición de almacenamiento

En opción gratis no tenemos la opción de replica para contingencia

Configuración de Red


Tendremos que definir que sea publica para conectarnos fuera de la red del AWS


Podemos cambiar el juego de caracteres o definir otro grupo de configuración. Los grupos de configuración son parámetros de base de datos preestablecidos pero podemos crear unos personalizados.


Establecemos las políticas de backups


Activación del Inside, herramienta de captura de datos del rendimiento de host o base de datos


Establece configuraciones del cloudwach de acceso a los logs de base de datos y definición de los planes de mantenimiento.


Listo ahora si a crea, no preocupes el valor que esta ahí es un estimado de cuanto te costaría pero en version gratis no se cobrará.


Esperamos a que se termine el despliegue que demorará unos minutos.





5 Conectarnos a la base de datos.

Primero debemos configura la VPC que no es mas que el firewall, en este ejemplo daremos un acceso total a las conexiones inbound, com dije es de prueba y solo para prueba daremos este acceso, de ahí en un esquema productivo deberemos dar los acceso a las ip o segmentos requeridos de manera consensuada ya que estamos exponiendo al mundo entero la base de datos y en un entorno de de producción es inaceptable dar este permio.

No vamos al VPC y seleccionamo el grupo que asignamos a la base

En la sección inbound editamos la regla y creamos al all trafic a Anywhere(Como dije es prueba y solo a pruaba daremos este permiso), tambien podemos dar el permiso por ip o servicio RDS



Vemos los datos de configuración de la base de datos para armar nuestro string de conexión

HOST:orcltest.cohkyuv02cj3.us-west-2.rds.amazonaws.com
BD:ORCLTEST
LISTENER:1521

Con estos datos armamos nuestra cadena de conexión para el sqlplus:

admin@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orcltest.cohkyuv02cj3.us-west-2.rds.amazonaws.com)(PORT=1521))(CONNECT_DATA=(SID=orcltest)))

Listo en el SQLPLUS conectarnos con la cadena de conexión




Habemos Database RDS!!!

miércoles, 22 de mayo de 2019

Instalacion de Oracle Database en GOOGLE CLOUD

Saludos,

Vamos a realizar una instalación del motor de base de datos Oracle 12c sobre una plataforma Google Gloud Platafoform.

Primero como requisitos necesitamos:

Maquina virtual creada en el GCloud. Previo a esto debes crear tu proyecto en el GCloud y crear la maquina con las características mínimas. GCloud ofrece $300 dolares de crédito gratis para tus pruebas en un año de vigencia. Conforme vayas usando recursos en tus proyectos esos $300 se van consumiendo. Aqui la medida de consumo es por hora y para que tengas una idea la maquina virtual basica que vamos a crear tiene un costo de $30 mensuales mas  o menos $1 dolar, ahora si apagamos la maquina el saldo no se consume.
Para acceder a estos $300 necesita tener una tarjeta de crédito o debito , te cobraran un $1 al registrarte pero luego te lo devuelven. No te preocupes, si en tus pruebas te consumes los $300 Google no te cobrará nada sin tu consentimiento.

Creación de la maquina virtual en GCloud
Tareas Previa a la instalación

Creación de la maquina virtual
-SO Centos 6
-1Cpu
-4Gb Ram
-20Gb de disco

  • Crea tu proyecto GCP.

  • Crea tu maquina virtual en tu GCP . Configura los recursos necesario y SO Centos 7. Considerar la configuración de las IP'S interna y externa.
Recursos SO

Definir la Red Interna y Externa
Hacer click en crear

Una vez creado la maquina, podemos ver nuestras maquinas en GCP\Compute Engine\ Instancias VM.
Instancias VM



Conexion SSH con Putty

  • Con el Putty Key Generator crearemos claves privadas y publicas para la conexión. En la seccio comentario escribiremos el nombre de usuario con el que se va establecer la conexión.


Hay que guardar el private key y public key localmente para usarlo luego en la conexión

  • Copiamos el texto Public Key generado , vamos a GCP\Compute Engine\ Metadatos en la seccion de Claves SSH damos click en eidtar y agregamos una.




  • En nuetro Putty configuramos la conexion para hacer uso de nuestro privete key guardado y usamos la dirección de la ip externa que se le asigno a la maquina srvoradbdesa01 35.190.191.250


Ya configurado la conexión SSH, ahora si empezamos proceder con la instalación de los pre-requisitos y motor de base de datos.

Instalación Base de Datos 


1 Instalación de pre-requisitos del SO.
Instalar los paquetes necesarios en el SO  Centos previo a la instalacion del motor de base de datos Oracle
yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 \
glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 \
libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 \
libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64


2 Configuración del sistema operativo y usuario.
Se establecerán los parámetros necesarios, configurar usuarios y grupos de usuarios necesarios para realizar la instalación del motor de base de datos.

Crear los grupos de usuarios oinstall y dba, luego crear el usuario oracle para asociarlos a los grupos en el SO.
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
<<escribe una clave>>

Luego de la creacion del usuario y grupos se agregaran las configuración necesarias en el sistemas. Editar el "sysctl.conf"
vim /etc/sysctl.conf

Copiar el texto y pegarlo.
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

Guardar los cambios del archivo sysctl.conf y aplica los cambios.
sysctl -p
sysctl -a

Agrega los limites para el usuario oracle en el archivo "limits.conf"
vim /etc/security/limits.conf
Copia lo siguiente y pegalo. en el archivo limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

Guarda los cambios del archivo limits.conf

3 Configuración del sistema operativo y usuario.
Ahora si, realizaremos la instalación, pero para ello tenemos que instalar un paquete "X Windows System", el cual nos permitirá ejecutar las ventanas de instalación del oracle de forma gráfica ejecutando lo desde el SSH.
También puedes revisar el siguiente link para la instlación del xam en windows si vas a usar el Putty como cliente para la instalación. http://www.geo.mtu.edu/geoschem/docs/putty_install.html
yum groupinstall -y "X Window System"

Vía SSH para realizar la instalación grafica debe de ejecutar la siguiente linea.
ssh -X oracle@35.190.191.250

4 Configuracion de directorios y descarga el archivo instlador de Oracle 

Con el comando wget descarga lo instladores o puede descargarlo desde tu pc y via ftp subirlos al servidor.
mkdir /orainstall

ll *.zip*
-rw-r--r--. 1 oracle oinstall 1673544724 Jul 11  2014 linuxamd64_12102_database_1of2.zip
-rw-r--r--. 1 oracle oinstall 1014530602 Jul 11  2014 linuxamd64_12102_database_2of2.zip
Para descomprimir instala el zip y unzip
yum -y install zip unzip

Extra los archivos dentro de la carpeta /orainstall/stage/
unzip linuxamd64_12102_database_1of2.zip -d /stage/
unzip linuxamd64_12102_database_2of2.zip -d /stage/

Crea las carpetas de instalación de binarios y datos.
 mkdir -p /u01 /u02
Cambia de propietario y permisos a las carpetas con los instaladores
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02
chmod g+s /u01 /u02
chown -R oracle:oinstall /stage/
5 Instalar la base de datos Oracle 12c
Ejecuta una nueva instancia de ssh con el usuario oracle con el parametro -X para ejecutarlo en modo gráfico.

Para usar el modos interactivo grafico debe de instalar el Xming para windows y configurara el putty. Les dejo el link de como deben de hacerlo
http://www.geo.mtu.edu/geoschem/docs/putty_install.html

ssh -X oracle@35.190.191.250

Anda a la carpeta en donde descomprimiste los instaladores y ejecuta el instalador
cd /orainstall/stage/database/
./runInstaller
5.01 Pantalla de inicio de la instalación, si tienes cuenta del OracleSupport ingresarla sino omitir. Clic en next.



5.02 Selecciona la opción de instalación, para nuestro caso instalaremos el software y crearemos la base de datos.


5.03 Para nuestro caso de practica seleccionaremos ella clase Descktop


5.04 Cambiamos la ubicación en donde se almacenaran los archivos de datos en /u02/, indicamos el nombre de la base de datos, establecemos la clave de los usuarios sys/system y desmarcamos "Create as Container database"


5.05 Dejamos tal como esta y damos click en next.


5.06 Verificacion de adveretencia y errores, aplicar las correcciones y volver a verificar hasta no tener advertencias. Click en next.


5.07 Vista preliminar de los parámetros de la instancia antes de la instalación. Click en nexte iniciará la instalación.


5.08 Durante la instalación se presentará mensajes de ejecutar script con el root, para ello abriremos una nueva ventana del ssh y ejecutaremos los scripts en pantalla.


5.09 Se muestra los datos de la instanacia ya creada con su nombre y datos de acceso a EM.


5.10 Mensaje de instalación finalizada


5.11 Comprobar que la base de datos este activa SQLPLUS.
Abrimos una ventana ssh root@35.190.191.250
ssh root@35.190.191.250
//escribe tu contraseña
Cambiamos al usuario oracle 
su - oracle
Seteamos variables de ambiente para inicar el sqlplus
export ORACLE_SID=orcldb01
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1/
export PATH=$PATH:$ORACLE_HOME/bin

No conectamos al sqlplus como sysdba

sqlplus / as sysdba

Export de variables

Sqlplus

5.11 Probar el acceso al EM de Oracle desde la dirección publica 35.190.191.250


Conectarte desde el SQLPLUS desde la IP Publica, para conectarte desde la ip publica que te da el GCLOUD deberas
  1. Agregar en la interfaz de red la ip publica 35.190.191.250
  2. Configurar el listener para que escuche desde la ip publica

1 Agregar en la interfaz de red la ip publica 35.190.191.250

  • Inicie sesión en su servidor con SSH como root.
  • Vaya al directorio /etc/sysconfig/network-scripts.
 

A partir de la ifcfg-eth0 crearemos un nuevo archivo y editaremos para insertar las lineas de la IP publica.
  • cp ifcfg-eth0 ifcfg-eth0:0
  •  vi ifcfg-eth0:0
#Agregar el archivo ifcfg-eth0:0
DEVICE="eth0:0"
BOOTPROTO="static"
IPADDR=35.190.191.250
NETMASK=255.255.255.0
ONBOOT="yes"
  • Reiniciamos el servicio: $/etc/init.d/network restart
  • Verificamos la configuracion con un ifconfig 


2 Configurar el listener para que escuche desde la ip publica

Ingresaremos al ssh con el usuario oracle y setereamos el home
https://kb.iweb.com/hc/es/articles/230241888-Agregar-y-ver-las-direcciones-IP-en-servidores-CentOS

Vamos a la ruta del archivos LISTENER.ORA y editamos para agregar la linea que permitira al listener escuchar desde la interfaz publica.
  • $cd /u01/app/oracle/product/12.1.0/dbhome_1/network/admin
  • vi listener.ora
  • Agregamos la linea del la ippublica


Reiniciamos el listener y la base de datos y verificamos la escucha
  • lsnrctl stop
  • lsnrctl start
  • sqlplus / as sysdba
  • sql>shutdown immediate;
  • sql>startup;

Ejecutamos un lsnrctl status