MEJORAS DE SQL*PLUS 23AI

23ai SQLPlus

Mejoras de SQL*PLUS 23ai

En el día de hoy, abordaremos los nuevos comandos que Oracle ha incorporado en la versión 23ia de su herramienta emblemática SQL*Plus, tales como: config, argument, ping , etc. Esta herramienta continúa siendo la preferida para muchos DBA para resolver cualquier inconveniente en sus entornos.

¡Así que, vamos a ponernos manos a la obra!

ARGUMENT

Antes de la versión 23ai, al utilizar variables de sustitución en nuestra terminal, estas se podían configurar explícitamente en SQL*Plus o pasarlas como argumentos a nuestros scripts. Sin embargo, a partir de la versión 23ai, podemos hacerlo con el nuevo comando: argument.

La sintaxis de este nuevo comando es la siguiente:

Hagamos un pequeño ejemplo para ver las diferencias de cada opción.

  • prompt.

Como podemos ver, nuestro script es bastante sencillo. La primera línea es para no mostrar los valores antiguos ni los nuevos, y la siguiente línea es el nuevo comando. En este caso, se puede ver el valor que hemos ingresado en nuestra terminal.

  • default.

Aquí no se muestra ningún mensaje porque hemos asignado un valor predeterminado para nuestra variable “argument 1 default «OPEN» ”.

  • hide

Como podemos ver, se ha generado un mensaje de advertencia; sin embargo, el valor escrito no es visible. Esta es la principal diferencia con la primera opción para argument, ya que en ambas se presenta el mensaje, pero en este caso se oculta el valor que se teclea.

PING o -P

Es un comando para consultar la disponibilidad de nuestra base de datos.

Por un lado, desde nuestra terminal, podemos utilizar -p para ver rápidamente si nuestra base de datos está activa o desactivada.

Hagamos un pequeño ejemplo:

Por otro lado, podemos utilizar el comando ping para verificar si no hemos perdido la conexión en la sesión actual. En este caso, se puede emplear el comando con o sin argumentos.

Nuevamente, hagamos un pequeño ejemplo:

También podemos usar ping con el alias para hacer ping a nuestro listener:

En pocas palabras, podemos afirmar que la funcionalidad es similar a la de «tnsping», ¿no crees? Ambos comandos se utilizan para verificar la conectividad y la disponibilidad de una conexión.´

ERRORDETAILS

Al ejecutar una instrucción SQL (DML o DDL) y ocurre un error en la ejecución, podremos ver una nueva etiqueta “help” debajo del código ORA. Esta etiqueta incluye una URL que tiene como finalidad guiarnos sobre el error que hemos encontrado, ayudándonos a entender su causa y ofreciendo posibles soluciones para resolverlo.

La sintaxis que se utiliza es la siguiente:

Hay que tener en cuenta que el valor por defecto es ON, es decir, que siempre este activa.

Hagamos un pequeño ejemplo para ver el funcionamiento:

Hemos ejecutado una consulta sobre un objeto que no existe en nuestro modelo. Como podemos observar, aparecer el error ORA y justo después la nueva etiqueta «help» con la URL.

Si accedemos a esa URL, podremos ver información sobre el error, la causa y las posibles acciones que podemos tomar para solucionarlo.

Procedemos a modificar el parámetro a off:

El resultado sería idéntico al que obtendríamos si estuviéramos utilizando una versión anterior a la 23ai.

Y por último, vamos a modificar el parámetro a verbose:

En este caso, podremos observar desde el terminal la causa del problema y las acciones que podríamos tomar para solucionarlo, sin necesidad de acceder a la URL.

OERR

Este comando nos mostrará un mensaje con información útil sobre el código ORA que se pasa por parámetro.

La sintaxis es la siguiente:

Hagamos un pequeño ejemplo para ver el funcionamiento:

SHOW CONNECTION

Este comando nos mostrará información sobre nuestro tnsnames.ora.

La sintaxis es la siguiente:

Hagamos un pequeño ejemplo para ver el funcionamiento:

En conclusión, hemos revisado las nuevas mejoras que Oracle ha introducido para facilitar el día a día a los DBA en su nueva versión 23AI. Espero que os resulten útiles tanto como a mí.