DBMS_DATA_TOOLS_JOBS Référence du package

Ce chapitre fournit des informations sur les packages que vous utilisez avec la fonctionnalité Travaux de Data Studio. La rubrique Résumé des sous-programmes DBMS_DATA_TOOLS_JOBS couvre également les procédures incluses dans le package DBMS_DATA_TOOLS_JOBS.

Récapitulatif des sous-programmes DBMS_DATA_TOOLS_JOB

Le package DBMS_DATA_TOOLS_JOB fournit un ensemble de fonctions et de procédures de planification que vous utilisez avec la fonctionnalité Travaux de la suite d'outils Data Studio.

DBMS_DATA_TOOLS_JOB Sous-programmes de package

Le tableau suivant répertorie les sous-programmes DBMS_DATA_TOOLS_JOB et les décrit brièvement.

Tableau 3-11 DBMS_DATA_TOOLS_JOB Noms et description des sous-programmes DBMS_DATA_TOOLS_JOB

Sous-programme Description
Procédure Create Job Cette procédure crée un travail.
Procédure de suppression de travail Supprime le travail du planificateur.
Procédure Renommer le travail Renomme le travail avec le nom souhaité.
Procédure de mise à jour du travail Modifie les attributs d'un travail existant.
Exécuter la procédure Exécute un travail immédiatement, quelle que soit la planification que vous définissez.
Procédure Arrêter le travail Arrête un travail en cours d'exécution. Cela met fin à un travail progressivement et, si nécessaire, forcez son arrêt.

Procédure CREATE_JOB

Cette procédure crée un travail unique. Si vous créez le travail comme activé en définissant l'attribut activé sur Vrai, le planificateur exécute automatiquement le travail en fonction de sa programmation. Si vous créez le travail désactivé, il ne s'exécute pas tant que vous ne l'avez pas activé avec la fonction Activer le travail.

Syntaxe

dbms_data_tools_job.create_job(
                       job_name        in varchar2,
                       description     in varchar2,
                       steps           in clob,
                       owner           in varchar2 default null,
                       start_date      IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                       repeat_interval IN VARCHAR2                 DEFAULT NULL,
                       end_date        IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                       job_class       IN VARCHAR2                 DEFAULT NULL,
                       enabled         IN BOOLEAN                  DEFAULT FALSE,
                       reporting       in clob default null);

CREATE_JOB Paramètres de procédure

Tableau 3-12 CREATE_JOB Paramètres de procédure

Paramètre Description
Nom du travail Nom à affecter au travail. Si job_name n'est pas spécifié, une erreur est générée.
Description Il s'agit d'informations supplémentaires définies pour les travaux.
Etapes Il s'agit des différentes tâches que l'outil Data Studio effectue et qui comprennent un travail.
Steps est un tableau JSON. Chaque élément de tableau est un objet JSON. Voici les éléments JSON qui s'appliquent à tous les objets :
  • type : chaîne, déclare le type d'étape effectuée : data_load, smart_table, procédure, http.
  • on_errors- chaîne
  • stop : si une erreur est détectée, le travail est arrêté et l'erreur est générée.
  • continue : l'erreur est consignée, mais le traitement se poursuit avec l'étape de travail suivante.
  • step_name : nom descriptif de l'étape à afficher dans les journaux

Chaque type d'objet comporte des éléments supplémentaires en fonction de son type.

data_load:
  • data_load_name : (obligatoire) nom d'un chargement de données créé précédemment à exécuter

smart_table:
  • recipe_name : (obligatoire) nom d'une recette de table intelligente créée précédemment à exécuter.
  • url : URL REST (obligatoire) à laquelle se connecter.
  • method : GET (valeur par défaut), POST, PUT, DELETE ou tout autre verbe HTTP
procedure:
  • procedure : nom (obligatoire) de la procédure à exécuter. Il peut éventuellement être qualifié de schéma et peut être une procédure Bare ou une méthode de package.

  • arguments : tableau d'arguments de type chaîne, nombre ou booléen à fournir à la procédure.
Propriétaire

Il s'agit du schéma dans lequel le travail est créé. Si vous créez un travail sans indiquer de schéma, le propriétaire est l'utilisateur qui exécute la procédure CREATE_JOB.

Date de début

Cet attribut indique la première date et heure auxquelles ce travail doit commencer. Si start_date et repeat_interval restent nuls, l'exécution du travail est programmée dès que le travail est activé.

Pour les travaux récurrents qui utilisent une expression de planification pour spécifier l'intervalle de répétition, start_date est utilisé comme date de référence. La première exécution du travail correspond à la première correspondance de l'expression de planification identique ou postérieure à la date et l'heure actuelles.

Le planificateur ne peut pas garantir qu'un travail s'exécute à une heure exacte car le système peut être surchargé et donc les ressources indisponibles.

Intervalle de répétition

Cet attribut indique la fréquence de répétition de la fenêtre. Il est exprimé à l'aide de la syntaxe de planification du planificateur. Pour plus d'informations, reportez-vous à Syntaxe de calendrier.

Une expression PL/SQL ne peut pas être utilisée pour indiquer l'intervalle de répétition d'une fenêtre.

L'expression indiquée est évaluée pour déterminer l'exécution suivante de la fenêtre. Si aucune valeur repeat_interval n'est indiquée, la fenêtre ne s'ouvre qu'une seule fois à la date de début indiquée.

Date de fin

Cet attribut spécifie la date et l'heure après lesquelles le travail expire et n'est plus exécuté.

La valeur de end_date doit être postérieure à la valeur de start_date. Si end_date est inférieur à start_date, une erreur est générée. Si end_date est identique à start_date, le travail ne s'exécutera pas et aucune erreur ne sera générée.

Si aucune valeur n'est indiquée pour end_date, le travail se répète indéfiniment, sauf si vous utilisez stop job.
Classe de travail Classe à laquelle ce travail est associé.
Activé Cet attribut indique si le travail est créé activé ou non. Les paramètres possibles sont TRUE ou FALSE. Par défaut, cet attribut est défini sur FALSE et, par conséquent, le travail est créé comme désactivé. Un travail désactivé signifie que les métadonnées relatives au travail ont été capturées et que le travail existe en tant qu'objet de base de données. Toutefois, le planificateur ignore le travail et le coordinateur de travail ne le sélectionne pas pour traitement. Pour que le coordinateur de travaux puisse traiter la tâche, celle-ci doit être activée. Vous pouvez activer un travail en sélectionnant l'icône Enable Job.
Génération d'un rapport Cet attribut spécifie les détails d'exécution de travail via le bouton Rapport de la fonction Travaux.
Il s'agit d'un objet JSON similaire à l'argument de reporting pour dbms_live_feed. Les éléments suivants sont possibles :
  • completed : cibles à avertir lorsqu'un travail est terminé.

  • errors : cibles à avertir lorsqu'une étape d'un travail a rencontré des erreurs.

  • failed : cibles à notifier lorsqu'un travail a rencontré une erreur fatale en dehors du contexte d'une étape.

  • long : cibles à avertir lorsqu'un travail est long.

Chacun de ces quatre éléments peut spécifier un tableau d'adresses électroniques dans l'élément smtp ou les canaux slack dans l'élément slack. L'élément long peut comporter un élément max_runtime_seconds qui détermine la durée d'exécution d'un travail avant qu'il ne soit considéré comme ayant exécuté trop long.

Procédure DELETE_JOB

Cette procédure supprime un travail.

Syntaxe

dbms_data_tools_job.delete_job(job_name in varchar2, owner in varchar2 default null);

DELETE_JOB Paramètres de procédure

Tableau 3-13 DELETE_JOB Paramètres de procédure

Paramètre Description
Nom du travail Nom à affecter au travail. Si job_name n'est pas spécifié, une erreur est générée.
Propriétaire

Il s'agit du schéma dans lequel le travail est créé. Si vous créez un travail sans indiquer de schéma, le propriétaire est l'utilisateur qui exécute la procédure CREATE_JOB.

Procédure RENAME_JOB

Cette procédure renomme un travail.

Syntaxe

dbms_data_tools_job.rename_job(old_job_name in varchar2,
                       new_job_name in varchar2,
                       owner        in varchar2 default null);

RENAME_JOB Paramètres de procédure

Tableau 3-14 RENAME_JOB Paramètres de procédure

Paramètre Description
Ancien nom du travail Nom du travail existant.
Nom du nouvel emploi

Nom du nouveau travail.

Propriétaire

Il s'agit du schéma dans lequel le travail est créé.

Procédure UPDATE_JOB

Cette procédure met à jour tous les attributs de travail existants.

Syntaxe

dbms_data_tools_job.update_job(job_name in varchar2,
                       owner           in varchar2 default null,
                       description     in varchar2 default null,
                       steps           in clob default null,
                       start_date      IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                       repeat_interval IN VARCHAR2                 DEFAULT NULL,
                       end_date        IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
                       job_class       IN VARCHAR2                 DEFAULT NULL,
                       enabled         IN BOOLEAN                  DEFAULT NULL,
                       reporting       in clob default null);

UPDATE_JOB Paramètres de procédure

Tableau 3-15 UPDATE_JOB Paramètres de procédure

Paramètre Description
Nom du travail Nom du travail à mettre à jour.
Propriétaire

Il s'agit du schéma dans lequel le travail doit être mis à jour.

Description Description mise à jour à appliquer.
Etapes Nouvelles étapes de mise à jour.
Date de début La nouvelle date de début.
Intervalle de répétition Intervalle de répétition mis à jour.
Date de fin Date de fin de mise à jour.
Classe de travail Classe de travail mise à jour.
Activé Il peut être activé ou désactivé.
Génération d'un rapport Attribut de reporting mis à jour.

Exécuter la procédure

Cette procédure exécute un travail immédiatement.

Si un travail est activé, le planificateur l'exécute automatiquement. Il n'est pas nécessaire d'appeler RUN_JOB pour exécuter un travail en fonction de sa programmation. Utilisez RUN_JOB pour exécuter un travail en dehors de sa programmation normale.

Syntaxe

dbms_data_tools_job.run(job_name            in varchar2,
                owner               in varchar2 default null,
                use_current_session in number   default null,
                options             in clob     default null);

Paramètres de procédure RUN

Tableau 3-16 Paramètres de procédure RUN

Paramètre Description
Nom du travail

Nom de travail ou liste d'entrées séparées par des virgules, chacune étant le nom d'un travail existant, éventuellement précédée d'un nom de schéma et d'un séparateur de points.

Si vous indiquez un travail à destinations multiples, le travail est exécuté sur toutes les destinations. Dans ce cas, l'argument use_current_session doit être FALSE.

Propriétaire

Il s'agit du schéma dans lequel le travail est exécuté.

Utiliser la session en cours

Indique si le traitement de travail doit avoir lieu dans la même session à laquelle la procédure a été appelée.

Lorsque use_current_session est défini sur TRUE :
  • Vous pouvez tester un travail et voir les éventuelles erreurs sur la ligne de commande.

  • RUN peut être exécuté en parallèle avec un traitement de travail programmé régulièrement.

Lorsque use_current_session est défini sur FALSE :
  • Vous devez consulter le journal des travaux pour trouver des informations sur les erreurs.
  • Tous les champs pertinents dans scheduler_jobs sont mis à jour.
  • RUN échoue si un travail planifié régulièrement est en cours d'exécution.
Options  

Procédure STOP_JOB

Cette procédure arrête les travaux en cours d'exécution ou tous les travaux d'une classe de travail.

Après l'arrêt du travail, l'état d'un travail à usage unique est défini sur STOPPED, tandis que l'état d'un travail à répétition est défini sur SCHEDULED ou COMPLETED, selon que l'exécution suivante du travail est programmée ou non.

Syntaxe

 dbms_data_tools_job.stop_job(job_name in varchar2,
                     owner    in varchar2 default null,
                     force    in boolean  default false);

STOP_JOB Paramètres de procédure

Tableau 3-17 STOP_JOB Paramètres de procédure

Paramètre Description
Nom du travail

Nom d'un travail à arrêter. Il s'agit du nom d'un travail existant, éventuellement précédé d'un nom de schéma et d'un séparateur de points.

Propriétaire

Il s'agit du schéma dans lequel le travail doit être arrêté.

Forcer

Si force est défini sur FALSE, le planificateur tente d'arrêter progressivement le travail à l'aide d'un mécanisme d'interruption. Cette méthode redonne le contrôle au processus esclave, qui peut mettre à jour le statut du travail dans la file d'attente des travaux sur Arrêté. En cas d'échec, une erreur est renvoyée.

Si force est défini sur TRUE, le planificateur met immédiatement fin à l'esclave de travail. Oracle recommande d'utiliser STOP_JOB avec la valeur forcée TRUE uniquement après l'échec d'une opération STOP_JOB avec la valeur force définie sur FALSE.

L'utilisation de l'option force nécessite le privilège système MANAGE SCHEDULER.