viernes, 26 de abril de 2024

El parámetro MAX_STRING_SIZE, como aumentar el tamaño a 32K de almacenamiento en 19c y 23c de las variables VARCHAR2, NVARCHAR2 y RAW

En una base de datos Oracle el parámetro MAX_STRING_SIZE controla el tamaño máximo de los tipo VARCHAR2, NVARCHAR2 y RAW en SQL.

En la versión 19c que actualmente esta en el RU 19.23 y en la versión 23c que se encuentra disponible en el OCI como DBaaS y que pronto estar disponible en las demás plataformas para ON-PREMISE, el valor de facto es STANDARD, lo que implica, que el tamaño máximo que puede almacenar son 4000 bytes.

Utilizando el comando ALTER SYSTEM, eso sí, solo cuando la base de datos esté en modo UPGRADE y posteriormente ejecutando el script utl32k.sql, como se explica en este artículo, podrán cambiar la capacidad máximo de almacenamiento para este tipo de variables.

STANDARD significa que se aplican los límites de longitud para las versiones de Oracle Database anteriores a Oracle Database 12c (por ejemplo, 4000 bytes para VARCHAR2 y NVARCHAR2 y 2000 bytes para RAW).

EXTENDED significa que se aplica el límite de 32767 bytes introducido en Oracle Database 12c.

Puede cambiar el valor de MAX_STRING_SIZE desde STANDARD a EXTENDED. Sin embargo, no puede cambiar el valor de MAX_STRING_SIZE de EXTENDED a STANDARD.

Al establecer MAX_STRING_SIZE= EXTENDED, los usuarios están realizando una acción explícita que podría introducir incompatibilidad de aplicaciones en su base de datos. Las aplicaciones que no quieran utilizar los tipos de datos expandidos se pueden reescribir para que sean compatibles con cualquiera de las configuraciones; por ejemplo, estas aplicaciones podrían usar CAST explícitos para fijar la longitud de VARCHAR2 en las expresiones durante CREATE TABLE AS SELECT.

La modificación MAX_STRING_SIZE actualizará los objetos de la base de datos y posiblemente los invalidará, según la documentación oficial de Oracle, de la siguiente manera:
  • Las tablas con columnas virtuales se actualizarán con nuevos metadatos de tipos de datos para columnas virtuales de VARCHAR2(4000), 4000 bytes.
  • Los índices funcionales quedarán inutilizables si un cambio en sus columnas virtuales asociadas hace que la clave de índice exceda los límites de longitud de la clave de índice. Los intentos de reconstruir dichos índices fracasarán con ORA-01450: maximum key length exceeded.
  • Las vistas se invalidarán si contienen columnas VARCHAR2(4000) de , 4000 bytes NVARCHAR2 o RAW(2000).
  • Las vistas materializadas se actualizarán con nuevos metadatos VARCHAR2(4000), 4000 bytes NVARCHAR2y RAW(2000)columnas de expresión escrita.
En una base de datos utilizando Container Database, el cambio debe realizarse tanto en el CDB como en los PDB requeridos.

Realizarlo en el CDB permitirá que los PDBS que se creen posterior al cambio, ya tengan como valor de facto en la variable, los 32K de tamaño.

Veamos como se hace el procedimiento de cambio.

Para realizar este proceso será necesario utilizar el script "catcon.pl" para ejecutar el archivo de comando utl32k.sql ubicado en $ORACLE_HOME/rdbms/admin.

Va a requerir contar con la contraseña del usuario SYS, la cuál será solicitada durante la ejecución del script.

login as: opc
Authenticating with public key "rsa-key-20200507"
Passphrase for key "rsa-key-20200507":
Last login: Wed Apr 24 21:00:55 2024 from 201.198.177.186
[opc@oracle-database-server-19c ~]$ sudo su - oracle
Last login: Wed Apr 24 21:01:20 GMT 2024 on pts/0
-bash-4.2$ lsnrctl start
-bash: lsnrctl: command not found
-bash-4.2$ . oraenv
ORACLE_SID = [oracle] ? cdb
The Oracle base has been set to /opt/app/oracle
-bash-4.2$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 26-APR-2024 15:46:43

Copyright (c) 1991, 2023, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-database-server-19c.vcnlandb.vcntestinglab.oraclevcn.com)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 2: No such file or directory
-bash-4.2$ lsnrctl start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 26-APR-2024 15:46:45

Copyright (c) 1991, 2023, Oracle.  All rights reserved.

Starting /opt/app/oracle/product/19c/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /opt/app/oracle/product/19c/network/admin/listener.ora
Log messages written to /opt/app/oracle/diag/tnslsnr/oracle-database-server-19c/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle-database-server-19c.vcnlandb.vcntestinglab.oraclevcn.com)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-database-server-19c.vcnlandb.vcntestinglab.oraclevcn.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                26-APR-2024 15:46:45
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/app/oracle/product/19c/network/admin/listener.ora
Listener Log File         /opt/app/oracle/diag/tnslsnr/oracle-database-server-19c/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle-database-server-19c.vcnlandb.vcntestinglab.oraclevcn.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
-bash-4.2$ sqlplus /nolog

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Apr 26 15:46:49 2024
Version 19.22.0.0.0

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area 4.2950E+10 bytes
Fixed Size                  9189176 bytes
Variable Size            4966055936 bytes
Database Buffers         3.7849E+10 bytes
Redo Buffers              125026304 bytes
Database mounted.
Database opened.
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PRODUCCION                     READ WRITE NO

SQL> show parameter max_string_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_string_size                      string      STANDARD
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PRODUCCION                     READ WRITE NO
SQL> alter pluggable database PRODUCCION close immediate;

Pluggable database altered.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PRODUCCION                     MOUNTED
SQL> alter system set max_string_size=extended scope=both;
alter system set max_string_size=extended scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-02095: specified initialization parameter cannot be modified


SQL> alter pluggable database PRODUCCION open;

Pluggable database altered.

SQL> alter session set container=PRODUCCION;

Session altered.

SQL> alter system set max_string_size=extended scope=both;
alter system set max_string_size=extended scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-14694: database must in UPGRADE mode to begin MAX_STRING_SIZE migration


SQL> connect / as sysdba
Connected.
SQL> alter system set max_string_size=extended scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup migrate
ORACLE instance started.

Total System Global Area 4.2950E+10 bytes
Fixed Size                  9189176 bytes
Variable Size            4966055936 bytes
Database Buffers         3.7849E+10 bytes
Redo Buffers              125026304 bytes
Database mounted.
Database opened.
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       MIGRATE    YES
         3 PRODUCCION                     MOUNTED

SQL> alter pluggable database produccion open upgrade;

Pluggable database altered.

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition - Core Release 19.0.0.0.0 - Production
Version 19.22.0.0.0
-bash-4.2$ cd $ORACLE_HOME
-bash-4.2$ cd rdbms
-bash-4.2$ cd admin
-bash-4.2$ mkdir utl32k
-bash-4.2$ cd utl32k/
-bash-4.2$ pwd
/opt/app/oracle/product/19c/rdbms/admin/utl32k
-bash-4.2$ sqlplus sys/oracle as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Apr 26 16:14:14 2024
Version 19.22.0.0.0

Copyright (c) 1982, 2023, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition - Core Release 19.0.0.0.0 - Production
Version 19.22.0.0.0

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition - Core Release 19.0.0.0.0 - Production
Version 19.22.0.0.0

-bash-4.2$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -u SYS \
> -d $ORACLE_HOME/rdbms/admin -l '/opt/app/oracle/product/19c/rdbms/admin/utl32k' -b \
>  utl32k_cdb_pdbs_output utl32k.sql
catcon::set_log_file_base_path: ALL catcon-related output will be written to [/opt/app/oracle/product/19c/rdbms/admin/utl32k/utl32k_cdb_pdbs_output_catcon_6945.lst]

catcon::set_log_file_base_path: catcon: See [/opt/app/oracle/product/19c/rdbms/admin/utl32k/utl32k_cdb_pdbs_output*.log] files for output generated by scripts

catcon::set_log_file_base_path: catcon: See [/opt/app/oracle/product/19c/rdbms/admin/utl32k/utl32k_cdb_pdbs_output_*.lst] files for spool files, if any

Enter Password:
catcon.pl: completed successfully
-bash-4.2$ sqlplus /nolog

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Apr 26 16:16:48 2024
Version 19.22.0.0.0

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

SQL> connect / as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 4.2950E+10 bytes
Fixed Size                  9189176 bytes
Variable Size            4966055936 bytes
Database Buffers         3.7849E+10 bytes
Redo Buffers              125026304 bytes
Database mounted.
Database opened.
SQL> show parameter max_string_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_string_size                      string      EXTENDED
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PRODUCCION                     READ WRITE NO
SQL> alter session set container=produccion;

Session altered.

SQL> show parameter max_string_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_string_size                      string      EXTENDED
SQL>
SQL> connect / as sysdba
Connected.
SQL> create pluggable database pdb2 from PRODUCCION;

Pluggable database created.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PRODUCCION                     READ WRITE NO
         4 PDB2                           MOUNTED
SQL> alter pluggable database pdb2 open;

Pluggable database altered.

SQL> alter session set container=pdb2;

Session altered.

SQL>  show parameter max_string_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_string_size                      string      EXTENDED
SQL>


jueves, 25 de abril de 2024

Guinea Ecuatorial, llamado a creación de Grupo de Usuarios Oracle de Guinea Ecuatorial

 

Hola gente de Guinea Ecuatorial, si estás viendo esta publicación, es porque te interesa el tema.

Pueden ver mi historia, haciendo una pequeña busquedad en google sobre mi trabajo en la creación de comunidades de usuarios que utilizan tecnología Oracle.

He realizado algunas averiguaciones y encuentro que no existe aún, un grupo de usuarios en Guinea Ecuatorial.

Me gustaría colaborar con ustedes, en la creación de dicha organización.

Si alguién esta interesado o quiere conocer un poco más de que tratan estas comunidades de usuarios, me pueden contactar a través de mi correo electrónico: ronald.vargas.quesada@gmail.com o dejando un comentario al pie de esta publicación.

Saludos a todos y todas.





Diseñan robot que no genera dependencia tecnológica sino liberación.!!!

Este es el Sumobot, un robot que diseñó Tomas de Camino Beck, Ph.D, Director de la Escuela de Sistemas Inteligentes de la Universidad Cenfotec en Costa Rica y que este año convoca a más de 800 estudiantes en un torneo con casi 100 equipos, y que se podría afirmar, se transforma en uno de los eventos de robótica más grandes del país! 

Todo el robot es fabricación nacional, y es un robot altamente reparable y modificable, no genera dependencia tecnológica sino liberación, detalla Tomas en una publicación en su muro en la red Linkedin.



Este 30 de junio se llevará acabo el Maker Faire San José en Cenfotec y la Universidad extiende la invitación a todo el público.

Además del torneo de robótica, hay talleres para niños y adultos, charlas, exposiciones y mucho más.

Este evento según lo que comparten, es gratis y durará todo el día.

Hoja de ruta para Oracle Database+AI

Juan Loaiza EVP de Oracle en conjunto con Larry Ellison, anunciará este 02 de mayo, cuál será la Estrategía Global de Oracle para su producto de base de datos plus Inteligencia Artificial.
Pueden inscribirse en el link que les compartó abajo.

De mi parte, tenía pensado hacer algunas "profecías" sobre el rumbo que iba a tomar las próximas versiones de base de datos, durante el LAOUC 2024, en caso de que fuera aceptado en algún país, pero se me adelantaron. Así que aquí les paso un video con esta pequeña visión.


Inscripciones: https://www.linkedin.com/events/7186756684717969408/comments/






lunes, 8 de abril de 2024

Inicio Taller Virtual: Oracle Container Database

