3.23.2011

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;

Aucun commentaire:

Mes items partagés de Google Reader