Inscrire une information dans l'alert.log
Lors d'un traitement critique, il peut être intéressant d'écrire un message de succès ou d'échec dans le fichier alert<SID>.log. Par exemple, si vous avez un trigger « before shutdown » et qu'une exception est levée, il serait intéressant de l'inscrire dans le fichier d'alertage. C'est à l'aide de procédures non documentées d'Oracle du package DBMS_SYSTEM que nous y arriverons.
KSDWRT(<n>,<message>) permet d'écrire un message dans le fichier des alertes ou dans un fichier de trace selon le paramètre <n>.
N = 1 : Écrire dans le fichier de trace.N = 2 : Écrire dans le fichier des alertes.
N = 3 : Écrire dans les deux fichiers.
Un exemple concret :
CREATE OR REPLACE PROCEDURE XYZ_P_SET_ABC
IS
…
BEGIN
…
… TRAITEMENT XYZ
…
EXCEPTION
WHEN OTHERS THEN
SYS.DBMS_SYSTEM.KSDWRT(2, SQLERRM || ' - ERREUR PROC XYZ_P_SET_ABC');
END;
Commentaires