Oracle Database 19c, quedará fuera de soporte Premier al final de este mes de abril, tal y como lo mencióne en la publicación del blog https://oracledbacr.blogspot.com/.../oracle-database-19c...
Es hora de aprender o de mejorar sus conocimientos en la arquitectura de Container Database, ya que la versión 23c, no soportará más el modo Non-Container Database. - antigua arquitectura de base de datos, basada en una única instancia, asociada a procesos de base de datos.-
En este taller virtual de 12 horas, aprenderas todo lo necesario para gestionar tus bases de datos en modo Container Database.

El costo es de $150,00 + IVA 2%, por participante y se requiere un mínimo de 4 para iniciar el taller.
Las empresas que quieran brindar esta capacitación a sus colaboradores, pueden hacerlo en la misma modalidad virtual, con un costo de $600,00 + IVA 2%, para un máximo de 6 participantes. Si requieren más gente, lo hablamos.

Información: ronald.vargas.quesada@gmail.com
Whatsapp: (506) 70777455
Horario: GMT-6



domingo, 7 de abril de 2024

Por Café Database: Te cuento en qué consiste el grupo de estudio de OCP 2019

 


Tras un año de impartir todos los jueves clases teóricas y prácticas de preguntas de examen para obtener el Oracle Database Administrator Certified Professional 2019, el 27 de junio de 2024 haremos la última clase en vivo. Después de ahí, el grupo de estudio se convierte en un CURSO grabado, con las clases teóricas grabadas y muchas lecciones individuales específicas. 

El canal de Discord seguirá abierto, y me podrás preguntar lo que quieras, pero lo de estudiar en grupo y hacer exámenes online, como que ya no. Enlaces: 

La hoja de Google Sheets con el temario https://ocp2019.cafedatabase.com 

Para unirte al grupo de estudio: https://www.techlevel-academia.com/p/... 

Y si quieres hacer la formación oficial de Oracle University y pagar los 4600€ + impuestos, aquí https://mylearn.oracle.com/ou/learnin... 

El calendario de las sesiones en directo: 
  • 28 marzo - Examen en vivo con Socrative. 20 preguntas. 
  • 4 abril - Examen en vivo con Socrative. 20 preguntas. 
  • 11 abril - Examen en vivo con Socrative. 20 preguntas. 
  • 18 abril - Examen en vivo con Socrative. 20 preguntas. 
  • 25 abril - Clase de teoría. 
  • 9 de mayo - Clase de teoría. 
  • 16 de mayo - Clase de teoría. 
  • 23 de mayo - Clase de teoría. 
  • 30 de mayo - Clase de teoría. 
  • 6 de junio - Examen en vivo con Socrative. 20 preguntas. 
  • 13 de junio - Examen en vivo con Socrative. 20 preguntas.
  • 20 de junio - Examen en vivo con Socrative. 20 preguntas. 
  • 27 de junio - Examen en vivo con Socrative. 20 preguntas.

jueves, 4 de abril de 2024

Experiencia OCI: Una acción de infarto: cuidado, no apto para personas con inconvenientes cardíacas.


Durante los últimos 3 años y medio, todos los días aprendo algo nuevo del OCI, que en ocasiones me alegra el día y en otras me ocasiona un dolor de cabeza y un conato de infarto.

Voy a darles el contexto.

Durante una ejecución de un proceso, las estadísticas a nivel de sistema operativo, me indican que el monto de recursos disponibles a nivel de OCPU, son insuficientes para atender de manera la demanda de los mismos.


Por tanto, empecé a revisar la información actualizada sobre el "Escalado bajo demanda".

El escalado bajo demanda es una característica de la computación en la nube que le permite ajustar automáticamente los recursos asignados a su aplicación o servicio según la demanda actual. Puede aumentar o disminuir la cantidad de servidores, almacenamiento y otros recursos que utiliza en tiempo real, según la carga de trabajo. Por ejemplo, OCI Compute ajusta la cantidad de instancias informáticas en un grupo de instancias en función de las métricas y la programación para cumplir con la capacidad deseada según la configuración.

Por tanto, inicié con crear un pool de instancias en el compartment específico en donde se encontraba el recurso desplegado, así como también, crear una configuración de autoescalación.

Luego, asocié el servicio involucrado con el problema de recursos, a la configuración del pool.

En la carrera que estaba pasando, baje el servicio en cuestión para manualmente modificar los recusos de OCPU y memoria.

En el momento de aprovisionar los recursos, me dió un error de capacidad desplegada. Esto debido a que había hecho una reserva importante de recursos en la configuración del pool.

Al darse el error, procedí de una a borrar el pool de configuración, para liberar los recursos.

Todo iba bien, hasta que me doy cuenta que la instancia de producción, pasa a estado en "TERMINACIÓN". Aquí el corazón empieza a latir rápidamente y tengo una sensación en mi cuerpo, peor que cualquier escena de una película de terror.


Generalmente, cuando uno borra un servicio desplegado, tiende a borrar consigo el almacenamiento adjunto a dicho servicio.

Cuando reviso el estado del disco de arranque del servicio, el mismo esta descoplado del servicio, pero no fue removido. Esto me permitió crear rápidamente de nuevo el servicio y configurarlo con los recursos deseados.

Pero que sucedió?

Al borrar el pool de recursos para escalación y tener asociada la instancia al pool, automáticamente se removieron los servicios configurados, salvo el área de almacenamiento.

Han pasado horas y el ambiente aún continua en estado "TERMINANDO".



La experiencia no fue muy grata. Aún asi, tenía los respaldos pertinentes y el impacto podría haber sido mínimo, sin embargo, los minutos de pánico y terror, fueron interminables.

Consejo: es necesario anter de remover un recurso, validar todas las dependencias y consecuencias que puede tener antes de hacerlo. Parta del hecho, que nada es 100% seguro, hasta que se compruebe lo contrario.

Con la situación pendiente de los recursos no liberados en estado de "TERMINACION", toca esperar un poco más y sino, colocar un SR para atender el tema.







jueves, 29 de febrero de 2024

Cambios importantes en PWA en iOS 17.4 para usuarios de la UE

Por Mónica Godoy, Senior Principal Product Manager for Oracle APEX

El próximo iOS 17.4 de Apple se adherirá a la Ley de Mercados Digitales (DMA) de la UE al imponer la igualdad de navegadores. Si bien la DMA podría haber permitido a otros proveedores de navegadores también ofrecer PWA en iOS, Apple ha optado por desactivar esta funcionalidad por completo.
 
Esta decisión afecta significativamente a las aplicaciones APEX en la UE al:
  • Eliminando la experiencia similar a una aplicación instalable.
  • Desactivar las notificaciones push.
  • Ralentizar la carga de la página al borrar el caché local.
Las PWA APEX se reducirán a simples marcadores y las aplicaciones existentes que dependen de la funcionalidad PWA dejarán de funcionar. Esto afectará negativamente a las empresas y a los consumidores de la UE, que lo percibirán como un defecto en su aplicación APEX.


👉 Puedes unirte a la comunidad #orclapex firmando la carta abierta a Tim Cook en letter.open-web-advocacy.org ahora.

No dude en agregar un comentario a continuación si su aplicación o negocio se verá afectado. Sería bueno comprender cómo afecta esto a las aplicaciones APEX PWA en el mundo real.

domingo, 25 de febrero de 2024

Por que el símbolo de arroba @ en el correo electrónico.

 Hay dos motivos por los que se incluyó la @ en las direcciones de correo electrónico:

  1. El primero, que era un ícono poco utilizado.
  2. El segundo, que en latín el símbolo significa “en”, lo que dota de significado a las direcciones (por ejemplo usuario (en) gmail, ronald.vargas.quesada@gmail.com
En España por el ejemplo, sin que conste el inicio de la utilización del símbolo, una arroba equivalía a la cuarta parte de un quintal, es decir, entre 30 y 36 libras.


El 21 de junio de 1971, cuando el programador estadounidense, Raymond Tomlinson, lo añadió a la dirección del primer mensaje de correo electrónico que se envió de un ordenador a otro, alcanzó la inmortalidad.

Copiar y Pegar - COPY/PASTE - la invención que nos ha ahorrado millones de horas de edición.

Hace unos días atrás, el 16 de febrero pero del 2020, muere en Portola Valley, California, Larry Tesler, a la edad de 74 años.

Tesler, inventó una de las funcionalidades que supone millones de horas en ahorro para todos los usuarios de un ordenador.

El copy/paste, fue por primera vez ejecutado por Tesler en el año 1981.



Tesler quién trabajaba para XEROX, renunció a dicha compañía para incorporarse a Apple en julio de 1980 apoyando el desarrollo de Apple Lisa, gracias a la intervención de Steve Jobs.

A partir de 1990, Tesler fue nombrado vicepresidente del Grupo Newton de Apple bajo el Grupo de Tecnología Avanzada y dirigió los esfuerzos de desarrollo del Apple Newton , uno de los primeros asistentes digitales personales y predecesor de la tableta.

Los dominios de nombres en INTERNET.

Paul Mockapetris informático estadounidense y pionero de Internet, junto con Jon Postel, inventaron el DNS (sistema de nombres de dominio) de internet.

Crearon un sistema jerárquico en niveles, de la misma forma que dentro de un libro hay capítulos. Cada una de las etiquetas jerárquicas asignadas a cada dispositivo estarían compuestas por dos elementos: el nombre de dominio y la extensión.

En 1985 se establecieron seis tipos de extensiones diferentes, destinadas a identificar el uso general del dominio:
  • .com (Sitios de uso comercial)
  • .net (Sitios de infraestructuras de la red)
  • .org (Sitios de Organizaciones)
  • .gov (Sitios de organismos gubernamentales)
  • .mil (Sitios de dependencias militares)
  • .edu (Sitios de institutos educativos)
Hasta 1995 registrar un dominio era gratis.
Pensaríamos, que el dominio internet.com, sería el más caro, sin embargo no es así. Este dominio, se ubica en el 5 lugar con un valor de $18 millones.


Carinsurance.com, se ubica como el dominio más caro con un valor de $49.7 millones y INSURANCE.COM en el segundo con $35.6 millones. VacationRentals.com – $35 millones en el tercer lugar y Voice.com – $30 millones en el cuarto lugar, completa el TOP5 al año 2023.

Contrariamente los dominios ".shop", se venden por un poco más de $1 al año.

Son curiosidades que pocas veces, le ponemos atención.

CAPTCHA significa…

“Completely Automated Public Turing Test to tell Computers and Humans Apart”, o lo que viene a ser “Prueba de Turing completamente automática y pública para distinguir máquinas de humanos”.

Lo que debe de suponer que el Test de Turing ya ha sido superado según los creadores del concepto, dado que ya hace tiempo que la Inteligencia Artificial es capaz de superar captchas.

El CAPTCHA fue inventado por Luis Von Ahn  informático y empresario guatemalteco, profesor de ciencias de la computación en la Universidad Carnegie Mellon, fundador de las compañías Duolingo,​ Captcha y Recaptcha, la cual fue vendida a Google en 2009.



Qué hay de especial con la historía del término "Bug".

Que una de las ingenieras que hizo parte del reporte de incidente y que operaba el Mark II, era Grace Hooper.!!!

Sí, la misma que desarrolló el lenguaje de programación COBOL.



Sabías que el término "Bug" se originó por una polilla real.?

Específicamente, lo causó un mal funcionamiento en el ordenador Mark II en 1947.
Un equipo de científicos de la Universidad de Hardvard en Massachusetts, Estados Unidos, escribió una nota en el registro de uso de la computadora Mark II, que era básicamente una calculadora gigante.
La nota en cuestión era muy simple y estaba marcada a las 3:45 p.m: “Primer caso real de un bug encontrado”, reza el registro, junto a una muestra del especimen.

Lo que había ocurrido en realidad es que una polilla, una real polilla, estaba dentro de los circuitos de la Mark II. Y no solo habitaba en el aparato, sino que era la causa de que la computadora generara problemas de varios tipos en su funcionamiento; literalmente, un bug causando errores en una computadora.

Los ingenieros a cargo del uso de la Mark II descubrieron que la polilla estaba atrapada en un circuito muy particular: el relé 70 del Panel F, tal como indica la nota. Y como prueba del suceso, pegaron el cadáver de la polilla en la nota con cinta adhesiva, en lo que se convertiría en el primer registro exacto y literal de un bug, que pasaría a la historia.

Imágen podría contar con derechos de autor.


Breve historia de los Transpiladores.

Transpilador: Uno de los primeros programas de este tipo fue Digital Research XLT86 en 1981, un programa escrito por Gary Kildall, el cual traducía código fuente .ASM del procesador Intel 8080 a código fuente .A86 para el procesador Intel 8086. 

Utilizando análisis de flujo de datos global sobre el uso de los registros del 8080, el traductor también optimizaba la salida en cuanto a tamaño de código y convenciones de invocación. Así que los programas de CP/M-80 and MP/M-80 pudieron ser portados a las plataformas CP/M-86 y MP/M-86 de forma automática. El XLT86 fue escrito en PL/I-80.

En abril de 1974, Intel lanza su microprocesador 8080, el "segundo microprocesador de 8 bits".
El i8080 fue una variante del diseño ampliado y mejorado de su microprocesador anterior 8008, aunque sin compatibilidad binaria.

El límite de frecuencia de reloj especificada inicial fue de 2MHz y con instrucciones comunes que tiene tiempos de ejecución de 4, 5, 7, 10 o 11 ciclos de esto significaba que operaba a una velocidad efectiva de unos cientos de miles de instrucciones por segundo.

El i8080 ha sido a llamado "el primer microprocesador realmente utilizable", debido a que hasta su llegada, no se utilizaban microprocesadores para las calculadoras, cajas registradoras, terminales de ordenador, robots industriales y otras aplicaciones.

La arquitectura del 8080 influyó fuertemente en 8086 la arquitectura de la CPU de Intel, que dio lugar a la familia de procesadores x86.



Oracle Database 23cPerformance TuningSQL Transpiler

SQL Transpiler automáticamente y siempre que sea posible convierte (transpila) funciones PL/SQL dentro de SQL en expresiones SQL, sin intervención del usuario.

Las expresiones en sentencias SQL de Oracle pueden llamar a funciones PL/SQL. Pero estas llamadas generan una sobrecarga porque se debe invocar el tiempo de ejecución de PL/SQL. El compilador SQL intenta convertir automáticamente cualquier función PL/SQL llamada desde una declaración SQL en una expresión SQL semánticamente equivalente.

La transpilación de funciones PL/SQL a SQL aumenta el rendimiento de programas y funciones nuevos y existentes. Cuando se invoca una función PL/SQL transpilada, el costo por fila de ejecutar el código transpilado dentro de SQL es mucho menor que cambiar del tiempo de ejecución de SQL al tiempo de ejecución de PL/SQL para ejecutar el código PL/SQL original.



miércoles, 21 de febrero de 2024

Oracle implementará cambios incrementales en My Oracle Support (https://support.oracle.com), lo que podría afectar su capacidad para iniciar sesión.

Comunicado al Cliente de Oracle,

El primer cambio está planeado para el 1 de marzo de 2024. 

Cuando haga clic en "Iniciar sesión en My Oracle Support" en https://support.oracle.com, verá una breve redirección a https://login-ext.identity.oraclecloud.com antes de ingresar sus credenciales de inicio de sesión. Además de esta redirección momentánea, su experiencia de inicio de sesión será la misma que hoy.

Más adelante en marzo, la URL de inicio de sesión de la cuenta Oracle https://login.oracle.com será reemplazada por https://signon.oracle.com y la página de inicio de sesión única existente se reemplazará por un proceso de dos pasos: primero el correo electrónico, seguido de su contraseña en una segunda página.

Acción requerida:

Por favor, inicie sesión en MOS Communities o Cloud Customer Connect, que ya han introducido el primer cambio. Si puede iniciar sesión con éxito, no se requiere ninguna acción adicional.

  • https://community.oracle.com/mosc
  • https://community.oracle.com/customerconnect

Si no puede iniciar sesión en ninguna de las comunidades, tiene un firewall u otras políticas de seguridad que le impiden acceder a URL específicas. Agregue las siguientes URL a la lista aprobada en su firewall o trabaje con su equipo de IT, Seguridad o Redes para agregar las URL a la lista aprobada:

  • https://login-ext.identity.oraclecloud.com
  • https://signon.oracle.com

Nota: Ninguna de las dos URL anteriores está disponible para realizar pruebas directas.

Si necesita ayuda o no puede completar las acciones requeridas antes del 1 de marzo de 2024, notifíquenos registrando una Solicitud de Servicio no técnica con el Soporte de Oracle.


miércoles, 14 de febrero de 2024

Oracle Database 19c, llega al fin de su período de Soporte Premier!!!

 Que rápido se nos va el tiempo.!!!


Actualización: Oracle Database 19c, concluye su período de Soporte Premier el 30 de abril de este año 2024.!!!

El soporte extendido, sin costo alguno se prolongará por 2 años y tendrá efecto del 01/05/24 al 30/06/26.

Oracle Database 23c, es la siguiente versión con soporte extendido, hasta el mes de abril del 2032. Por el momento la versión 23c, sigue estando disponible sólo en OCI Database Service, pero en este primer semestre lo estará para otras plataformas.

Mayor información en Release Schedule of Current Database Releases (Doc ID 742060.1) @myoraclesupport



jueves, 11 de enero de 2024

Tom Kyte ASKTOM y su filosofía, cuánto aprendimos de él !!!

Un 10 de setiembre de 2006 escribía Tom Kyte- ASKTOM- en su blog, en referencia a temas de afinamiento y de ubicación en el orden de las tablas en la cláusula FROM:

"Mi humilde sugerencia es ignorar por completo mi humilde sugerencia y adoptar un enfoque de "confiar pero verificar".

Hay tres tipos de consultores de Oracle:
a) los que son mejores que yo
b) los que no son mejores que yo
c) los que son más o menos iguales

