miércoles, 30 de diciembre de 2020

Retrospectiva del 2020

Sin dudas, este 2020 no fue un año mas para ninguno de nosotros, y seguramente lo recordaremos por mucho tiempo mas por las malas noticias que por lo que logramos realizar, pero eso no quita que en medio de tantos problemas no hayamos podido lograr algunas pequeñas victorias.

En mi caso, fue un año muy movido en cuanto a mi actividad con Oracle, como paso a detallar.

Certificaciones y Acreditaciones

A principios de este año complete acreditaciones de MOS tanto sobre la plataforma de soporte en general (tanto Cloud como normal) así como sobre las opciones específicas para Oracle Database:



Y si bien no estaba dentro de los planes, aprovechando que Oracle puso a disposición tanto capacitaciones como certificaciones por motivo de la cuarentena, a partir de Mayo pude rendir algunas certificaciones de Oracle Cloud:

Comunidad Oracle

A principios de año llegué a nivel Super Elite en la comunidad de Oracle, y MOSC (My Oracle Support Community) me envió una remera de regalo! A mitad de año pase al nivel Legend pero por la pandemia ya no estaban enviando mas regalos en MOSC, si no tendría dos remeras 😀


En Octubre la comunidad de Oracle  hizo un esperado cambio de plataforma, destinado a solucionar problemas que la plataforma anterior (obsoleta y fuera de soporte) generaba. Desafortunadamente la participación (tanto general como la mía) en el foro bajó mucho, en parte porque la nueva plataforma es mas compleja de navegar y requiere mas trabajo para encontrar el sitio apropiado donde realizar las consultas.

Espero que en el corto plazo se vayan solucionado los problemas de la nueva plataforma y que la actividad vuelva a incrementarse.


[EDIT] El 11/01 me enviaron de Oracle una certificación de Most Valued Contributor por participación en My Oracle Support Communitiy durante el 2020!



Eventos

En agosto de este año participé nuevamente del Groundbreakers Tour, pero esta vez el mismo fue 100% virtual! Fue todo un desafío exponer para personas de todo el mundo en forma virtual, pero creo que cumplí con las expectativas. El material de la sesión pueden encontrarlo en este artículo del blog.



Blog

Si bien este año no pude dedicarme a escribir tantos artículos técnicos (en lo laboral fue un año muy demandante) mantuve la cantidad total de artículos en un numero similar al año 2019. La idea es continuar generando material técnico en castellano, a la vez que compartir noticias relacionadas con el mundo Oracle.

Programa Oracle ACE

En el mes de Junio, una vez cerrado el período anual del programa, Oracle confirmó que mantuve el nivel Oracle ACE por segundo año, lo cual es un enorme orgullo!


Este año, y debido a la pandemia,. la reunión anual para ACE Directors que se hace previo al Oracle Open World, se hizo en forma virtual para todos los miembros del programa (sumando a ACE Associates y ACEs) lo cual me dio la oportunidad de compartir varias sesiones con otros miembros del programa de todo el mundo, junto a parte de los equipos de diseño y desarrollo de Oracle.


Otras Actividades

A fin de año escribí dos Reviews de para TrustRadius:


jueves, 24 de diciembre de 2020

Feliz Navidad y Año Nuevo

Este 2020 plagado de problemas y malas noticias va llegando a su fin, y desde el Blog quería desearle a todos mis seguidores que pasen una muy buena navidad y que comiencen el 2021 de la mejor manera!



A lo mejor sale algún artículo de último momento la semana próxima, si no es así nos reencontraremos en el 2021!




miércoles, 23 de diciembre de 2020

Nueva Región de Oracle Cloud en Santiago de Chile

Hace pocos días Oracle anunció la apertura de una nueva Región en su servicio Oracle Cloud en Santiago de Chile, con lo cual ahora hay dos regiones disponibles en Latinoamérica (Santiago y San Pablo) y 29 regiones a nivel global. El objetivo de Oracle es llegar a tener 38 regiones en todo el mundo a fines del año 2021


