Gestionnaire de notifications défini par l'utilisateur pour les travaux du programmateur
L'ajout d'une procédure de gestionnaire de notifications de travail de planificateur vous permet de surveiller les travaux programmés ou automatisés exécutés dans votre instance Autonomous Database.
- A propos du gestionnaire de notifications défini par l'utilisateur pour les travaux du planificateur
Le planificateur de base de données prend en charge la procédure de gestionnaire de notifications de travail qui peut utiliser du code personnalisé pour appeler des adresses HTTP ou REST afin d'améliorer la surveillance des travaux du planificateur dans une instance Autonomous Database. - Création d'une procédure de gestionnaire de notifications de travail
Fournit les étapes permettant de créer un gestionnaire de notifications de travail. - Inscription de la procédure de notification du gestionnaire de travaux
Utilisez la procédureDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
pour définir la valeur d'attributJOB_NOTIFICATION_HANDLER
afin d'inscrire la procédure de notification du gestionnaire de travaux. - Déclenchement de la procédure de notification du gestionnaire de travaux
Vous devez appeler la procédureDBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
pour déclencher la procédure du gestionnaire de notifications de travaux définie par l'utilisateur. - Désinscription de la procédure de notification du gestionnaire de travaux
UtilisezDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
pour désinscrire la procédure de notification du gestionnaire de travaux.
Rubrique parent : Développement
A propos du gestionnaire de notifications défini par l'utilisateur pour les travaux du planificateur
Le planificateur de base de données prend en charge la procédure de gestionnaire de notifications de travail qui peut utiliser du code personnalisé pour appeler des adresses HTTP ou REST afin d'améliorer la surveillance des travaux du planificateur dans une instance Autonomous Database.
La procédure du gestionnaire reçoit toutes les informations pertinentes concernant le travail, telles que le nom du propriétaire du travail, le nom de classe, le type d'événement et l'horodatage au format JSON. En fonction des informations, la procédure du gestionnaire effectue ensuite l'action requise.
Pour plus d'informations sur Oracle Scheduler, reportez-vous à DBMS_SCHEDULER.
La configuration du gestionnaire de notifications défini par l'utilisateur pour les travaux du planificateur comprend les étapes suivantes :
-
Créez une procédure de gestionnaire de notifications de travail comme décrit dans : Créer une procédure de gestionnaire de notifications de travail.
-
Enregistrez la procédure du gestionnaire de notifications de travail pour la base de données comme décrit dans : Inscription de la procédure de notification du gestionnaire de travaux.
-
Déclencher la procédure du gestionnaire de notifications de travail comme décrit dans : Déclencher la procédure de notification du gestionnaire de travaux
-
Désinscrire la procédure du gestionnaire de notifications de travail pour la base de données, comme décrit dans : Désinscrire la procédure de notification du gestionnaire de travaux.
Créer une procédure de gestionnaire de notifications de travail
Fournit les étapes de création d'un gestionnaire de notifications de travail.
Enregistrer la procédure de notification du gestionnaire de travaux
Utilisez la procédure DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
pour définir la valeur d'attribut JOB_NOTIFICATION_HANDLER
afin d'inscrire la procédure de notification du gestionnaire de travaux.
L'attribut JOB_NOTIFICATION_HANDLER
indique la procédure de notification du gestionnaire de travaux à utiliser.
-
Connectez-vous en tant qu'utilisateur ADMIN ou disposez du privilège
MANAGE SCHEDULER
. -
Vous disposez du privilège
EXECUTE
sur la procédure du gestionnaire ou du privilège systèmeEXECUTE ANY PROCEDURE
.
Les attributs JOB_NOTIFICATION_HANDLER
et EMAIL_SERVER
s'excluent mutuellement. Le paramètre ATTRIBUTE
de la procédure SET_SCHEDULER_ATTRIBUTE
peut avoir la valeur JOB_NOTIFICATION_HANDLER
ou EMAIL_SERVER
à la fois. Vous êtes autorisé à configurer des notifications par courriel ou à créer votre gestionnaire de notifications pour vos travaux de planificateur.
Une erreur ORA-27488
est générée lorsque vous tentez de définir les attributs globaux EMAIL_SERVER
et JOB_NOTIFICATION_HANDLER
.
Exécutez la procédure DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
pour enregistrer la procédure de notification du gestionnaire de travaux :
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('job_notification_handler','ADMIN.SEND_NOTIFICATION');
END;
/
Cet exemple enregistre la procédure ADMIN.SEND_NOTIFICATION
en tant que procédure de notification du gestionnaire de travaux pour votre base de données.
Pour plus d'informations, reportez-vous à Procédure SET_SCHEDULER_ATTRIBUTE.
Exécutez cette commande pour vérifier le gestionnaire de notifications de travail :
SELECT value FROM dba_scheduler_global_attribute WHERE attribute_name='JOB_NOTIFICATION_HANDLER';
VALUE
---------------
"ADMIN"."SEND_NOTIFICATION"
Pour plus d'informations, reportez-vous à DBA_SCHEDULER_GLOBAL_ATTRIBUTE.
Vous devez affecter le privilège EXECUTE
pour permettre aux autres utilisateurs d'utiliser le gestionnaire de notifications de travail. Par exemple :
GRANT EXECUTE ON ADMIN.SEND_NOTIFICATION To DWUSER;
Une erreur ORA-27476 ("\"%s\".\"%s\" does not exist")
ou ORA-27486 ("insufficient privileges")
est générée si vous ne disposez pas des privilèges requis pour la procédure de notification du gestionnaire de travaux.
Déclencher la procédure de notification du gestionnaire de travaux
Vous devez appeler la procédure DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
pour déclencher la procédure du gestionnaire de notifications de travail définie par l'utilisateur.
DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
vous permet de déclencher la procédure du gestionnaire de notifications de travail et d'envoyer une notification. Toutefois, ces notifications ne sont pas envoyées sous la forme d'un courriel lorsque vous avez enregistré la procédure du gestionnaire de notifications de travail. Par conséquent, les paramètres SUBJECT
et BODY
sont facultatifs. Le paramètre RECIPIENT
est toujours obligatoire. Comme ce type de procédure surchargé n'envoie pas de notifications par courriel, vous pouvez fournir n'importe quelle valeur de chaîne pour le paramètre RECIPIENT
.
Désinscription de la procédure de notification du gestionnaire de travaux
Utilisez DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
pour désinscrire la procédure de notification du gestionnaire de travaux.
MANAGE SCHEDULER
.
Exemple de désinscription de la procédure de notification du gestionnaire de travaux :
BEGIN
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE ('job_notification_handler','');
END;
/