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 base de données Autonomous AI.
- 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 de base de données Autonomous AI. - 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_ATTRIBUTEpour définir la valeur d'attributJOB_NOTIFICATION_HANDLERafin 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_NOTIFICATIONpour 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_ATTRIBUTEpour 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 programmateur
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 de base de données Autonomous AI.
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
EXECUTEsur 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;
/