Esta nueva Región brinda acceso a todos los servicios de Oracle Cloud, incluyendo Oracle Autonomous Database, Oracle Container Engine para Aplicaciones de Kubernetes, Oracle Cloud VMware Solution y Oracle Fusion Cloud. La disponibilidad de Fast Connect (permite conectarse directamente a la red de alta velocidad de OCI) brinda la oportunidad a quienes acceden desde Chile y también de Argentina, Perú, Uruguay, Paraguay y Bolivia de implementar los servicios en la nube de Oracle en Chile para ejecutar aplicaciones, almacenar datos o proporcionar ambientes de recuperación ante desastres.


Para ayudar a los clientes a construir una verdadera continuidad del negocio y protección ante desastres mientras cumplen con los requisitos de residencia de datos en el país, Oracle planea establecer al menos dos regiones en cada país donde opera una región de nube. Estados Unidos, Canadá, UE, Reino Unido, Corea del Sur, Japón, India y Australia ya tienen dos regiones de nubes. Las próximas expansiones incluyen segundas regiones para Brasil, EAU y Arabia Saudita, más regiones de la UE en Italia, Suecia y Francia, y nuevas regiones en Singapur, Sudáfrica e Israel.


¿Que Región me conviene usar?

Sin duda, para los lectores del blog de Sudamérica, la oportunidad de acceder a una segunda Región implica la necesidad de evaluar la conveniencia de usar la Región de Santiago o la de San Pablo. Esto dependerá de muchos factores, ya se a de performance (por cercanía y menor latencia), por cuestiones de alta disponibilidad (Brasil es una instalación mas madura y pronto tendrá una segunda región) y también depende del uso que se le quiera dar. En mi caso, tengo mi cuenta Oracle Cloud Free Tier (pueden ver este artículo para crear la suya) configurada en la Región de Ashburn (USA) porque es una de las primeras en incluir nuevas características y versiones (como ser Oracle 21c) y como a nivel personal mi prioridad es poder probar los productos, independientemente de la performance, prefiero contar con las novedades disponibles apenas Oracle las libera.


Pero si el uso que le van a dar a su servicio de Cloud es para tener instancias productivas, sin duda las opciones con mejor performance estarán entre Brasil - San Pablo y Chile - Santiago. Recuerden que en la opción Free Tier no es posible cambiar ni usar mas de una Región.

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!

jueves, 22 de octubre de 2020

Mas Noticias sobre APEX 20.2

Antes que nada, dentro del programa Office Hours se llevara a cabo en pocos minutos una nueva sesion destina a APEX, llamada "What's new in APEX 20,2". Si están a tiempo pueden inscribirse aquí, de lo contrario próximamente estará disponible la grabación del evento.


[Editado 2020-10-23] Pueden ver la grabación del evento a continuación:




La semana próxima, Monica Godoy liderara una session en Office Hours en Español. El link para inscribirse aquí.



Otros artículos de blogs de Oracle sobre APEX 20.2:



Otros recursos (presentaciones, white papers) disponibles aquí.

miércoles, 21 de octubre de 2020

Oracle APEX 20.2 Oficialmente disponible tanto en Cloud como On-Premise

Hace apenas un par de horas Oracle anunció, en un articulo escrito por Joel Kallman en el blog de Application Express, que ya se encuentra disponible Oracle APEX 20.2.


En mi artículo anterior había comentado sobre las nuevas características de esta versión de APEX, las cuales ya estaban disponibles en apex.oracle.com y ahora puede ser utilizada en cualquier base de datos. Asimismo, se puede consultar un resumen de las nuevas funcionalidades de APEX 20.2 aquí.

A continuación, los enlaces mas relevantes de esta nueva versión
Asimismo, les dejo dos tutoriales escritos por Chaitanya Koratamaddi (Product Managerde Oracle APEX) sobre dos de las nuevas funcionalidades mas interesantes de APEX 20.0:





Es importante mencionar estas consideraciones respecto a soporte y usabilidad de APEX 20.2:
  • APEX 20.2 se encuentra soportada en todas las ediciones comerciales (EE, SE, SE1, SE2) de Oracle 11.2.0.4 o superior que tengan un contrato de soporte y mantenimiento. Por lo tanto:
    • APEX 20.2 no esta soportada en 11g XE ya que la misma es versión 11.2.0.2.
    • El soporte en 18c XE es mediante el foro de APEX en la Comunidad Oracle.
  • APEX 20.2 no soporta Internet Explorer 11. Si se requiere seguir usando IE11 por alguna otra aplicación se puede usar MS Edge en modo IE11.

sábado, 10 de octubre de 2020

Oracle APEX 20.2 disponible en apex.oracle.com

La release 20.2 de Oracle APEX ya está disponible para probar en el sitio apex.oracle.com, en el cual se puede desarrollar y probar aplicaciones en forma gratuita usando APEX.

El anuncio no se ve en el blog de APEX todavía, ya que es una version de pre-producción, pero fue echo en twitter por Patrick Wolf, uno de los desarrolladores principales de APEX 

La lista de mejoras y nuevas características es realmente muy grande, vamos a detallar las que consideramos mas importantes


Región de tarjetas

La nueva región de tarjetas es una región de informes liviana que admite personalizaciones de diseño, apariencia, icono, insignia, medios y acciones de manera declarativa. Las tarjetas son útiles para presentar una variedad de información en bloques pequeños. Como las tarjetas generalmente brindan acceso a información más detallada, puede incluir varias acciones como botones o enlaces de manera declarativa.


Automatizaciones

Las automatizaciones son un conjunto secuencial de acciones PL / SQL, desencadenadas por los resultados de la consulta. Se utilizan para monitorear datos y realizar alguna acción apropiada (como aprobar en forma automática solicitudes específicas o enviar alertas por correo electrónico). Se puede activar una automatización en Schedule o on Demand, invocando el paquete APEX_AUTOMATION. Los resultados de la consulta se pueden derivar de:

  • Tabla o Vista, Consulta SQL o una función PL / SQL que devuelve una Consulta SQL.
  • Base de datos local o SQL habilitado para REST.
  • Fuente de datos REST.


Mejoras en la búsqueda por facetas (Faceted Search)

  • Gráficos de barras o circulares de recuentos de valores de facetas.
  • Grupos de facetas de checkbox
  • El tipo de faceta de campo de entrada admite la comparación de un valor introducido por el usuario con la columna de faceta.
  • Optimización de performance.


Impresión de informes

  • APEX 20.2 permite la impresión de PDF y la descarga de archivos Excel (no de CSV, sino de Excel!!!) para los informes interactivos, cuadrículas interactivas e informes clásicos. Tambien es posible, en los informes interactivos, enviar correo electrónico: ahora se pueden adjuntar todos los formatos de descarga.
  • Integración mejorada con BI Publisher.
  • Nuevas API APEX_REGION.EXPORT_DATA y APEX_DATA_EXPORT para generar mediante programación archivos PDF, CSV, Excel, HTML, JSON y XML.


Sincronización de fuentes de datos REST

APEX admite la sincronización de datos desde una fuente de datos REST (anteriormente conocida como módulos de fuente web) a una tabla local. La sincronización se puede ejecutar en Programación o en Demanda, llamando al paquete APEX_REST_SOURCE_SYNC. Los desarrolladores no necesitan crear código PL / SQL personalizado para copiar datos de servicios REST a tablas locales; APEX proporciona esto como una opción declarativa.

  • APEX puede generar la tabla de destino local automáticamente, según los atributos de la fuente de datos REST.
  • Los datos de origen de REST se pueden agregar o combinar a la tabla local. También se admite la sustitución de todos los datos locales.
  • Los componentes APEX que utilizan la fuente de datos REST se pueden configurar para utilizar la tabla local en su lugar.
  • Los detalles técnicos como los límites de solicitud HTTP, los intervalos de confirmación o los métodos de eliminación para el modo Reemplazar son configurables.


Plug-Ins de conector de fuente de datos REST

La infraestructura de plugins APEX se ha ampliado para admitir complementos de conectores para API REST externas. Esto permite a APEX aprovechar al máximo las funciones de la API REST, como la paginación de resultados o el filtrado del lado del servidor, también para los servicios REST de terceros que no son ORDS ni Oracle Fusion SaaS Services.

  • El desarrollador crea un complemento del tipo de fuente de datos REST.
  • El código del complemento maneja los detalles de implementación específicos del servicio REST, como el estilo de paginación o cómo se pasan los filtros a la API REST.
  • Cuando APEX invoca una fuente de datos REST (por ejemplo, para generar un informe), el motor invocará el código del complemento y pasará toda la información de contexto relevante.
  • El código del complemento ejecuta una o varias solicitudes HTTP y devuelve los resultados al motor APEX.
  • APEX procesa la respuesta REST recibida del complemento.


Nuevos tipos de credenciales web

APEX 20.2 introduce nuevos tipos de Encabezado HTTP y Cadena de consulta URL para credenciales web. Esto permite a los desarrolladores utilizar el almacenamiento de credenciales seguro y cifrado también para los servicios REST que esperan, por ejemplo, una clave API como parte de la URL. APEX se asegura de que esas partes sensibles no se escriban en los registros de depuración o ejecución.

Ahora se puede proteger una credencial web proporcionando un patrón de URL. APEX solo usará la credencial web para las URL que comiencen con el patrón dado; de lo contrario, se generará un mensaje de error. Para cambiar el patrón de URL, la parte secreta de la credencial web debe ingresarse nuevamente.


Interfaz de usuario de Redwood

Universal Theme ahora admite un nuevo estilo de tema Redwood Light, disponible a través de Theme Roller. Actualice sus aplicaciones existentes para incorporar la última versión de Universal Theme y este nuevo estilo de tema.


Experiencia de desarrollador

  • Page Designer se ha mejorado para admitir varias pestañas en el panel del Editor de propiedades, lo que hace que sea más eficiente acceder a los atributos de una región.
  • Se implementó un nuevo editor de código (Monaco Editor) en todo el entorno de desarrollo. El editor mejorado incluye resaltado de sintaxis y accesibilidad enormemente mejorada.
  • La utilidad Embedded Code permite inspeccionar SQL, PL / SQL y JavaScript contenidos en una aplicación APEX. Tener la capacidad de ver el código incrustado hace que realizar tareas como revisiones de código, evaluaciones de seguridad o ajuste de aplicaciones sea mucho más conveniente. El código se puede guardar en el sistema de archivos desde App Builder o usando la utilidad APEXExport.
  • Quick SQL se ha mejorado para admitir el guardado de un modelo y el llenado automático de una clave principal utilizando la columna predeterminada


Elementos nuevos y mejorados

  • Nuevo tipo de elemento de casilla de verificación. Esta única casilla de verificación ofrece una alternativa al tipo de elemento Cambiar para columnas booleanas. También funciona en Interactive Grid, incluso cuando no está en modo de edición. Se ha cambiado el nombre del tipo de casilla de verificación anterior a Grupo de casilla de verificación.
  • El tipo de elemento de exploración de archivos se ha mejorado para admitir la representación como un objeto "Drop File", lo que permite arrastrar y soltar un archivo para cargarlo
  • El tipo de elemento del editor de texto enriquecido se ha actualizado para utilizar CKEditor 5 y ahora admite la salida de rebajas.
  • El tipo de elemento de campo de texto tiene una nueva configuración de mayúsculas y minúsculas para transformar opcionalmente el texto introducido por el usuario en mayúsculas o minúsculas.

Mejoras Diversas

  • El tipo de región de árbol se ha mejorado para admitir la carga diferida (lazy load) y también soporta refrescar sin tener que volver a cargar la página completa.
  • Nuevo soporte de ID estática de informes guardados de cuadrícula interactiva.
    • La vinculación a los informes guardados de Interactive Grid debe usar el ID estático del informe guardado en lugar del nombre del informe.
    • Con APEX 20.2, la API APEX_IG se ha actualizado para requerir el uso de la ID estática del informe guardado en lugar del nombre del informe, cuando se vincula a Cuadrículas interactivas.
  • Los módulos de fuente web ahora se denominan fuentes de datos REST (REST Data Source).



Oracle ACE (Director) Briefing 2020

Todos los años, y como parte de Oracle Open World, se desarrollan reuniones denominadas ACED Briefings entre directivos de Oracle (Product Managers, Product VPs, etc.) y los miembros del programa Oracle ACE con nivel Oracle ACE Director (ACED) donde se presentan el estado actual y los futuros desarrollos de los distintos productos de Oracle.



Este año, debido a la pandemia mundial causada por el COVID-19, Oracle Open World ha sido suspendido y en su lugar se realizan una serie de conferencias y eventos online. Aprovechando que este año el encuentro se realizaría en forma virtual y no presencial, los ACED Briefing de este año fueron ampliados para todos los miembros del programa (no solo ACE Directors, sino que también ACEs y ACE Associates) por lo que el martes 6 y miércoles 7 de este mes pude participar de ambas reuniones. Fue mi primera participación en este evento, la cual realmente disfruté (muchas gracias a Jen Nicholson y a todo el equipo de Oracle ACE por la idea!!!) .

Para participar de las mismas es requerido firmar un acuerdo NDA (Non Disclosure Agreement) y gran parte del contenido no puede hacerse público, por lo que no puedo dar detalles en particular, pero fueron seis sesiones muy interesantes que abarcaron los siguientes temas:


Una vez que los anuncios se vayan haciendo públicos (algunos MUY interesantes vendrán muy pronto) les voy a contar mas detalles de los mismos!

sábado, 19 de septiembre de 2020

Capacitaciones gratuitas de Oracle

Hace unos días Oracle anunció un programa de capacitaciones gratuitas llamado "Oracle Learning Explorer", el cual brinda acceso a cursos de nivel básico en una amplia gama de productos y servicios ofrecidos por Oracle.


A continuación, podemos ver una lista de las distintas tecnologías, servicios  y productos disponibles:


Para cada uno te estos temas existe al menos una capacitación "Explorer" que, si bien es muy básica (abarca los contenidos de uno o dos módulos de una capacitación tradicional), permite comenzar a utilizar la tecnología elegida y también sirve de demostración sobre la plataforma de capacitaciones de Oracle.

En el caso de Oracle Database, estas son las capacitaciones disponibles dentro de este programa:


viernes, 18 de septiembre de 2020

Videos de Oracle Groundbeakers Tour LATAM 2020

Ya están disponibles en la cuenta de YouTube de LAOUC todos los videos de las sesiones del Oracle Groundbreakers Tour LATAM 2020, incluyendo el video de mi sesión:


En total son 60 videos donde podremos conocer en detalle características de todos los productos de Oracle, incluyendo Base de Datos, lenguaje JAVA, servicios en la nube y mucho mas!







domingo, 6 de septiembre de 2020

Mi experiencia en Oracle Groundbreakers Tour LATAM 2020

Entre el  17 y el 28 de agosto se desarrolló en forma virtual, 100% online, el Groundbreakers Tour LATAM 2020, del que formé parte con una sesión titulada  "¿Qué hay de nuevo en JSON en Oracle 20c?".



Mi experiencia personal

El cambio entre las conferencias "presenciales" y esta presentación online fue muy fuerte para mí. Me resultó muy difícil no poder ver la reacción de las personas a medida que iba explicando los conceptos y demostrando los mismos.

En un evento presencial la comunicación es bi-direccional porque si bien normalmente el "speaker" es quien habla, los asistentes le contestan todo el tiempo mediante postura, gestos, etc, que permiten saber instantáneamente como se está desarrollando la charla. No contar con este feedback instantáneo fue muy difícil, al comenzar la primer demostración práctica no tenia idea si hasta el momento se habia entendido una palabra de lo que venia explicando, pero al ver que al momento de finalizar la charla todavía estaba casi todos los participantes conectados (no se si muchos asistentes se habían dormido y no llegaron a desconectarse 😂) me tranquilizó!


Otras charlas

Por cuestiones laborales (otro motivo por el cual prefiero los eventos presenciales, ya que es mas fácil "desconectarse") me fue muy difícil participar de otras charlas, pero disfruté mucho de la sesión de Connor Mcdonald "25 years of tips and tricks"


Material

Como todos los años, el material de mi charla esta disponible en la sección "Material Eventos y Artículos" de este blog, al que pueden acceder desde la página principal como se muestra a continuación:




Por otro lado, LAOC (Latin America Oracle Community) va a publicar todas las sesiones en su canal de YouTube. Por el momento se encuentra sólo disponible la primer sesión, pero muy pronto podremos contar con todas ellas para los que no pudieron (como es mi caso) participar en vivo de algunas de ellas.

[EDIT 2020-09-18]
Los videos ya se encuentran disponibles!

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: