Acerca del registro de errores en SQL PL y PL/SQL

A partir de Db2® Versión 10.5 Fix Pack 7, ahora puede determinar el origen de los errores de ejecución que se producen dentro de varias capas anidadas de invocaciones de rutinas SQL. Existen dos funciones distintas para ayudar a determinar el origen de un error en una lista de rutinas activas, incluidas rutinas SQL y externas, que se estaban ejecutando en el momento en que se produjo un error SQL.

La primera función de seguimiento de la pila de errores está pensada para facilitar la determinación del problema en entornos de producción en los que se desconoce la causa de un error de ejecución. Se activa a nivel de la base de datos.
PL_STACK_TRACE
Este parámetro de configuración de la base de datos registra los errores SQL en código de procedimiento en el archivo db2diag.log. Cada entrada contiene una representación formateada de la pila de llamadas completa, que muestra el nombre de la rutina y el número de línea de origen de todas las rutinas SQL y externas activas en la pila. Esto permite identificar fácilmente la ruta del código en el momento en que se detectó el error. Esta facilidad no requiere modificar la aplicación del usuario.
La segunda característica es un par de funciones de utilidad. Estas funciones pueden utilizarse en el código de la aplicación, como parte de una estrategia de notificación de errores o para la determinación de problemas en un entorno de desarrollo. Las funciones se describen a continuación:
DBMS_UTILITY.FORMAT_CALL_STACK
Esta función devuelve una representación formateada de la pila de llamadas, tal y como existe en el momento en que se invoca la función. Cada línea de salida describe una rutina SQL o externa. Las líneas están ordenadas de la última llamada a la más antigua.
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
Esta función produce una salida similar a la devuelta por la función FORMAT_CALL_STACK(), pero para la pila de llamadas tal y como existía en el momento del último error en una rutina SQL compilada.