viernes, 28 de enero de 2022

Resumen de Mejoras del 4º Trimestre de 2021 a Oracle Autonomous Database


Continuando con la revisión de las mejoras del 2021 a Oracle Autonomous Database, vamos a ver a continuación aquellas implementadas en ultimo cuarto del año.


Mejoras de Octubre de 2021


Integración con Oracle Cloud Infrastructure Data Catalog

Al sincronizarse con Data Catalog, las bases de datos ADB crean en forma automática tablas externas que permiten consultar la información del Catalogo en forma automática. La sincronización es dinámica, y cualquier cambio realizado en el Catalogo es automáticamente reflejado en la base de datos autónoma.


Para ver mas detalles se puede consultar un articulo aquí.


Soporte de tablas Blockchain e Inmutables

Estos dos nuevos tipos de tablas (que no aceptan cambios una vez los datos han sido ingresados, y a la vez los registros están encadenados entre sí) están disponibles en Oracle 21c y fueron back-ported a Oracle 19c (versión Oracle 19.11), con lo cual fueron incluidos en las bases de datos autónomas de Oracle Cloud



Para ver mas detalles de tablas Blockchain o Inmutables, se puede consultar la documentación aquí.

Tambien los siguientes artículos del blog:



Importar datos JSON directo de Object Store

Las bases de datos autónomas ahora permiten importar datos JSON desde Object Stores en la nube a una tabla ya existente. Este método de importación es compatible con todos los Object Store admitidos por Autonomous Database. Se puede utilizar un Resource Principal de Oracle Cloud para acceder a un Object Store de Oracle Cloud Infrastructure o utilizar nombres de recursos de Amazon (ARN) para acceder a AWS Simple Storage Service (S3).

Para ver mas detalles se puede consultar la documentación aquí.

Mejoras de Noviembre de 2021


Soporte a paquetes DBMS_LDAP y UTL_TCP

Ambos paquetes fueron actualizados y ahora pueden ser utilizados (con ciertas restricciones) en las bases de datos autónomas de Oracle Cloud. 

Para ver mas detalles se puede consultar la documentación aquí.


Nuevo Servicio "Database Management Service"

Este nuevo servicio permite monitorear el estado de una sola base de datos autónoma o una flota de bases de datos autónomas, incluyendo:

  • Supervisión de métricas clave de rendimiento y configuración de una flota de Autonomous Databases.
  • Comparación  y análisis de métricas de la base de datos durante un período seleccionado.
  • Agrupamiento de bases de datos autónomas críticas para su supervisión conjunta.
El siguiente video es una excelente descripción del servicio:



Y por supuesto, también es posible ver la documentación del mismo aqui.


Mejoras de Diciembre de 2021


Usar Database Links a bases de datos ubicadas en un Endpoint Privado

Ahora es posible crear enlaces de base de datos (Database Links) desde un origen de Autonomous Database a una base de datos Oracle de destino que se encuentra en un Endpoint privado.

Para crear un enlace de base de datos a una base de datos de destino en un punto final privado, la base de datos de destino debe ser accesible desde la VCN de Oracle Cloud Infrastructure de la base de datos de origen.

Para ver mas detalles se puede consultar un articulo aquí.


Exportar Datos como CSV / JSON / XML a Object Store

Ahora esposible exportar datos de Autonomous Database en distintos formatos de texto como CSV, JSON o XML.

Para ver mas detalles se puede consultar la documentación aquí.


Cambiar el Consumer Group desde API PL/SQL

El paquete CS_SESSION puede ser utilizado para cambiar el servicio de la base de datos y el grupo de consumidores (alto, medio, bajo, etc.) de una sesión existente.

Para ver mas detalles se puede consultar la documentación aquí.


Definir Inicio y Apagado automático de Oracle Autonomous Database

Esta nueva funcionalidad la mencionamos recientemente en el artículo "Un par de mejoras a Oracle Autonomous Database" del blog.


Integración con Identity and Access Management

La integración de Oracle Autonomous Database - Shared (ADB-Shared) con OCI IAM mejora la experiencia del usuario de ADB-Shared. 

En primer lugar, los administradores pueden gestionar todos sus usuarios de ADB-Shared de forma centralizada, sin realizar cambios en cada base de datos individualmente cuando los usuarios se unen, cambian de función o abandonan una organización.

Asimismo, los usuarios ahora pueden autenticarse en sus múltiples bases de datos compartidas de ADB con un solo nombre de usuario y contraseña administrados centralmente.

Para ver mas detalles se puede consultar un articulo aquí.



Soporte al paquete DBMS_PIPE

El paquete DBMS_PIPE que permite que dos o más sesiones en la misma instancia se comuniquen entre si, y ahora está disponible en Autonomous Database.


Oracle Database API for MongoDB

Oracle Database API para MongoDB es la iniciativa más reciente para ayudar a los desarrolladores a conectar aplicaciones, controladores y herramientas creados para MongoDB con Oracle Autonomous Databases.

Con Oracle Database API para MongoDB, los desarrolladores pueden continuar usando sus habilidades adquiridas en MongoDB, aprovechando tambien las capacidades de la base de datos Oracle (convergente, autónoma) para almacenar colecciones de MongoDB, abriendo un conjunto completamente nuevo de casos de uso para sus aplicaciones.



Para ver mas detalles se puede consultar un articulo aquí.



Con esto damos por finalizado el resumen las mejoras de Oracle Autonomous Database de 2021!


jueves, 27 de enero de 2022

Asesor de Costos disponible en OCI

En el día de hoy noté una diferencia en el panel lateral de mi cuenta de Oracle Cloud Infrastructure. Una nueva sección llamada "Cost Management Savings":



Si bien tengo una cuenta Always Free, por lo que no tengo costo alguno por los servicios que uso, esta nueva herramienta ofrece un resumen de las recomendaciones para reducir costos de los servicios que tenemos contratados, y un link a la pagina de recomendaciones (que incluye tanto recomendaciones asociadas a costos como de performance y alta disponibilidad), como podemos ver a continuación:



Para aquellos usuarios con cuentas pagas de Oracle Cloud, nueva funcionalidad permite ver en forma inmediata si tenemos alguna recomendación pendiente de implementar:

Imagen gentileza de Simu Vilmunen


miércoles, 26 de enero de 2022

Resumen de Mejoras del 3º Trimestre de 2021 a Oracle Autonomous Database


Continuando con la revisión de las mejoras del 2021 a Oracle Autonomous Database, vamos a ver a continuación aquellas implementadas en el tercer trimestre del año.


Mejoras de Julio de 2021


Detalle de Patches Aplicados

Ahora es posible saber todos los patches que fueron aplicados a cada base de datos autónoma. Para ello, se debe seleccionar la opción "View History" en la sección "Maintenance" de la pagina principal de la base de datos, la cual nos llevará a una página con los detalles:


Para ver la información detallada del parche para un Patch específico, use el campo Título como filtro para ejecutar la siguiente consulta SQL en la base de datos:

SELECT * FROM DBA_CLOUD_PATCH_INFO WHERE PATCH_VERSION = 'ADBS-21.10.2.2';



Configurar los valores de concurrencia del servicio MEDIUM

Si su aplicación requiere un límite de concurrencia personalizado que no está disponible con los servicios predefinidos, puede modificar el límite de concurrencia para el servicio MEDIUM desde la Consola del Servicio de Base de Datos Autónoma o utilizando procedimientos PL/SQL.

Para ver mas detalles se puede consultar la documentación aquí.


Particionamiento Automático

El particionamiento automático analiza y automatiza la creación de particiones para tablas e índices de un esquema específico para mejorar el rendimiento y la capacidad de administración en Autonomous Database. La partición automática es transparente y no requiere ninguna interacción ni mantenimiento por parte del usuario.

Para ver mas detalles se puede consultar la documentación aquí.


Mejoras de Agosto de 2021


Acceso Adelantado a Patches

Cuando aprovisiona o clona una instancia de Autonomous Database, es posible seleccionar un nivel de parche para aplicar los próximos parches. Hay dos opciones de nivel de parche: Regular y Early. El nivel de parche temprano (Early) permite a los clientes probar los próximos parches una semana antes de que se apliquen como parte del programa regular de parches.

Nota: Esta funcionalidad no se encuentra disponible para bases de datos creadas en cuentas Always Free.



Mejoras de Septiembre de 2021


Exportar datos como JSON directo a Cloud Object Store

El paquete DBMS_CLOUD se ha mejorado para permitir exportar datos directamente a Object Store en la nube en formato JSON. Admite todos los Object Store en la nube admitidos por Autonomous Database, aceptando el uso de Resource Principal para conectarse al Object Store de Oracle Cloud Infrastructure o utilizando nombres de recursos de Amazon (ARN) para acceder a AWS Simple Storage Service (S3). 

Para ver mas detalles se puede consultar la documentación aquí.


Consultar SQL Tracing almacenado en Cloud Object Store

El uso de Trace SQL puede ayudar a los administradores de Oracle a identificar el origen de una carga de trabajo excesiva en la base de datos. Al habilitar SQL Tracing la misma información de trace guardada Cloud Object Store puede ser accedida mediante la vista SESSION_CLOUD_TRACE en la sesión donde se habilitó el seguimiento.

Para ver mas detalles se puede consultar la documentación aquí.


Autonomous Data Guard Multi-Región

Esta nueva funcionalidad permite generar y mantener sincronizada una base de datos Standby mediante el uso de Data Guard en una región de Oracle Cloud distinta a la región donde la base se encuentra localizada. Cada región de Oracle Cloud posee una o varias regiones "cercanas" (a las cuales debemos suscribirnos) donde podemos ubicar nuestra base Standby.

Si ya poseemos una base de datos Standby en otro Availability Domain de la region, igualmente podemos habilitar una segunda base de datos Standby en otra región (Autonomous Database soporta hasta dos Standby , una local y una remota). Esta funcionalidad no está disponible para bases de datos Always Free, ya que estas cuentas no permiten suscripción a multiples regiones, y Cloud Data Guard tampoco está disponible como servicio Always Free.


Para ver mas detalles se puede consultar un articulo aquí.



Estas fueron las mejoras y nuevas funcionalidades de ADB disponibles en el tercer trimestre de 2021, en el próximo artículos veremos los cambios y mejoras anunciados en los últimos meses de 2021.

lunes, 24 de enero de 2022

Resumen de Mejoras del 2º Trimestre de 2021 a Oracle Autonomous Database


Continuando con la revisión de las mejoras del 2021 a Oracle Autonomous Database, vamos a ver a continuación aquellas implementadas en el segundo cuarto del año.


Mejoras de Abril de 2021


Mejoras al soporte de Data Pump

Desde abril es posible usar en las bases de datos autónomas de Shared Infrastructure un script que admite caracteres de sustitución (comodines) para descargar todos los archivos de dump desde el Object Store con un solo comando.

Para ver mas detalles se puede consultar la documentación aquí.

Administración de Contactos

Las bases de datos autónomas de Shared Infrastructure permiten agregar contactos para recibir notificaciones ante eventos. El artículo "Nueva Opción en Oracle Autonomous Database - Gestión de Contactos para Recibir Notificaciones" de este blog describe como configurar y usar los mismos.



Mejoras a Database Actions

Database Actions incorporó nuevas funcionalidades y mejoras interesantes, como ser:

Nuevo Menu
El nuevo menu de navegación permite un acceso mas sencillo a todas las herramientas (acá la imagen incluye todas las herramientas disponibles al día de hoy)



Performance Hub
Esta aplicación permite obtener información, tanto histórica como en tiempo real, de algunos indiciadores de performance 




Mejoras a Creación de Usuarios
Al momento de crear usuarios, existen mas opciones, fácilmente configurables mediante toggles, para permitir el acceso a herramientas como Graphs o Machine Learning


Golden Gate como Servicio de OCI

En abríl se anunció la disponibilidad de Golden Gate como servicio de Oracle Cloud Infrastructure, lo cual informamos en el artículo "Oracle Cloud incorpora GoldenGate como Servicio en la Nube"



Uso de Oracle Spatial en ADB

Se actualizó la documentación de ADB para incluir los detalles de uso de Oracle Spatial, lo que permite a los desarrolladores y analistas comenzar a utilizar mas fácilmente los servicios de mapeo y análisis de inteligencia de ubicación.

La documentación se actualizó para brindar más información sobre el uso de Oracle Spatial con ADB, incluyendo detalles sobre las restricciones específicas que se aplican a ADB.


Uso de Oracle Graph en ADB

Se actualizó la documentación de ADB para incluir los detalles de uso de Oracle Graph, permitiendo crear grafos a partir de datos en su base de datos autónoma. Con los grafos es posible analizar datos en función de las conexiones y relaciones entre las entidades de datos.

La documentación se actualizó para brindar más información sobre el uso de Oracle Graph con ADB, incluyendo detalles sobre las restricciones específicas que se aplican a ADB.


Oracle APEX Service y Oracle Autonomous JSON Database ahora forman parte de Always Free

Ambas funcionalidades se agregan a la oferta gratuita de Oracle Cloud, lo cual detallamos en el artículo "Nuevos servicios se agregan a Always Free - Oracle JSON Database y Oracle APEX Development Service" de este blog.

Mejoras de Mayo de 2021


Soporte de OCI Resource Principal

Un "Resource Principal" autoriza a un recurso de OCI a realizar llamadas API a otros servicios de OCI (como ser Object Store). Autonomous Database ahora puede utilizar Resource Principal para acceder a los recursos de Oracle Cloud Infrastructure especificados para ciertas acciones, como ser:

  • Acceder a los datos de un Object Storage, pudiendo modificar y volver a guardar los mismos.
  • Acceder a recurso de tipo Vault, Key o Secret para establecer conexiones con otros recursos tanto de OCI como externos.
  • Consultar solicitudes de trabajo y/o los errores de las solicitudes de trabajo.
Para ver mas detalles se puede consultar un articulo aquí.


Soporte de Amazon Resource Name

Al utilizar la autenticación basada en funciones de ARN, se puede acceder de forma segura a los recursos de AWS sin crear ni guardar credenciales. El uso de ARN para acceder a los recursos de AWS desde ADB tiene los siguientes beneficios:

  • Puede crear acceso basado en roles, con diferentes políticas para diferentes usuarios o esquemas que necesitan acceso a los recursos de AWS desde una instancia de ADB.
  • Le permite establecer una política para limitar el acceso a los recursos de AWS por rol
  • Las credenciales basadas en ARN brindan una mejor seguridad, ya que no necesita proporcionar credenciales de usuario de AWS a largo plazo en el código para acceder a los recursos de AWS.

Para ver mas detalles se puede consultar la documentación aquí.


Transparent Application Continuity

Application Continuity permite "ocultar" interrupciones en el servicio para aplicaciones delgadas basadas en Java, Oracle Database Oracle Call Interface y aplicaciones basadas en ODP.NET., soportando controladores de código abierto, como Node.js y Python

TAC rastrea y registra de forma transparente las sesiones y el estado transaccional para que la sesión de la base de datos se pueda recuperar después de interrupciones recuperables, sin depender del conocimiento de la aplicación o cambios en el código de la misma.

Para ver mas detalles se puede consultar un articulo aquí.


PCI Compliance

ADB-Shared ahora ha obtenido la certificación de cumplimiento de PCI. Los detalles sobre la misma se encuentran disponibles en la página de Compliance de Oracle Cloud.


Graph Studio

Graph Studio es una herramienta web que proporciona un conjunto completo de funciones:

  • Herramienta de modelado de grafos para asignar datos relacionales a grafos.
  • Lanzado directamente desde la Consola OCI.
  • Cuadernos compartidos disponibles en la web para análisis interactivo y colaboración.
  • Visualización gráfica integrada,
  • PGQL: lenguaje de consulta de gráfico de propiedades similar a SQL.
  • Cerca de 60 algoritmos gráficos de propiedades preconstruidos, como: PageRank, Detección de comunidad, Ruta más corta, etc.


Para conocer mas sobre Graph y su funcionalidades, consulte la documentación aqui.


Mejoras de Junio de 2021


Extensión del Tiempo de Retención de Data Safe

Data Safe es un servicio de Oracle Cloud que permite analizar la seguridad de bases de datos. El mismo solo retiene 12 meses de historia, pero ahora es posible mantener información mas antigua (otros 72 meses) archivada, la cual puede ser recuperada su análisis de ser requerido.

Para ver mas detalles se puede consultar la documentación aquí.


Usar Autonomous Database como Catálogo de RMAN

Ahora es posible utilizar Oracle Autonomous Database como un catálogo de recuperación de Recovery Manager (RMAN). Un catálogo de recuperación es un esquema de base de datos que RMAN utiliza para almacenar metadatos sobre una o más bases de datos de Oracle.

El catálogo de recuperación de Recovery Manager (RMAN) está preinstalado en Autonomous Database en el esquema RMAN$CATALOG. La versión del catálogo preinstalado se basa en la última versión de Oracle Database y es compatible con todas las versiones de bases de datos de Oracle compatibles.

Para ver mas detalles se puede consultar la documentación aquí.


Keys gestionados por el Usuario

Desde junio es posible utilizar Keys creadas por el usuario para las tareas de encriptado de una base de datos autónoma. Si las políticas de seguridad de un cliente requieren el uso de claves de cifrado administradas por el cliente, ahora es posible configurar ADB para usar una clave de cifrado maestra de OCI Vault. Con las claves de cifrado maestras administradas por el cliente, ADB usa la clave de cifrado maestra para generar la clave maestra de TDE, y la clave maestra de TDE se cifra con la clave maestra de Oracle Cloud Infrastructure Vault y se almacena localmente en la base de datos.





Estas fueron las mejoras y nuevas funcionalidades de ADB disponibles en el segundo trimestre de 2021, en los próximos artículos veremos aquellas disponibles en la segunda mitad del 2021

viernes, 21 de enero de 2022

Oracle Visual Builder disponible en OCI en regiones de LATAM

Si bien no es lo mas frecuente, esta vez Oracle nos sorprendió al anunciar que las regiones de Oracle Cloud de Latino América (Santiago - Chile, San Pablo - Brasil y Vinhedo - Brasil) son las primeras en contar a nivel global con Visual Builder como servicio, tal como vemos en la imagen siguiente:



Desafortunadamente, no es un servicio incluido en Always Free (como se ve en el mensaje) por lo que no pude crear la instancia, pero el proceso es muy sencillo, solo es necesario completar el nombre y elegir el compartimento, podemos crear una instancia del mismo para comenzar a desarrollar aplicaciones web y mobile:


¿Qué es Visual Builder?

Oracle Visual Builder es una plataforma de desarrollo rápido para crear y alojar aplicaciones web y móviles. Visual Builder proporciona un entorno basado en navegador que simplifica la creación de aplicaciones empresariales mediante tecnologías HTML, JavaScript y REST. Visual Builder es la plataforma de desarrollo utilizada por Oracle para crear la próxima generación de aplicaciones en la nube de software como servicio (SaaS) de Oracle y permite a los clientes ampliar esas aplicaciones y crear sus propias aplicaciones a medida. 


Desarrollo Visual

Visual Builder simplifica y acelera el desarrollo de aplicaciones proporcionando una experiencia de desarrollo visual, utilizando componentes de interfaz de usuario de Oracle JET y un editor WYSIWYG que le permite colocarlos en una página y establecer sus atributos. Permite crear flujos lógicos con el editor de cadena de acción visual, y utilizar accesos rápidos para vincular los componentes de la interfaz de usuario a los datos que provienen de los servicios REST. También es posible arrastrar y soltar fuentes de datos directamente para crear formularios y tablas que le permitan recuperar, modificar e insertar datos.



Características Adicionales

Además del desarrollo visual, Visual Builder brinda acceso directo al código de la aplicación, permitiendo a los desarrolladores utilizar su enfoque de desarrollo preferido combinando la codificación directa con un enfoque declarativo.

La integración con Git y la automatización de integración e implementación continuas (CI/CD) brindan una plataforma completa para el desarrollo empresarial. Asimismo, permite automatizar el empaquetado y la implementación de las aplicaciones tanto con Oracle Visual Builder Studio o con herramientas externas de CI/CD, completando el ciclo de DevOps.


Recursos Adicionales

Puede acceder a los siguientes recursos para conocer mas sobre Oracle Visual Studio:





jueves, 20 de enero de 2022

SQL Developer 21.4 actualizado nuevamente!

SQL Developer 21.4 recibió una nueva actualización a la versión 21.4.2, corrigiendo algunos bugs propios y actualizando la biblioteca log4j con la ultima versión disponible, resolviendo así las vulnerabilidades detectadas en las ultimas semanas en la misma.



El mismo puede descargarse aquí. Para conocer mas detalles sobre esta versión pueden consultar el  artículo correspondiente en el blog de Jeff Smith (Product Manager de Oracle encargado de SQL Developer).


Algunos links útiles


SQLcl

Asimismo en la misma página ya se encuentra disponible SQLCl 21.4.1 (SQLCl no usa Apache Log4J así que no hay que preocuparse por eso). Esta versión incluye la solución a varios bugs propios reportados.


Resumen de Mejoras del 1º Trimestre de 2021 a Oracle Autonomous Database


Durante el año 2021 se introdujeron mas de cuarenta mejoras a Oracle Autonomous Database, todas ellas ampliando los servicios disponibles u ofreciendo nuevas funcionalidades. Algunos de estos cambios ya los hemos mencionado, pero en este y algunos artículos siguientes, veremos una por una las mejoras que no habíamos cubierto en artículos anteriores.


Mejoras de Febrero de 2021


Soporte a Private Endpoints para herramientas internas

Este cambio disponible en Shared Infrastructure permite que las bases de datos ADB ubicadas en un Endpoint privado ahora tengan acceso a las herramientas internas como APEX, SQL Developer Web (ahora llamada Web Actions), ORDs y a los Notebooks de OML (Oracle Machine Learning)

Para ver mas detalles se puede consultar la documentación aquí.



Mejoras a Backups Manuales

Este cambio disponible en Shared Infrastructure permite elegir el nombre del bucket donde almacenar los backups manuales, y en general el proceso de configuración de los mismos es mas sencillo. Existe una nueva propiedad a nivel base de datos llamada "DEFAULT_BACKUP_BUCKET" que permite indicar el nombre del bucket de Oracle Cloud Storage done queremos almacenar los backups manuales.

Para ver mas detalles se puede consultar la documentación aquí.


Uso de AES256 para encriptado de datos en Tablespaces

A partir de febrero, las bases de datos ADB de Shared Infrastructure usan encriptado AES256 para los tablespaces.


Oracle Machine Learning for Python (OML4P)

Este cambio disponible en Shared Infrastructure permite utilizar una base de datos autónoma como un entorno informático de alto rendimiento para explorar, transformar y analizar datos más rápido y a escala mediante el uso de Python. Los algoritmos de Machine Learning son ejecutados en paralelo en la base de datos mediante una interfaz de Python integrada.

Además, es posible crear funciones de Python definidas por el usuario y administradas en la base de datos. Los objetos de Python también se pueden almacenar directamente en la base de datos, en lugar de mantenerse en archivos planos.

Para una explicación mas detallada, pueden consultar el siguiente video:


Oracle Graph Studio

La consola de Graphs (Oracle Graph Studio) está integrada en Autonomous Database, disponible mediante un botón en la sección de herramientas de las bases de datos autónomas en Shared Infrastructure. Esta integración proporciona herramientas completas para trabajar con gráficos, como ser:

  • Herramienta de modelado de grafos para asignar datos relacionales a grafos.
  • Cuadernos basados en navegador para análisis interactivo y colaboración.
  • Visualización integrada.
  • Utiliza las capacidades comprobadas del Graph Analytics Engine.


El siguiente video muestra una introducción a Oracle Graph Studio:


Mejoras de Marzo de 2021


Herramientas Adicionales para Autonomous Database

Las bases de datos autónomas en Shared  Infrastructure ahora incluyen herramientas para cargar datos de forma rápida y sencilla y crear transformaciones de datos sin escribir código (Data Load), definir modelos de semánticos (Business Models) y descubrir automáticamente información clave sobre datos (Data Insights) así como una función de catálogo permite clasificar, ordenar y realizar análisis de impacto sobre la estructura de nuestra base de datos (Catalog).

A continuación podemos ver las mismas dentro del Database Actions (junto con otras herramientas que se fueron agregando posteriormente):


Para mas detalles sobre estas nuevas herramientas, podemos consultar el artículo "Introducing Autonomous Data Tools" en el blog Database Insider


Y con estos cambios terminamos la primera parte de nuestro resumen de mejoras de 2021 en Oracle Autonomous Database.

miércoles, 19 de enero de 2022

Oracle Cloud tiene su primer Región en África


Oracle acaba de anunciar la apertura de un nueva Region de Oracle Cloud Infrastructure localizada en la ciudad de Johannesburg, en la República de Sudáfrica. Está es la región comercial número treinta de Oracle, a las cuales se le suman siete regiones gubernamentales (en Estados Unidos y el Reino Unido) para totalizar 37 regiones, al tiempo que se contempla tener 44 regiones en funcionamiento para fin de año.


El anuncio de prensa oficial menciona diversas compañías que migrarán su plataforma a Oracle Cloud en la Region de Johannesburg, aprovechando tanto los beneficios técnicos que ofrece la infraestructura de Oracle en la nube como así también la implementación en dicha región de documentación adicional para satisfacer requerimientos regulatorios y de compliance (para mas detalles ver este artículo en el blog de Oracle Cloud Infrastructure).


Para conocer mas en detalle la estructura de Regiones y Availability Domains de Oracle Cloud, no duden en consultar la documentación oficial.


VirtualBox 6.1.32 disponible!


En el día de ayer fue liberada VirtualBox 6.1.32, la plataforma de virtualización gratuita de Oracle.

VirtualBox se puede descargar en forma gratuita desde el sitio web de VirtualBox, y ademas podemos consultar el historial de cambios y la documentación en los siguientes links:


jueves, 13 de enero de 2022

info+ - Un interesante truco de SQL*Developer y SQLCl


Hace poco estaba probando una forma rápida de obtener información algo mas detallada que lo que brinda el comando DESC en SQL*Plus o SQL Developer y encontré un articulo de un blog donde describe el uso del comando info+

Este sencillo comando está disponible en SQL Developer y SQLcl, y muestra mas información incluyendo ademas de columnas, información de índices y algunos detalles respecto a los datos existentes.

 Probemos creando las siguiente tablas y cargado algo de datos en ellas:

CREATE TABLE Clientes(
    ID_Cliente NUMBER GENERATED BY DEFAULT AS IDENTITY,
    Apellido VARCHAR2(50) NOT NULL,
    Nombre VARCHAR2(50) NOT NULL,
    CONSTRAINT PK_Clientes PRIMARY KEY(ID_Cliente)
);
--
CREATE TABLE Facturas(
    ID_Factura NUMBER GENERATED BY DEFAULT AS IDENTITY,
    Fecha_Factura DATE,
    Nro_Factura NUMBER(10),
    ID_Cliente NUMBER,
    Monto NUMBER (12,2),
    CONSTRAINT PK_Facturas PRIMARY KEY (ID_Factura),
    CONSTRAINT UK_Facturas UNIQUE (Nro_Factura),
    CONSTRAINT FK_Facturas_Clientes FOREIGN KEY (ID_Cliente) REFERENCES Clientes
);
--
INSERT INTO Clientes (Apellido, Nombre) VALUES ('Ronaldo', 'Cristiano');
INSERT INTO Clientes (Apellido, Nombre) VALUES ('Messi', 'Lionel');
--
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 1, 1, 1234);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 2, 2, 2345);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 3, 1, 3456);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 4, 2, 4567);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 5, 1, 5678);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 6, 2, 6789);
--

Luego,  vamos a analizar la tabla Facturas para obtener estadísticas básicas de la misma (usamos la antigua sintaxis ANALYZE ya que veremos solo alguna información básica)

ANALYZE TABLE Facturas COMPUTE STATISTICS;

Luego de analizar la tabla, podemos ejecutar el comando info+ para obtener una vista rápida de la misma

info+ Facturas

El resultado es el siguiente:


TABLE: FACTURAS 
	 LAST ANALYZED:2022-01-13 
	 ROWS         :6 
	 SAMPLE SIZE  :6 
	 INMEMORY     :DISABLED 
	 COMMENTS     : 

Columns 
NAME            DATA TYPE      NULL  DEFAULT                           LOW_VALUE             HIGH_VALUE            NUM_DISTINCT   HISTOGRAM  
*ID_FACTURA     NUMBER         No    "ADMIN"."ISEQ$$_123956".nextval   1                     6                     6              NONE       
 FECHA_FACTURA  DATE           Yes                                     2022.01.13.18.04.02   2022.01.13.18.04.58   5              NONE       
 NRO_FACTURA    NUMBER(10,0)   Yes                                     1                     6                     6              NONE       
 ID_CLIENTE     NUMBER         Yes                                     1                     2                     2              NONE       
 MONTO          NUMBER(12,2)   Yes                                     1234                  6789                  6              NONE       

Indexes
INDEX_NAME           UNIQUENESS    STATUS    FUNCIDX_STATUS    COLUMNS        
ADMIN.PK_FACTURAS    UNIQUE        VALID                       ID_FACTURA     
ADMIN.UK_FACTURAS    UNIQUE        VALID                       NRO_FACTURA

Como verán la información es mas completa que usando el comando DESC:

Name          Null?    Type         
------------- -------- ------------ 
ID_FACTURA    NOT NULL NUMBER       
FECHA_FACTURA          DATE         
NRO_FACTURA            NUMBER(10)   
ID_CLIENTE             NUMBER       
MONTO                  NUMBER(12,2) 

Espero les resulte útil!!!

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!!!