Al igual que suceden tres cosas cuando haces un ajuste de rendimiento:
a) se va más rápido
b) va más lento
c) no cambia en absoluto

Foto: OTN TOUR GUATEMALA 2013. De izquierda a derecha, Joel Pérez, Tom Kyte ASKTOM y mi persona.



domingo, 31 de diciembre de 2023

Cuando todo el mundo estuvo en vilo por un cambio de año, Y2K BUG, hace 24 años.

Hace 24 años atrás estabamos como decían nuestros abuelos "como un bistec de 5 pesos", sólo nervios.
El famoso "Y2K BUG", fue el culpable del primer blog que empecé a escribir allá por el año 1998 en el hosting gratuito "geocities.com".

Muchas cosas aprendí en esos 2 años, que la mayoría ignoró.

El 01 de enero del 2000, muchos sistemas fallaron al final por problemas derivados de la falta de actualización del BIOS.

Los costos de reparación o reprogramación de rutinas críticas se duplicaron rápidamente a finales de 1998, debido a la falta de personal técnico calificado. Los presupuestos iniciales no fueron suficientes para hacer frente a lo que se había detectado y en el último trimestre del año 1999, la mayoría de las gerencias tomó la decisión de "esperar" a ver que sucedía.

Las peores pesadillas en muchos años, se vivieron el día 02 de enero del 2000, cuando se regresó a trabajar y los sistemas, estaban con fecha 01/01/1900.

Fui testigo de muchas organizaciones que tardaron un par de semanas en volver a operación y gastaron hasta el triple del presupuesto inicial - que de por si era alto - para poder volver a brindar el servicio. Fue como aquel pasaje del cuento del lobo, "Ahi viene el lobo" y nadie hizo caso.

Al final, los errores se centraron en pocas cosas. Pero en donde se vió afectado, fue realmente una tragedia.

Una gran cantidad de historias que podría contar sobre esa época, pero eso será para otra ocasión.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar