Mostrando las entradas con la etiqueta Oracle Cloud Free Tier. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Oracle Cloud Free Tier. Mostrar todas las entradas

martes, 15 de marzo de 2022

Nuevo servicio gratuito en Oracle Cloud Infrastructure: Dashboards

Durante el mes de febrero Oracle anunció la disponibilidad de un nuevo servicio de Oracle Cloud Infrastructure llamado Dashboard, el cual permite visualizar tendencias y diagnosticar problemas desde un sitio unificado en Oracle Cloud.

OCI Dashboards proporciona una nueva forma de visualizar métricas, registros, facturación y otros datos de recursos en OCI. Es posible usar paneles para personalizar la Consola creando una vista única de su nube, directamente desde la pantalla de inicio, con información obtenida en forma nativa de servicios de OCI, todo en forma gratuita 

Existen distintos tipos de widgets disponibles para configurar en nuestros paneles que nos permiten:

  • Mostrar datos de métricas y de logging en forma de gráfico de barras, líneas, anillo, torta o directamente o como una tabla.
  • Ver el ciclo de facturación y los créditos gastados en el ciclo.
  • Ver recursos de OCI como mosaicos.
  • Crear widgets de rebajas.
  • Compartir paneles con otros usuarios de la misma cuenta de OCI.
  • Recopilar un conjunto de tableros relacionados en un grupo de tableros.

Creando un Dashboard

Crear un Dashboard es una tarea realmente sencilla, a continuación veremos uno a uno los pasos requeridos hacerlo.

Como primer medida, debemos seleccionar la opción "Dashboard" en la pantalla principal de nuestra consola de Oracle Cloud, opción situada al lado de la opción "Get Started":



Al ser la primera vez que ingresamos, veremos un Dashboard por defecto, creado automáticamente con información básica. Podemos crear nuestro propio dashboard seleccionando la opción "New Dashboard" del menu de la parte superior


Debemos ingresar un nombre para el dashboard, y elegir un grupo de tableros al que pertenecerá (al ser el primer dashboard nos permite crear el grupo en forma automática) y luego debemos presionar la opción "Create"


Una vez creado el dashboard, el mismo se encuentra completamente en blanco, pero podemos agregar componentes (widgets) presionando la opción "+ Add widget":


El paso siguiente consiste en seleccionar el tipo de widget que queremos utilizar, el cual será incluido automáticamente en nuestro tablero:


Una vez que el widget se encuentra en el tablero, podemos presionar "Configure" para configurar el mismo:


En esta pantalla, podemos ingresar un título para el componente, y elegir los datos a ser mostrados. Voy a elegir un gráfico de lineas, que se actualiza cada 1 minuto y muestra información de los últimos 15 minutos, para alguna de las métricas para el compartimento "blog", del tipo "Bases de Datos Autónomas", como ser "CPU Utilization":



Una vez elegidos los datos a mostrar y presionado el botón "Submit", ya tenemos el widget visible en nuestro dashboard!
 

Solo nos resta grabar el Dashboard con el botón "Save" y volvemos a ver al dashboard en su modo "normal" en vez de en modo de edición



martes, 4 de enero de 2022

Instalando un servidor Minecraft en Oracle Cloud Infrastructure

El año pasado encontré un artículo al respecto en el blog de Oracle Developers, y ahora con un poco mas de tiempo me tomé el trabajo (con la ayuda de mi hijo Bruno) de probar y documentar (hay algunas diferencias mínimas) el proceso completo para crear una maquina virtual en Oracle Cloud Infrastructure e instalar un servidor Minecraft en ella.


Creando y Configurando la VM

Creación de la VM

A continuación vamos a ver los pasos para crear la VM donde instalaremos Minecraft. El primer paso luego de iniciar sesión en nuestra cuenta de Oracle Cloud es usar el menu principal para acceder a la sección de "Instances" de nuestra cuenta:


Una vez en ella, debemos seleccionar la opción "Create Instance":


El asistente nos va a ayudar a completar la información requerida para crear la VM, lo primero que debemos hacer es ingresar un nombre para la misma y luego presionar "Edit" en la sección de "Image and Shape", como se muestra a continuación


Y luego debemos seleccionar la opción "Change Image" para cambiar la configuración por defecto:


El asistente nos muestra todas las opciones disponibles. Dejando la opción "Virtual Machine" tal como viene por defecto, seleccionaremos la opción de procesador Ampere (una linea de procesadores que ofrece una mejor capacidad de procesamiento con un costo mucho mas bajo) y activaremos la opción "VM.Standard.A1.Flex", eligiendo luego dos procesadores (OCPU) en vez de uno, manteniendo los 6GB de RAM, y seleccionaremos "Select Shape" para confirmar:


A continuación, vamos a configurar las opciones de red para la VM. Debemos crear una nueva VCN para la misma y habilitar una sub red pública (para poder conectarnos desde internet) dentro de la misma, tal como se muestra a continuación:


El paso siguiente es crear un conjunto de Keys para acceder al servidor. Debemos descargar tanto la clave privada como la clave publica para poder conectarnos luego al mismo.


Por último, debemos configurar el volumen de almacenamiento de nuestra VM, en este caso no es necesario que usemos encriptación en transito (aunque se podría dejar habilitada) y luego solo tenemos que seleccionar la opción "Create" para crear la VM


Al presionar Create el asistente de configuración de VM se cierra y veremos el detalle de la VM que está siendo creada, la cual permanecerá en estado "Provisioning" por un minuto o menos hasta que se encuentre completamente disponible:


Una vez que la VM ha sido creada y se encuentra accesible, podemos obtener la IP pública para luego acceder a la misma usando SSH:


Pero antes de acceder, vamos a configurar algunos detalles de la red que creamos para poder conectarnos desde Minecraft

Configurando la Sub Red Publica

En la misma pagina principal de la VM, donde tenemos la información de la misma, podemos hacer click en el nombre de la subred donde se encuentra la VM para ver sus detalles:


La subred que creamos con la VM posee una lista de seguridad, la cual debemos editar para permitir que se pueda acceder al servidor Minecraft que vamos a instalar, para lo cual debemos hacer click en el nombre de la misma:


Luego, debemos ir a la sección donde están disponibles las reglas de acceso, y agregar dos nuevas reglas presionando el botón "Add Ingress Rules":


Esta pantalla nos permite agregar reglas, debemos agregar dos nuevas reglas (una para el protocolo TCP y otra para UDP) usando la dirección 0.0.0.0/0 y el puerto 25565 en ambos casos. Completamos los datos para TCP, presionamos "+ Another Ingress Rule", completamos los datos para UTP y luego presionamos "Add Ingress Rules":



Instalación de Minecraft Server en la VM

Conexión por SSH a la VM

Una vez que la VM esta creada, podemos conectarnos a la misma mediante SSH usando la dirección publica que obtuvimos una vez que la VM fue provisionada, la clave privada (Private Key) que descargamos antes de crear la VM y usando el usuario "opc" que existe por defecto en todas las VM creadas en Oracle Cloud. Si no conocen como conectarse por SSH mediante el uso de Keys pueden consultar este artículo.

Instalación de Java

Minecraft es una aplicación Java, por lo que lo primero que debemos realizar es instalar Java en la instancia recién creada. Al día de la fecha, la versión mas actualizada de Java para procesadores Arm es la versión 17, por lo que vamos a instalar la misma de la ejecutando lo siguiente:


sudo yum install jdk-17.aarch64

Una vez instalado Java podemos confirmar que se encuentra todo OK mediante el siguiente comando:

java --version
El cual debe producir un resultado similar al siguiente:

java 17.0.1 2021-10-19 LTS Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39) Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)

Configuración del Firewall

El paso siguiente es habilitar el puerto 25565 que utiliza por defect Minecraft en el firewall de nuestra VM, para ello vamos a ejecutar lo siguiente:

sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp sudo firewall-cmd --permanent --zone=public --add-port=25565/udp sudo firewall-cmd --reload

Descargar e Instalar Minecraft

El paso siguiente es obtener la dirección el software de Minecraft en la pagina oficial. En la misma, podemos encontrar el enlace, del cual debemos copiar la dirección como mostramos a continuación:



Volvemos a nuestra instancia y vamos a ejecutar el comando wget (que obtiene o descarga archivos de internet) seguido de la dirección que acabamos de copiar:


wget https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar

Una vez que la descarga termina, solo tenemos que ejecutar lo siguiente:

java -Xmx4096M -Xms4096M -jar server.jar nogui

Vamos a recibir un mensaje de error indicando que no hemos aceptado la licencia:

Starting net.minecraft.server.Main [20:29:39] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Para solucionar el problema, solo debemos editar el archivo eula.txt (usando nano por ejemplo, que es un editor de archivos muy sencillo de usar disponible en Oracle Linux) y modificar la linea que dice "eula=false" para que diga "eula=true", y volvemos a iniciar el proceso:

[opc@servidorminecraft ~]$ java -Xmx4096M -Xms4096M -jar server.jar nogui
Starting net.minecraft.server.Main [20:32:35] [Server thread/INFO]: Starting minecraft server version 1.18.1 [20:32:35] [Server thread/INFO]: Loading properties [20:32:35] [Server thread/INFO]: Default game type: SURVIVAL [20:32:35] [Server thread/INFO]: Generating keypair [20:32:35] [Server thread/INFO]: Starting Minecraft server on *:25565 [20:32:36] [Server thread/INFO]: Using epoll channel type [20:32:36] [Server thread/INFO]: Preparing level "world" [20:32:36] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld [20:32:38] [Worker-Main-2/INFO]: Preparing spawn area: 0% [20:32:43] [Worker-Main-2/INFO]: Preparing spawn area: 0%
...
...
[20:35:12] [Worker-Main-2/INFO]: Preparing spawn area: 0% [20:35:13] [Worker-Main-2/INFO]: Preparing spawn area: 0% [20:35:15] [Worker-Main-2/INFO]: Preparing spawn area: 31% [20:35:15] [Worker-Main-2/INFO]: Preparing spawn area: 31% [20:35:15] [Worker-Main-2/INFO]: Preparing spawn area: 31% [20:35:15] [Worker-Main-2/INFO]: Preparing spawn area: 96% [20:35:15] [Server thread/INFO]: Time elapsed: 35033 ms [20:35:15] [Server thread/INFO]: Done (35.189s)! For help, type "help"


A continuación debemos abrir Minecraft en nuestra PC (debemos usar la edición Java) y configurar el servidor en Minecraft:




Luego nos conectarnos al mismo:




Y a jugar!!!



miércoles, 23 de junio de 2021

13 Nuevos Servicios en Oracle Cloud Free Tier

 


Hace pocos días Oracle anunció en el blog de Oracle Cloud Infrastructure la disponibilidad de 13 nuevos servicios en el paquete Oracle Cloud Free Tier, el cual es sin costo y de libre acceso. Algunos de ellos ya se encontraban disponibles desde hace algún tiempo y otros son servicios completamente nuevos. A continuación vamos a enumerarlos


Ampere A1 Compute

Oracle OCI lanzó instancias Ampere A1 Compute (arquitectura Arm) en la nube. Estos servidores son mas potentes y eficientes que arquitecturas anteriores, y las cuentas Free Tier pueden usar hasta cuatro OCPU y 24 GB de RAM distribuidos entre 1 y 4 servidores virtuales sin costo. Muy pronto incluiré en el blog un articulo sobre la creación de una VM con Ampere y la instalación de Minecraft en la misma!


Autonomous JSON Database

Es un servicio de base de datos JSON disponible desde fines del año pasado en OCI, el cual ya habíamos analizado en el articulo "Oracle Presentó "Oracle Autonomous JSON Database". Autonomous JSON Database es un servicio de base de datos de documentos en la nube que simplifica el desarrollo de aplicaciones centradas en JSON y el manejo de cargas de trabajo JSON. Cuenta con API de documentos JSON simples, acceso completo a SQL, transacciones ACID de alto rendimiento y seguridad integral 

El mismo forma parte de la oferta Free Tier desde abril, como comentamos en este artículo.


APEX Application Development

Otro servicio disponible desde hace un tiempo y que hemos analizado en el artículo "Oracle anuncia un nuevo servicio en OCI: "Oracle APEX Application Development". El servicio Always Free APEX ofrece Oracle APEX totalmente administrado con hasta 1 OCPU (compartida) y 20 GB de almacenamiento. Puede admitir que entre 3 y 6 usuarios accedan al servicio simultáneamente, además de un número ilimitado de aplicaciones, cuentas de desarrollador y cuentas de usuario final.

Este servicio también fue incorporado a Free Tier en abril, como comentamos en este artículo.


NoSQL

Oracle NoSQL Database Cloud permite la creación de aplicaciones utilizando modelos de base de datos de documentos, columnas y valores clave, lo que brinda tiempos de respuesta predecibles de milisegundos e incluyendo replicación de datos para alta disponibilidad. El servicio ofrece transacciones ACID, seguridad integral y compatibilidad del 100 por ciento con Oracle NoSQL Database local. Los recursos Always Free NoSQL incluyen hasta 133 millones de lecturas por mes, 133 millones de escrituras por mes y tres tablas con 25 GB de almacenamiento por tabla.


Logging

El servicio de Logging de OCI es un panel único donde centralizar información de auditoria y de servicio de los recursos de OCI. Estos registros incluyen información de diagnóstico crítica que describe cómo funcionan los recursos y cómo se accede a ellos, y la opción de usar un motor de búsqueda de registros para explorar registros. Para la interoperabilidad, OCI Logging utiliza el agente Fluentd de Cloud Native Computing Foundation (CNCF) para la ingestión de registros y el estándar CNCF CloudEvents para eventos de registro.

El servicio de Logging incluido en Free Tier permite almacenar 10 GB por mes, a la vez que la ingesta de registros y la búsqueda también son gratuitas.


Service Connector Hub

Service Connector Hub es un servicio gratuito que transfiere datos entre sus servicios, tanto dentro de OCI como de OCI a herramientas de terceros. Mueve datos, como registros de Logging, a servicios como Object Storage, Streaming y Monitoring.


Application Performance Monitoring (APM)

Application Performance Monitoring ofrece cuatro capacidades distintas que permiten a los administradores de aplicaciones y a los ingenieros de DevOps obtener una imagen real de la experiencia de cada usuario. APM implementa un sistema de seguimiento distribuido como servicio, que realiza un seguimiento detallado de cada transacción (sin muestreo ni agregación) para aplicaciones basadas en microservicios y arquitecturas heredadas. APM proporciona monitoreo todo el tiempo, sin importar dónde y cómo accedan a la aplicación. 

La recopilación de datos de APM es compatible con los estándares abiertos nativos de la nube, incluidos OpenMetrics y OpenTelemetry. La versión Always Free incluye 1,000 eventos por hora, en tres de las cuatro opciones disponibles (seguimiento distribuido, monitoreo de usuario final y monitoreo del servidor).


Flexible load balancer

Este servicio permite elegir un ancho de banda mínimo personalizado y un ancho de banda máximo opcional, ambos entre 10 y 8.000 Mbps. El ancho de banda mínimo esta garantizado mientras que la configuración de ancho de banda máximo opcional puede limitar el ancho de banda, incluso durante picos inesperados si necesita controlar los costos. El servicio Free Tier incluye un equilibrador de carga flexible con un ancho de banda mínimo y máximo de 10 Mbps.


Flexible network load balancer

Esta es una solución de equilibrio de carga sin proxy que realiza un equilibrio de carga de capa 3 y capa 4 (TCP / UDP / ICMP). Ofrece una dirección VIP regional elásticamente escalable que puede escalar hacia arriba o hacia abajo en función del tráfico del cliente sin requisitos mínimos o máximos de configuración de ancho de banda. También proporciona alta disponibilidad, dirección IP de origen y destino y la preservación del puerto. Está diseñado para manejar patrones de tráfico volátiles y millones de flujos, ofreciendo un alto rendimiento mientras mantiene una latencia ultrabaja. El equilibrador de carga de red está optimizado para conexiones de larga duración durante días o meses, lo que lo hace más adecuado para bases de datos o aplicaciones de tipo WebSocket.


VPN Connect V2

Las conexiones VPN OCI utilizan protocolos IPSec estándar de la industria a través del servicio VPN Connect, también conocido como VPN IPSec. VPN Connect proporciona una VPN IPSec de sitio a sitio entre su red local y su red de nube virtual (VCN). El conjunto de protocolos IPSec cifra el tráfico IP antes de que los paquetes se transfieran desde el origen al destino y descifra el tráfico cuando llega. Con nuestra nueva oferta, VPN Connect V2 mejora la disponibilidad y confiabilidad de las conexiones IPSec. El servicio Free Tier puede utilizar dos conexiones ipsec de forma gratuita para ejecutar cargas de trabajo ligeras durante un tiempo indefinido.


Oracle Security Zones / Oracle Security Advisor

Estos servicios permiten configurar y aplicar automáticamente políticas de seguridad para compartimentos en OCI. El servicio Oracle Security Zones incluye una rica biblioteca de políticas para permitir la gestión de seguridad en la nube, de modo que los administradores puedan asegurarse de inmediato de que sus compartimentos estén seguros. Ambos son gratuitos y junto con otras capacidades de seguridad integradas de OCI, ayudan a facilitar la construcción de la infraestructura en la nube de una manera segura y automatizada.


OCI Bastion

OCI Bastion es un servicio completamente administrado que brinda acceso SSH seguro y efímero a los recursos privados en OCI, lo que elimina la necesidad de implementar redes complejas o hosts de salto para obtener acceso a recursos privados. La autenticación y autorización del usuario están integradas con los servicios de administración de acceso e identidad (IAM), lo que permite a los usuarios autorizados conectarse desde direcciones IP específicas a recursos de destino mediante el uso de cualquier software o protocolo compatible con SSH. OCI Bastion se clasifica como el servicio Always Free de OCI y admite 20 sesiones por bastión y cinco bastiones en cada cuenta.


miércoles, 21 de abril de 2021

Nuevos servicios se agregan a Always Free - Oracle JSON Database y Oracle APEX Development Service

Oracle continúa incorporando servicios a su oferta en la nube (Oracle Cloud Infrastructure) y en el día de ayer vimos un anuncio en el blog de Oracle Developers informando que dos de los últimos servicios de Oracle Cloud Infrastructure ahora se encuentran disponibles dentro del paquete Always Free incluido en Oracle Cloud Free Tier (para conocer sobre el mismo pueden ver mi artículo "Oracle Cloud Free Tier - Oracle Cloud disponible en forma gratuita!" donde se explica en qué consiste el mismo)


La noticia es que tanto Oracle Autonomous JSON Database (disponible en agosto de 2020)  como Oracle APEX Application Development (disponible desde enero de este año 2021) ahora pueden usarse Oracle Free Tier aún después de vencidos los créditos gratis del primer mes (es decir, pueden ser usados dentro de la opción Always Free que tiene menos servicios pero es completamente gratis de por vida).


Sigue vigente la restricción de sólo dos servicios de DB, pero ahora podemos optar entre cuatro opciones en vez de las dos iniciales (Autonomous Transaction Processing y Autonomous Data Warehouse)


Los siguientes artículos en el blog explican como crear una base de datos JSON autónoma o una instancia de APEX Application Development


Para ver todos los servicios actualmente incluidos en Always Free, consultar la pagina oficial de Oracle Cloud Free Tier.


miércoles, 13 de enero de 2021

Oracle anuncia un nuevo servicio en OCI: "Oracle APEX Application Development"

Hace pocas horas Oracle anuncio la disponibilidad de un nuevo servicio APEX en Oracle Cloud Infrastructure (OCI).  Si bien la plataforma APEX original estaba disponible como parte de la base de datos Oracle (y podia ser usada dentro de Oracle Cloud en cualquier instancia de Oracle Database), ahora también se puede usar como un servicio independiente en la nube de Oracle, y funciona con una variedad de aplicaciones. 


¿Qué es Oracle APEX Application Development?

Los desarrolladores interesados ​​en un desarrollo mas fácil y declarativo en lugar de la codificación tradicional compleja pueden comenzar a crear aplicaciones de bajo código mediante el nuevo servicio de desarrollo de aplicaciones APEX. Las aplicaciones creadas e implementadas mediante el servicio de desarrollo de aplicaciones APEX se benefician de la alta seguridad, escalabilidad, disponibilidad y rendimiento proporcionados por Oracle Autonomous Database, lo que permite a los desarrolladores centrarse en resolver problemas de negocio y no en la tecnología subyacente. 

El servicio APEX también está preconfigurado con Oracle REST Data Services (ORDS) y SQL Developer Web. Los desarrolladores pueden utilizar ORDS para crear API REST personalizadas contra sus datos de aplicación y SQL Developer Web para componer consultas SQL y modelar datos gráficamente. Si la organización requiere una codificación tradicional contra la base de datos más allá de lo que se puede hacer en APEX, entonces, con un clic, los desarrolladores pueden actualizar el servicio a una base de datos autónoma (Autonomous Database) con Oracle APEX que admita las API completas de cliente de Oracle Database, SQL * Net, y Autonomous Data Guard.

  

Precio

El servicio de desarrollo de aplicaciones APEX incluye todo lo necesario para crear y ejecutar aplicaciones de bajo código, sin tarifas adicionales por usuario, por desarrollador, por aplicación o por la entrada y salida de datos, lo que facilita a los desarrolladores la creación e implementación de aplicaciones a escala. El servicio APEX está completamente administrado, por lo que los clientes no necesitan administrar la plataforma de aplicaciones, la base de datos o la infraestructura. Tiene un costo inicial de U$S 360 por mes por 1 OCPU y 1 TB de datos, que pueden admitir fácilmente a más de 500 usuarios activos utilizando múltiples aplicaciones en simultaneo, y el servicio APEX puede escalar elásticamente para admitir cargas de trabajo más grandes cuando sea necesario. Asimismo, puede usarse sin cargo dentro de Oracle Cloud Free Tier.

El anuncio de prensa de Oracle puede consultarse aquí.

¿Como se crea un servicio Oracle APEX Application Development?

Muy pronto voy a incluir un artículo donde explicaré el proceso de creación de un servicio APEX en OCI.

martes, 15 de diciembre de 2020

Creando una base de datos Oracle 21c en Oracle Cloud

En este artículo voy a mostrarles como crear una base de datos Oracle 21c en Oracle Cloud, usando una cuenta Free Tier (pueden ver mi artículo sobre Oracle Cloud Free Tier para crear su propia cuenta Cloud gratuita de Oracle).

Debemos recordar que Oracle 21c está disponible, por el momento, sólo en algunas regiones de OCI, por lo que si van a crear la cuenta es conveniente que lo hagan en la región Ashburn que es la que normalmente recibe primero las nuevas versiones de productos. 

Una vez que accedemos a la consola principal de Oracle Cloud Infrastructure, el menú rápido nos permite realizar acciones frecuentes, como ser elegir crear una base de datos ATP (Autonomous Transaction Processing


Creación de la Base de Datos

El proceso es realmente sencillo, y en pocos pasos podremos crear la misma. El primer paso consiste en:

  • Seleccionar los nombres para la base de datos (Oracle Cloud permite tener un nombre "visible" sencillo de recorder y un nombre interno que puede responder a alguna codificación interna).
  • Seleccionar el tipo de base de datos a crear (en este caso seleccione ATP porque es lo mas sencillo de usar, para probar los cambios en Oracle 21c).
  • Seleccionar si se desea usar infraestructura compartida o dedicada (las cuentas Free Tier solo pueden usar infraestructura compartida)


A continuación deberemos seleccionar la versión (obviamente vamos a probar con 21c, que ya aparece como opción por defecto ya que mi cuenta Free Tier se encuentra en la región Ashburn). Como usamos una cuenta Free Tier no podemos aumentar el numero de CPU o el espacio asignado:




Luego debemos ingresar:
  • Contraseña del usuario ADMIN (en las bases de datos autónomas, no se accede con el usuario SYS sino que existe un nuevo usuario ADMIN que permite realizar tareas administrativas)
  • Elegir entre permitir el acceso directo a la base de datos, o configurar una VCN (Virtual Cloud Network). Para nuestras pruebas vamos a permitir el acceso directo.
  • Elegir entre usar una licencia de Oracle o ingresar nuestra licencia (en cuentas Free Tier, se puede usar solo licencias de Oracle, pero en una cuenta Cloud normal esto permite reducir el costo del servicio Cloud si ya poseemos una licencia de base de datos Oracle).



Una vez completados estos datos, solo resta presionar el botón "Create Autonomous Database" para que el proceso de creación comience, el cual nos redirecciona a la siguiente página mientras dura la creación de la base de datos:



Esta tarea tarda unos pocos minutos, como pueden ver a continuación:


Una vez que la base de datos se encuentra creada e iniciada, podemos ver en la pantalla principal de la misma su estado y elegir acceder a la misma usando, por ejemplo, SQL Developer Web:



Usando Oracle 21c

Una vez creada la base de datos, ingresamos a SQL Developer Web y vamos a probar de crear una tabla Blockchain. Para ello seleccionamos la opción "Create Object" estando preseleccionado el filtro de Tablas en el navegador.


A continuación definimos el nombre de la tabla y podemos crear columnas, restricciones, etc:


Luego, seleccionamos la solapa "Blockchain" en el menu del lado izquierdo, y debemos marcar la tabla como Blockchain. Podemos usar los valores por defecto o seleccionar los valores de retención / modificación de datos deseados:


Si seleccionamos la solapa "DDL" podremos ver las sentencias que SQL Developer Web genera para crear la tabla, y presionando "Create" podremos crear nuestra tabla:


Una vez creada, podemos ver el resultado del script de creación en la solapa "Results":


Así de sencillo, en pocos minutos podemos crear nuestra propia base de datos Oracle 21c y probar las nuevas funcionalidades, como Tablas Blockchain.


domingo, 13 de diciembre de 2020

¿Qué hay de nuevo en Oracle 21c?

La disponibilidad de Oracle 21c fue anunciada la semana pasada, por el momento sólo en Oracle Cloud, ya sea como Database Service Virtual Machine, Bare Metal Service, asi como Autonomous Database Free Tier en algunas regiones (Ashburn, Phoenix, Frankfurt y London).

La versión 21c introduce nuevas características que hacen de Oracle Database la opción ideal de "converged database", una base de datos que soporta todo tipos de datos (relacionales, JSON, XML, Spatial, Graph, OLAP) ofreciendo al mismo tiempo alta performance, escalabilidad, alta disponibilidad y seguridad para uso transactional (OLTP) como analitico (OLAP).

Todas las mejoras y nuevas características pueden ser consultadas en el sitio Oracle Database Features, seleccionando las opciones "21c"  y "New Features Only", como se muestra a continuación



Nuevas características disponibles

Tipo de datos JSON Nativo

Si bien Oracle soporta datos de tipo JSON desde Oracle Database 12c, los mismos se almacenaban VARCHAR2 o LOB (CLOB o BLOB). Oracle también incluye desde la version 12c herramientas para manipular y acceder a datos JSON, y tratar su base de datos Oracle como si fuera una base de datos NoSQL accediendo a ella con las API SODA (API de datos de objetos simples) disponibles para Java, Node.js, Python, C y REST.

En Oracle Database 21c, el soporte JSON es mas completo, incluyendo un tipo de datos JSON nativo que permite que los documentos JSON se almacenen en un formato binario interno, logrando que las operaciones de lectura y actualización sean 4 o 5 veces más rápidas y que las actualizaciones de documentos JSON muy grandes sean de 20 a 30 veces más rápidas.

SQL Macros

No es inusual que una declaración SQL aumente en complejidad a medida que aumenta el número de combinaciones o las operaciones realizadas en los datos recuperados se vuelven más complicadas. Tampoco es raro que los desarrolladores intenten resolver este problema utilizando procedimientos almacenados y funciones de tabla para simplificar estas operaciones de uso común. Esto funciona muy bien para simplificar el código, pero potencialmente puede sacrificar el rendimiento cuando el motor SQL cambia el contexto con el motor PL / SQL. En Oracle Database 21c, las macros SQL resuelven este problema al permitir que las expresiones SQL y las funciones de tabla sean reemplazadas por llamadas a procedimientos almacenados que devuelven una cadena literal para ser insertada en el SQL que queremos ejecutar. Es un concepto increíblemente simple y con el que estarán familiarizados los programadores de C y Rust.

Mas detalles en mi artículo "Oracle 20c - SQL Macros" sobre esta característica disponible inicialmente en la version preview de Oracle 20c

Ejecución Nativa de JavaScript

JavaScript es un lenguaje de secuencias de comandos que  permite una interacción más rica del usuario en aplicaciones web y aplicaciones móviles. Es uno de los pocos lenguajes que se ejecuta en un navegador web y se puede utilizar para desarrollar código tanto del lado del cliente como del lado del servidor. Existe una gran colección de bibliotecas JavaScript existentes para implementar programas complejos y JavaScript funciona junto con tecnologías de desarrollo populares como JSON y REST. Oracle 21c incluye la posibilidad de ejecutar en forma nativa en la base de datos código JavaScript, permitiendo ejecutar operaciones de cálculo ya existentes en JavaScript sin necesidad de mover los datos a la capa de aplicación o al browser. La funcionalidad Multilingual Engine (MLE)  de Oracle 21c (basada en GraalVM) se encarga de convertir los tipos de datos entre Oracle y JavaScript.  

Tablas BlockChain

Blockchain como tecnología permite resolver muchos de los problemas asociados con la verificación de transacciones. Oracle Database 21c aborda este problema con la introducción de Blockchain Tables. Estas tablas poseen una serie de diferencias importantes con las tablas normales. El más notable de ellos es que las filas tienen un hash criptográfico a medida que se insertan en la tabla, lo que garantiza que la fila ya no se pueda cambiar en una fecha posterior.

Mejoras a características ya existentes

Además de las nuevas características mencionadas anteriormente, Oracle 21c ofrece un gran número de mejoras, como ser:

Mejoras a In-Memory

Las siguientes son algunas de las mejoras introducidas en Oracle 21c a In-Memory
  • In-Memory Vector Join: utilizando una versión mejorada del framework Deep Vectorization SIMD, en Oracle 21c es posible acelerar operaciones como Hash Join en columnas almacenadas en el In-Memory Columnar Store.
  • Self-Managing In-Memory Column Store: Oracle 21c puede decidir en forma automática que columnas incluir en en In-Memory Columnar Store, ya sea de tablas ya configuradas para estar en In-Memory como de tablas que no lo están.
  • In-Memory Hybrid Columnar Scans: Cuando una consulta necesita acceder a columnas disoponibles en In-Memory y a columnas que no lo están, Oracle usaba directamente los datos del Row Store. En Oracle 21 existe la posibilida de hacer un scan hibrido entre datos In-Memory y datos almacenados en forma tradicional.

Parámetros init.ora basados ​​en expresiones

Permite configurar parámetros de la base de datos (init.ora) utilizando cálculos y valores dependientes de la configuración del entorno. Por ejemplo, se puede establecer el parámetro de la base de datos CPU_COUNT en la mitad del número de CPU disponibles para el sistema operativo.


Compatibilidad con memoria persistente (PMEM)

Oracle Database 21c incluye compatibilidad con sistemas de archivos PMEM, ofreciendo mejoras significativas de latencia y ancho de banda en comparación con los sistemas de archivos tradicionales que utilizan discos SSD o giratorios. La implementación de Oracle Database 21c proporciona escrituras atómicas, protección segura contra escrituras parciales durante cortes de energía inesperados. También ofrece operaciones de E / S rápidas mediante copia de memoria. Además, utiliza eficientemente la memoria caché del búfer de la base de datos omitiendo y leyendo directamente desde el almacenamiento PMEM.

Mejoras a Sharding

Para facilitar el desarrollo de aplicaciones Java frente a Oracle Sharding, Oracle 21c incluye una nueva fuente de datos Java que simplifica la obtención de conexiones sin tener que definir la clave de Sharding o administrar la clave de conexión de forma explícita. También incluye mejoras que hacen que Sharding sea mas tolerante a fallos, buscando en forma automática Shards alternativas si el Shard donde se está trabajando falla durante la ejecución.


Modelos de gráficos optimizados

Los gráficos pueden constar de millones o incluso miles de millones de bordes y vértices, por lo que las optimizaciones de almacenamiento realizadas en Oracle Graph en la versión 21c pueden resultar en grandes mejoras de espacio y rendimiento para los modelos de Graph.

miércoles, 9 de diciembre de 2020

Oracle 21c ya está disponible en Oracle Cloud



Si, leyeron bien. El titulo dice Oracle 21c y no 20c! La versión 20c no va a existir oficialmente.

La versión 21c ya esta disponible tanto en el servicio Oracle Autonomous Database (en las regiones IAD, PHX, LHR y FRA) así como en Database Cloud Service (RAC y Single Instance en VM, Single Instance en Bare Metal).


La documentación de Oracle 21c ya está disponible online en el sitio de Oracle, en el siguiente link:


Como ya se mencionó en varias oportunidades, esta version es una version "Innovation Release" por lo que no tendrá soporte extendido, como ya he explicado en este artículo.


La versión 21c estará disponible On Premise ya comenzado el año 2021, pero ya se puede descargar el cliente de 21c para Linux para conectarse a las instancias Cloud desde este link.


Muy pronto otros artículos detallando las nuevas características de Oracle 21c y demostrando la creación de la misma en Oracle Cloud!

lunes, 17 de agosto de 2020

Oracle Cloud Infrastructure - Creando una Base de Datos JSON Autónoma

El anuncio del jueves 13/08 sobre Oracle Autonomous JSON Database (sobre el cual informé en este artículo) generó mucho interés en la comunidad de base de datos Oracle, ya que amplía las dos ofertas existentes (Autonomous Transaction Processing y Autonomous Data Warehouse) con un nuevo tipo de almacenamiento optimizado para documentos JSON.

A continuación vamos a ver los pasos requeridos para crear una base de datos autónoma JSON y conectarnos a la misma.


Creando una Base de Datos JSON Autónoma

El primer paso es navegar hasta las opción de "Autonomous JSON Database", dentro de la sección "Oracle Database" del menú principal de la consola de Oracle Cloud:



En la ventana siguiente, debemos verificar en qué compartimiento queremos crear la base de datos, y a continuación seleccionar la opción "Create Autonomous Database" que nos lleva al asistente para crear la base de datos:


El asistente posee varias secciones, en la primera podemos:
  • Verificar el nombre del compartimiento.
  • Ingresar el nombre "Visible" y el nombre "real" de nuestra nueva base de datos.
  • Seleccionar el tipo de base de datos autónoma a crear (como seleccionamos la opción habiendo entrado inicialmente desde la parte "Autonomous JSON Database, la misma aparece pre-seleccionada).

Luego podremos elegir:
  • Si usar infraestructura dedicada (un servidor exadata "privado") o compartida (nuestra DB estará ubicada en un servidor exadata con otras DB de otros clientes de Oracle.
  • La versión de la base de datos Oracle (por el momento, solo ofrece Oracle 19c).
  • Cantidad de procesadores y espacio de almacenamiento.
  • La opción de Auto Escalar para aumentar la capacidad de procesamiento y almacenamiento en forma automática.


A continuación debemos ingresar la contraseña para el usuario Admin de nuestra base de datos:
 

Y por último, podemos elegir:
  • Permitir el acceso público a nuestra DB (opción por defecto) o configurar la misma para que se encuentre ubicada en una VCN de nuestra cuenta, teniendo que configurar los permisos necesarios.
  • Usar una licencia de Oracle o usar una licencia ya existente (esta opción no se encuentra disponible para JSON Autonomous Database).

Por último, seleccionamos el botón "Create Autonomous Database" (como se muestra en la imagen anterior) y el proceso de creación de la instancia se inicia en forma automática, como vemos a continuación:



Conectándonos a una Base de Datos JSON Autónoma desde SQL Developer

Una vez finalizado el proceso de provisionamiento de nuestra base de datos JSON autónoma, podemos conectarnos a ella desde cualquier computadora con acceso a internet. Este proceso es similar al de cualquier otra instancia de Oracle Autonomous Database (ATP o ADW).

En primer lugar, desde la consola de Oracle Cloud, vamos a seleccionar la opción "DB Connection":

En esta pantalla podremos elegir el tipo de Wallet que queremos descargar, la opción por defecto es descargar el Wallet de la Instancia, lo cual hacemos presionando el botón "Download Wallet":


A continuación deberemos ingresar una contraseña para el Wallet (algunas herramientas lo requieren para acceder al mismo):


Una vez que descargamos el Wallet, solo tenemos que abrir el SQL Developer y configurar la conexión, con los siguientes detalles

  • En "Usuario" y "Contraseña", utilizar el usuario "Admin", y la contraseña definida para el mismo en la tercera parte del asistente de creación de la DB.
  • En la opción "Tipo de Conexión", seleccionar "Cartera de Cloud" (Cloud Wallet).
  • En la opción "Archivo de Configuración", seleccionar el archivo de Wallet que acabamos de descargar.
  • En la opción "Servicio" seleccionar uno de los servicios ya definidos, normalmente utilizaremos el servicio que finaliza en  TP (Transaction Processing)

Una vez que probamos la conexión, podemos guardarla y conectarnos a la misma, ejecutando una query para comprobar que la conexión funciona correctamente: