Base de datos Oracle 11g: nueva funcionalidad errorlogging del SQL*Plus
Para los que todavía estén un poco confundidos y aún no hayan identificado cuáles son los errores SQL de tipo SP2 os dejo el siguiente ejemplo:
SQL > SLECT * FROM empleados; SP2-0734: unknown command beginning "SLECT * FR..." - rest of line ignored.
Una vez que ya he dejado claro cuales son los errores SP2, y después de remarcar que este tipo de errores no podían ser capturados en versiones de la base de datos Oracle anteriores a la 11g, sólo queda señalar que esto ha cambiado con la versión 11g de SQL*Plus al incluir la nueva funcionalidad errorlogging, una funcionalidad que se habilita mediante el siguiente comando SQL*Plus:
SQL > SET errorlogging ON
De esta manera en las versiones de la bases de datos Oracle 11g y superiores podremos guardar cualquier error, ya sea SQL, OS o SP2, en la tabla de logging denominada SPERRORLOG. Además, es posible marcar los errores con un identificador específico, de forma que sea mucho más sencillo encontrar nuestros registros de error propios. Por lo tanto, si durante la ejecución de un programa que utilice SQL*Plus se ha producido algún tipo de error, podremos, durante la misma sesión Oracle y utilizando sentencias SQL, chequear los errores que se han producido. Veamos un sencillo ejemplo:
SQL*Plus: Release 11.2.0.1.0 - Production on Mon Oct 18 12:55:41 2010 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.1.7.4.0 - Production With the Partitioning option JServer Release 9.1.7.4.0 - Production SQL > SET errorlogging ON SQL > SLECT * FROM empleados; SP2-0734: unknown command beginning "SLECT * FR..." - rest of line ignored. SQL > SQL > SELECT statement, message 2 FROM sperrorlog; STATEMENT MESSAGE ———————————— ——————— SLECT * FROM SP2-0734: unknown command beginning empleados; "SLECT * FR..." - rest of line ignored.
Como podeís observar en el ejemplo, hemos utilizado la funcionalidad errorlogging contra una versión de la base de datos 9i, esto ha sido posible gracias a que dicha funcionalidad es propia de la versión 11g de SQL*Plus, por lo tanto puede utilizarse con versiones antiguas de la base de datos Oracle siempre que la versión de SQL*Plus sea la 11g o superior.
0 comentarios:
Publicar un comentario