Package DBMS_CLOUD_PIPELINE

Le package DBMS_CLOUD_PIPELINE vous permet de créer des pipelines de données pour le chargement et l'export de données dans le cloud. Ce package prend en charge le chargement incrémentiel continu des données des fichiers de la banque d'objets dans la base de données. DBMS_CLOUD_PIPELINE prend également en charge l'export incrémentiel continu des données de table ou des résultats de requête de la base de données vers la banque d'objets en fonction d'une colonne d'horodatage.

Récapitulatif des sous-programmes DBMS_CLOUD_PIPELINE

Ce tableau récapitule les sous-programmes inclus dans le package DBMS_CLOUD_PIPELINE.

Sous-programme Description

Procédure CREATE_PIPELINE

Crée un pipeline de données.

Procédure DROP_PIPELINE

Supprime un pipeline de données existant.

Procédure RESET_PIPELINE

Réinitialise l'état de suivi d'un pipeline de données. Utilisez le pipeline reset pour redémarrer le pipeline à partir de l'état initial du chargement ou de l'export de données. Le pipeline de réinitialisation peut éventuellement purger les données de la base de données ou de la banque d'objets, selon le type de pipeline.

Procédure RUN_PIPELINE_ONCE

Effectue une exécution à la demande du pipeline dans la session de premier plan en cours, au lieu d'un travail planifié.

Procédure SET_ATTRIBUTE

Définit les attributs de pipeline. Il existe deux procédures surchargées : l'une pour définir un seul attribut et l'autre pour définir plusieurs attributs à l'aide d'un document JSON de paires nom/valeur d'attribut

Procédure START_PIPELINE

Démarre le pipeline de données. Lorsqu'un pipeline est démarré, l'opération de pipeline s'exécute en continu dans un travail programmé en fonction de l'"intervalle" configuré dans les attributs de pipeline.

Procédure STOP_PIPELINE

Arrête le pipeline de données. Lorsqu'un pipeline est arrêté, aucun travail futur n'est programmé pour le pipeline.

Procédure CREATE_PIPELINE

La procédure crée un pipeline de données.

Syntaxe

DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      pipeline_type        IN   VARCHAR2,
      attributes           IN   CLOB        DEFAULT NULL,
      description          IN   VARCHAR2    DEFAULT NULL
);

Paramètres

Paramètre Description

pipeline_name

Indique le nom du pipeline. Le nom du pipeline doit respecter les règles de dénomination des identificateurs SQL Oracle. Pour plus d'informations, reportez-vous à Identifiants.

Ce paramètre est obligatoire.

pipeline_type

Indique le type de pipeline.

Valeurs valides : LOAD, EXPORT

Ce paramètre est obligatoire.

attributes

Attributs de pipeline au format JSON.

La valeur par défaut est NULL

Pour plus d'informations, reportez-vous à la section DBMS_CLOUD_PIPELINE Attributes.

description

Description du pipeline.

La valeur par défaut est NULL

Procédure DROP_PIPELINE

La procédure supprime un pipeline de données existant. Si un pipeline a été démarré, il doit être arrêté avant de pouvoir être supprimé.

Syntaxe

DBMS_CLOUD_PIPELINE.DROP_PIPELINE(
       pipeline_name        IN   VARCHAR2,
       force                IN   BOOLEAN DEFAULT FALSE
 );

Paramètres

Paramètre Description

pipeline_name

Indique un nom de pipeline.

Ce paramètre est obligatoire.

force

Forcer la suppression d'un pipeline, même s'il est à l'état Démarré.

Valeurs valides : TRUE, FALSE

La valeur par défaut est FALSE

Remarque sur l'utilisation

  • Pour supprimer un pipeline dont l'état est Démarré, définissez le paramètre force sur TRUE.

Procédure RESET_PIPELINE

Réinitialise l'état de suivi d'un pipeline de données. Utilisez le pipeline reset pour redémarrer le pipeline à partir de l'état initial du chargement ou de l'export de données. Le pipeline de réinitialisation peut éventuellement purger les données de la base de données ou de la banque d'objets, selon le type de pipeline. Un pipeline de données doit être à l'état Arrêté pour pouvoir le réinitialiser.

Syntaxe

DBMS_CLOUD_PIPELINE.RESET_PIPELINE(
       pipeline_name        IN   VARCHAR2,
       purge_data           IN   BOOLEAN DEFAULT FALSE
 );

Paramètres

Paramètre Description

pipeline_name

Indique le nom du pipeline.

Ce paramètre est obligatoire.

purge_data

Les données de purge s'appliquent à un pipeline de chargement ou à un pipeline d'export :

  • Pour un pipeline de chargement, lorsque TRUE, tronquez les données de la table de base de données.

  • Pour un pipeline d'export, lorsque TRUE, supprimez les fichiers à l'emplacement de la banque d'objets.

Valeurs valides : TRUE, FALSE

La valeur par défaut est FALSE

Notes d'utilisation

  • Un pipeline de données doit être à l'état Arrêté pour pouvoir le réinitialiser. Pour plus d'informations, reportez-vous à Procédure STOP_PIPELINE.

  • Pour un pipeline de chargement, la réinitialisation du pipeline efface l'enregistrement des fichiers en cours de chargement par le pipeline. Lorsque vous appelez START_PIPELINE ou RUN_PIPELINE_ONCE après la réinitialisation d'un pipeline de chargement, le pipeline répète le chargement de données et inclut tous les fichiers présents dans l'emplacement de la banque d'objets.

    Lorsque purge_data est défini sur TRUE, DBMS_CLOUD_PIPELINE.RESET_PIPELINE effectue les opérations suivantes :

    • Vide les données de la table de base de données du pipeline que vous indiquez avec l'attribut table_name.

    • Supprime la table de statut du pipeline, ainsi que la table de fichiers et d'erreurs du pipeline (s'ils existent).

  • Pour un pipeline d'export, la réinitialisation du pipeline efface les dernières données suivies dans la table de base de données. Lorsque vous appelez START_PIPELINE ou RUN_PIPELINE_ONCE après la réinitialisation d'un pipeline d'export, le pipeline répète l'export des données de la table ou de la requête.

    Lorsque purge_data est défini sur TRUE, DBMS_CLOUD_PIPELINE.RESET_PIPELINE supprime les fichiers existants à l'emplacement de banque d'objets indiqué avec l'attribut location.

Procédure RUN_PIPELINE_ONCE

Cette procédure effectue une exécution à la demande du pipeline dans la session de premier plan en cours, au lieu d'une exécution dans un travail planifié. Utilisez DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE pour tester un pipeline avant de le démarrer en tant que travail continu.

Syntaxe

DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE(
       pipeline_name  IN  VARCHAR2
);

Paramètres

Paramètre Description

pipeline_name

Indique le nom du pipeline à exécuter.

Ce paramètre est obligatoire.

Notes d'utilisation

  • Après avoir effectué une exécution de test d'un pipeline, vous pouvez réinitialiser l'état du pipeline à l'aide de DBMS_CLOUD_PIPELINE.RESET_PIPELINE. Vous pouvez ainsi réinitialiser l'état du pipeline avant de le démarrer dans un travail programmé.

  • Si un pipeline est à l'état Démarré, il ne peut pas être exécuté dans la session de premier plan.

Procédure SET_ATTRIBUTE

Cette procédure définit les attributs de pipeline. Il existe deux procédures surchargées : l'une pour définir un seul attribut et l'autre pour définir plusieurs attributs à l'aide d'un document JSON de paires nom/valeur d'attribut.

Syntaxe

PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
      pipeline_name        IN   VARCHAR2,
      attribute_name       IN   VARCHAR2,
      attribute_value      IN   CLOB
);
 
PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
      pipeline_name        IN   VARCHAR2,
      attributes           IN   CLOB
);

Paramètres

Paramètre Description

pipeline_name

Indique le nom du pipeline pour la définition des attributs.

Ce paramètre est obligatoire.

attribute_name

Spécifie le nom de l'attribut à définir.

Pour plus d'informations, reportez-vous à la section DBMS_CLOUD_PIPELINE Attributes.

attribute_value

Indique la valeur de l'attribut de pipeline à définir.

Pour plus d'informations, reportez-vous à la section DBMS_CLOUD_PIPELINE Attributes.

attributes

Indique un document JSON contenant des noms et des valeurs d'attribut.

Pour plus d'informations, reportez-vous à la section DBMS_CLOUD_PIPELINE Attributes.

Remarque sur l'utilisation

  • Lorsque vous utilisez DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE pour définir plusieurs attributs avec le paramètre attributes, tous les attributs existants sont supprimés et remplacés par les attributs indiqués du document JSON.

Procédure START_PIPELINE

La procédure démarre le pipeline de données. Lorsqu'un pipeline est démarré, l'opération de pipeline s'exécute en continu dans un travail programmé en fonction de la valeur interval configurée avec les attributs de pipeline.

Syntaxe

DBMS_CLOUD_PIPELINE.START_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      start_date           IN   TIMESTAMP WITH TIME ZONE DEFAULT NULL
);

Paramètres

Paramètre Description

pipeline_name

Indique le nom du pipeline.

Ce paramètre est obligatoire.

start_date

Indique la date de début du travail de pipeline.

La valeur par défaut est NULL

Notes d'utilisation

  • Par défaut, un travail de pipeline démarre immédiatement dès que le pipeline est démarré. Pour démarrer un travail de pipeline ultérieurement, indiquez une date ou un horodatage valide à l'aide du paramètre start_date.

  • Pour plus d'informations sur le pipeline interval et d'autres attributs de pipeline, reportez-vous à Attributs DBMS_CLOUD_PIPELINE.

Procédure STOP_PIPELINE

La procédure arrête le pipeline de données. Lorsqu'un pipeline est arrêté, aucun travail futur n'est programmé pour le pipeline.

Syntaxe

DBMS_CLOUD_PIPELINE.STOP_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      force                IN   BOOLEAN  DEFAULT  FALSE
);

Paramètres

Paramètre Description

pipeline_name

Indique le nom du pipeline.

Ce paramètre est obligatoire.

force

Si le paramètre force est transmis en tant que TRUE, il met fin aux travaux en cours d'exécution pour le pipeline.

Valeurs valides : TRUE, FALSE

La valeur par défaut est FALSE

DBMS_CLOUD_PIPELINE Attributs

Les attributs permettent de contrôler et de configurer le comportement d'un pipeline de données.

Attributs

Remarque

Comme indiqué dans la colonne Type de pipeline, selon le type de pipeline LOAD ou EXPORT, un pipeline prend en charge un autre ensemble d'attributs.
Nom d'attribut Description Type de pipeline Modifiable après le démarrage du pipeline
credential_name

Nom des infos d'identification permettant d'accéder au stockage d'objet cloud source.

Vous pouvez utiliser 'OCI$RESOURCE_PRINCIPAL' en tant que credential_name lorsque le principal de ressource est activé. Les identifiants spécifiés avec les éléments suivants sont également pris en charge : noms de ressource Amazon, principal de service Azure ou compte de service Google. Pour plus d'informations, reportez-vous à Configuration de stratégies et de rôles pour accéder aux ressources.

Valeur par défaut : NULL.

Si vous ne fournissez pas de valeur credential_name, credential_name est défini sur NULL.

LOAD, EXPORT Oui
field_list

Identifie les champs dans les fichiers source et leurs types de données. La syntaxe de cet argument est identique à la clause field_list dans les tables externes Oracle standard. Pour plus d'informations sur field_list, reportez-vous à Utilitaires Oracle® Database.

La valeur par défaut est NULL

La valeur par défaut indique les champs et leurs types de données sont déterminés par les colonnes de la table indiquée dans l'attribut table_name.

LOAD Oui
format

Options décrivant le format du type de pipeline.

Datapump format n'est pas pris en charge pour un pipeline d'export.

Cet attribut est obligatoire pour les pipelines LOAD et EXPORT.

LOAD, EXPORT Oui
interval

Intervalle en minutes entre les exécutions consécutives du travail de pipeline programmé.

La valeur par défaut est 15 minutes

LOAD, EXPORT Oui
key_column

Colonne d'horodatage ou de date dans le fichier table ou query indiqué pour l'export continu des données les plus récentes vers la banque d'objets. La date ou l'horodatage de la dernière exécution est suivi par pipeline d'export et comparé à la valeur dans key_column pour identifier les nouvelles données à exporter vers la banque d'objets.

Valeur par défaut : NULL

Si key_column n'est pas indiqué pour un pipeline d'export, l'intégralité du contenu de table ou de query est téléchargée vers la banque d'objets dans chaque exécution de travail de pipeline.

EXPORT Non
location

Ce paramètre spécifie l'URI ou les répertoires du fichier source et les fichiers source. Vous pouvez utiliser les caractères génériques dans les noms de fichier.

Ce paramètre est obligatoire.

URI de fichier source cloud

Vous pouvez indiquer un URI de fichier source pour le bucket ou le sous-dossier. Vous pouvez utiliser des caractères génériques pour spécifier des sous-dossiers ou des modèles de nom de fichier. Le caractère "*" peut être utilisé comme générique pour plusieurs caractères et le caractère " ?" peut être utilisé comme générique pour un seul caractère.

Exemple avec des caractères génériques :

location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI DBMS_CLOUD.

Répertoire

Vous pouvez indiquer un répertoire et un nom de fichier. Le format de spécification d'un répertoire est 'MY_DIR:filename.ext'. Par défaut, le nom de répertoire MY_DIR est un objet de base de données et ne tient pas compte de la casse. Ce nom de fichier distingue les majuscules des minuscules.

Vous pouvez uniquement utiliser des caractères génériques pour indiquer des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme générique pour plusieurs caractères et le caractère "?" peut être utilisé comme générique pour un seul caractère.

Par exemple : 'MY_DIR:*" ou 'MY_DIR:test?'

Utilisez des guillemets doubles pour indiquer un nom de répertoire sensible à la casse.

Par exemple : '"my_dir1":*, "my_dir2":Test?'

Pour inclure un guillemet, utilisez deux guillemets.

Par exemple : 'MY_DIR:''filename.ext'. Cela indique que le nom du fichier commence par un guillemet (').

   
priority

Spécifie une valeur de chaîne qui détermine le nombre d'opérations parallèles effectuées pour le pipeline.

  • Dans un pipeline de chargement, il détermine le nombre de fichiers chargés en parallèle.

  • Dans un pipeline d'export, il détermine le degré de parallélisme pour l'extraction des données de la base.

Une opération avec une priorité plus élevée consomme plus de ressources de base de données et est terminée plus tôt.

Valeurs valides :

  • HIGH : détermine le nombre de fichiers parallèles gérés à l'aide du nombre d'ECPU de la base de données (nombre d'OCPU si la base de données utilise des OCPU).
  • MEDIUM : détermine le nombre de processus simultanés utilisant la limite de simultanéité pour le service moyen. La valeur par défaut est 4.
  • LOW : exécutez le travail de pipeline par ordre de numéro de série.

La valeur par défaut est MEDIUM

Le nombre maximal d'opérations de fichier simultanées est limité à 64.

LOAD, EXPORT Oui
query

Spécifie une instruction SELECT de sorte que seules les données requises soient exportées. La requête détermine le contenu des fichiers que vous exportez sous forme de fichiers texte (CSV, JSON, Parquet ou XML) ou de fichiers dump.

Par exemple :

SELECT warehouse_id, quantity FROM inventories

La valeur par défaut est NULL

Pour un pipeline d'export, table_name ou query est obligatoire.

EXPORT Non
table_name

Indique le nom de la table cible pour le chargement ou l'export des données.

Pour un pipeline de chargement, table_name est obligatoire.

Pour un pipeline d'export, table_name ou query est obligatoire.

LOAD, EXPORT Non
table_owner

Nom du schéma dans lequel réside la table cible pour le chargement ou l'export de données.

La valeur par défaut est NULL

Avec une valeur NULL, la table cible se trouve dans le même schéma que l'utilisateur qui exécute la procédure.

LOAD, EXPORT Non