Gestionnaire de notifications défini par l'utilisateur pour les travaux du planificateur
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 en cours d'exécution 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
Indique les étapes de création d'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éclencher 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 de planificateur dans une instance Autonomous Database.
La procédure de gestionnaire reçoit toutes les informations pertinentes concernant le travail, telles que le nom du propriétaire du travail, le nom de la classe, le type d'événement et l'horodatage au format JSON. Sur la base des informations, la procédure du gestionnaire effectue ensuite l'action requise.
Reportez-vous à DBMS_SCHEDULER pour plus d'informations sur Oracle 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éation d'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éclenchez la procédure du gestionnaire de notifications de travail comme décrit dans : Déclencher la procédure de notification du gestionnaire de travaux
-
Annulez l'enregistrement de la procédure du gestionnaire de notifications de travail pour la base de données, comme décrit dans : Désenregistrement de la procédure de notification du gestionnaire de travaux.
Créer une procédure de gestionnaire de notifications sur les travaux
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
. -
Disposez du privilège
EXECUTE
sur la procédure du gestionnaire ou du privilège systèmeEXECUTE ANY PROCEDURE
.
L'attribut JOB_NOTIFICATION_HANDLER
et l'attribut 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 à SET_SCHEDULER_ATTRIBUTE Procédure.
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 autoriser d'autres utilisateurs à utiliser le gestionnaire de notifications de travail. Exemple :
GRANT EXECUTE ON ADMIN.SEND_NOTIFICATION To DWUSER;
L'erreur ORA-27476 ("\"%s\".\"%s\" does not exist")
ou ORA-27486 ("insufficient privileges")
est générée si vous ne disposez pas du privilège sur 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 de gestionnaire de notifications de travail définie par l'utilisateur.
DBMS_SCHEDULER.ADD_JOB_EMAIL_NOTIFICATION
vous permet de déclencher la procédure de gestionnaire de notifications de travail et d'envoyer une notification. Toutefois, ces notifications ne sont pas envoyées sous la forme d'un e-mail 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 indiquer n'importe quelle valeur de chaîne pour le paramètre RECIPIENT
.
Annuler l'enregistrement 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;
/