DBMS_CLOUD pour la gestion de fichiers en masse

Prérequis

En tant que développeur, vous pouvez utiliser les procédures DBMS_CLOUD avec des bases de données d'IA autonomes déployées sur Oracle Public Cloud, Multicloud ou Exadata Cloud@Customer.

Selon le choix de déploiement, les prérequis suivants doivent être respectés pour utiliser les procédures DBMS_CLOUD avec les fournisseurs de services Amazon S3, Azure Blob Storage et Google Cloud Storage.

Récapitulatif des sous-pgrogrammes DBMS_CLOUD pour la gestion de fichiers en masse

Sous-programmes pour les opérations de fichier en masse dans le package DBMS_CLOUD.

Sous-programme Description
Procédure BULK_COPY Cette procédure copie les fichiers d'un bucket Cloud Object Storage vers un autre.
Procédure BULK_DELETE La procédure supprime des fichiers du bucket ou du dossier Cloud Object Storage.
Procédure BULK_DOWNLOAD Cette procédure télécharge les fichiers du bucket de banque d'objets cloud vers un répertoire dans la base de données Autonomous AI.
Procédure BULK_MOVE Cette procédure déplace les fichiers d'un bucket Cloud Object Storage vers un autre.
Procédure BULK_UPLOAD Cette procédure télécharge des fichiers à partir d'un répertoire dans Autonomous AI Database vers le stockage d'objets cloud.

Procédure BULK_COPY

Cette procédure copie en masse des fichiers d'un bucket Cloud Object Storage vers un autre. La forme surchargée permet d'utiliser le paramètre operation_id.

Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE.

Le dossier ou le bucket source et cible peuvent se trouver dans le même fournisseur de banque d'objets cloud ou dans un autre fournisseur.

Lorsque la source et la cible se trouvent dans des banques d'objets distinctes ou ont des comptes différents avec le même fournisseur cloud, vous pouvez attribuer des noms d'informations d'identification distincts pour les emplacements source et cible.

Par défaut, le nom des informations d'identification source est également utilisé par l'emplacement cible.

Syntaxe

DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

Paramètres

Paramètre Description
source_credential_name

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

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

source_location_uri

Indique l'URI qui pointe vers l'emplacement du dossier ou du bucket Object Storage source.

Ce paramètre est obligatoire.

URI de fichier source cloud

Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud.

Les expressions régulières ne peuvent être utilisées que lorsque le paramètre regexuri format est défini sur TRUE.

Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre regexuri est défini sur FALSE. Lorsque le paramètre regexuri est défini sur TRUE, les caractères "*" et " ?" font partie du modèle d'expression régulière indiqué.

Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction REGEXP_LIKE.

Exemple d'utilisation des expressions régulières :

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

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

source_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 de stockage d'objet cloud.

Pour plus d'informations sur la condition REGEXP_LIKE, reportez-vous à Condition REGEXP_LIKE dans Référence de langage SQL Oracle Database 19c ou Référence de langage SQL Oracle Database 26ai.

target_location_uri

Indique l'URI du bucket ou dossier Object Storage cible dans lequel les fichiers doivent être copiés.

Ce paramètre est obligatoire.

Spécifie l'URI, qui pointe vers l'emplacement du dossier ou du bucket Object Storage source.

Ce paramètre est obligatoire.

Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à Formats d'URI de stockage d'objet cloud de fichier de package DBMS_CLOUD.

target_credential_name

Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud cible.

Si vous ne fournissez pas de valeur target_credential_name, target_location_uri est défini sur la valeur source_credential_name.

regex_filter

Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur REGEXP_LIKE.

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

Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE.

format

Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON.

Les options de format prises en charge sont les suivantes :

  • logretention : accepte une valeur entière qui détermine la durée en jours pendant laquelle la table de statut est conservée pour une opération en masse.

    La valeur par défaut est de 2 jours.

  • logprefix : accepte une valeur de chaîne qui détermine la chaîne de préfixe de nom de table de statut d'opération en masse.

    Le type d'opération est la valeur par défaut. Pour BULK_COPY, la valeur logprefix par défaut est COPYOBJ.

  • priority : accepte une valeur de chaîne qui détermine le nombre d'opérations de fichier exécutées simultanément.

    Une opération avec une priorité plus élevée consomme plus de ressources de base de données et doit être exécutée plus rapidement.

    Elle accepte les valeurs suivantes :

    • HIGH : détermine le nombre de fichiers parallèles gérés à l'aide du nombre d'OCPU 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 : traite les fichiers par ordre série.

    La valeur par défaut est MEDIUM.

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

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

operation_id Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS.

Remarque : une erreur est renvoyée lorsque les URI source et cible pointent vers le même bucket ou dossier Object Storage.

Exemple

BEGIN
DBMS_CLOUD.BULK_COPY (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format       => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/

Procédure BULK_DELETE

Cette procédure supprime en masse des fichiers du stockage d'objets cloud. La forme surchargée permet d'utiliser le paramètre operation_id. Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE.

Syntaxe

DBMS_CLOUD.BULK_DELETE(
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_DELETE (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Paramètres

Paramètre Description
credential_name

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

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

location_uri

Spécifie l'URI, qui pointe vers un emplacement Object Storage dans la base de données Autonomous AI.

Ce paramètre est obligatoire.

URI de fichier source cloud

Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud.

Les expressions régulières ne peuvent être utilisées que lorsque le paramètre regexuri format est défini sur TRUE.

Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre regexuri est défini sur FALSE. Lorsque le paramètre regexuri est défini sur TRUE, les caractères "*" et " ?" font partie du modèle d'expression régulière indiqué.

Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction REGEXP_LIKE.

Exemple :

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

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

Pour plus d'informations sur la condition REGEXP_LIKE, reportez-vous à Condition REGEXP_LIKE dans Référence de langage SQL Oracle Database 19c ou Référence de langage SQL Oracle Database 26ai.

Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à Formats d'URI de stockage d'objet cloud de fichier de package DBMS_CLOUD.

regex_filter

Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur REGEXP_LIKE.

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

Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE.

format

Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON.

Les options de format prises en charge sont les suivantes :

  • logretention : accepte une valeur entière qui détermine la durée en jours pendant laquelle la table de statut est conservée pour une opération en masse.

    La valeur par défaut est de 2 jours.

  • logprefix : accepte une valeur de chaîne qui détermine la chaîne de préfixe de nom de table de statut d'opération en masse.

    Le type d'opération est la valeur par défaut. Pour BULK_DELETE, la valeur logprefix par défaut est DELETE.

  • priority : accepte une valeur de chaîne qui détermine le nombre d'opérations de fichier exécutées simultanément.

    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.

    Elle accepte les valeurs suivantes :

    • HIGH : détermine le nombre de fichiers parallèles gérés à l'aide du nombre d'OCPU 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 : traite les fichiers par ordre série.

    La valeur par défaut est MEDIUM.

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

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

operation_id Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS.

Exemple

BEGIN
DBMS_CLOUD.BULK_DELETE (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/

Procédure BULK_DOWNLOAD

Cette procédure télécharge les fichiers dans un répertoire de base de données Autonomous AI à partir de Cloud Object Storage. La forme surchargée permet d'utiliser le paramètre operation_id. Vous pouvez filtrer la liste des fichiers à télécharger à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE.

Syntaxe

DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Paramètres

Paramètre Description
credential_name

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

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

location_uri

Spécifie l'URI, qui pointe vers un emplacement Object Storage dans la base de données Autonomous AI.

Ce paramètre est obligatoire.

URI de fichier source cloud

Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud.

Les expressions régulières ne peuvent être utilisées que lorsque le paramètre regexuri format est défini sur TRUE.

Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre regexuri est défini sur FALSE. Lorsque le paramètre regexuri est défini sur TRUE, les caractères "*" et " ?" font partie du modèle d'expression régulière indiqué.

Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction REGEXP_LIKE.

Exemple :

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

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

Pour plus d'informations sur la condition REGEXP_LIKE, reportez-vous à Condition REGEXP_LIKE dans Référence de langage SQL Oracle Database 19c ou Référence de langage SQL Oracle Database 26ai.

directory_name

Nom du répertoire sur la base de données Autonomous AI à partir duquel télécharger les fichiers.

Ce paramètre est obligatoire.

regex_filter

Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur REGEXP_LIKE.

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

Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE.

format

Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON.

Les options de format prises en charge sont les suivantes :

  • logretention : accepte une valeur entière qui détermine la durée en jours pendant laquelle la table de statut est conservée pour une opération en masse.

    La valeur par défaut est de 2 jours.

  • logprefix : accepte une valeur de chaîne qui détermine la chaîne de préfixe de nom de table de statut d'opération en masse. Pour BULK_DOWNLOAD, la valeur logprefix par défaut est DOWNLOAD.

    Le type d'opération est la valeur par défaut.

  • priority : accepte une valeur de chaîne qui détermine le nombre d'opérations de fichier exécutées simultanément.

    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.

    Elle accepte les valeurs suivantes :

    • HIGH : détermine le nombre de fichiers parallèles gérés à l'aide du nombre d'OCPU 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 : traite les fichiers par ordre série.

    La valeur par défaut est MEDIUM.

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

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

operation_id Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS.

Exemple

BEGIN
DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
 );
END;
/

Procédure BULK_MOVE

Cette procédure déplace en masse des fichiers d'un bucket ou dossier Cloud Object Storage vers un autre. La forme surchargée permet d'utiliser le paramètre operation_id.

Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE.

Le dossier ou le bucket source et cible peuvent se trouver dans le même fournisseur de banque d'objets cloud ou dans un autre fournisseur.

Lorsque la source et la cible se trouvent dans des banques d'objets distinctes ou ont des comptes différents avec le même fournisseur cloud, vous pouvez donner des noms d'informations d'identification distincts pour les emplacements source et cible.

Par défaut, le nom des informations d'identification source est également utilisé par l'emplacement cible lorsque le nom des informations d'identification cible n'est pas fourni.

La première étape du déplacement des fichiers consiste à les copier vers l'emplacement cible, puis à supprimer les fichiers source, une fois qu'ils ont été copiés.

L'objet est renommé et non déplacé si la banque d'objets autorise les opérations de changement de nom entre les emplacements source et cible.

Syntaxe

DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

Paramètres

Paramètre Description
source_credential_name

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

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

source_location_uri

Indique l'URI qui pointe vers l'emplacement du dossier ou du bucket Object Storage source.

Ce paramètre est obligatoire.

URI de fichier source cloud

Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud.

Les expressions régulières ne peuvent être utilisées que lorsque le paramètre regexuri format est défini sur TRUE.

Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre regexuri est défini sur FALSE. Lorsque le paramètre regexuri est défini sur TRUE, les caractères "*" et " ?" font partie du modèle d'expression régulière indiqué.

Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction REGEXP_LIKE.

Exemple d'utilisation d'expressions régulières :

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

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

source_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 de stockage d'objet cloud.

Pour plus d'informations sur la condition REGEXP_LIKE, reportez-vous à Condition REGEXP_LIKE dans Référence de langage SQL Oracle Database 19c ou Référence de langage SQL Oracle Database 26ai.

target_location_uri

Indique l'URI du bucket ou dossier Object Storage cible, où les fichiers doivent être déplacés.

Ce paramètre est obligatoire.

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

target_credential_name

Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud cible.

Si vous ne fournissez pas de valeur target_credential_name, target_location_uri est défini sur la valeur source_credential_name.

regex_filter

Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur REGEXP_LIKE.

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

Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE.

format

Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON.

Les options de format prises en charge sont les suivantes :

  • logretention : accepte une valeur entière qui détermine la durée en jours pendant laquelle la table de statut est conservée pour une opération en masse.

    La valeur par défaut est de 2 jours.

  • logprefix : accepte une valeur de chaîne qui détermine la chaîne de préfixe de nom de table de statut d'opération en masse.

    Le type d'opération est la valeur par défaut. Pour BULK_MOVE, la valeur logprefix par défaut est MOVE.

  • priority : accepte une valeur de chaîne qui détermine le nombre d'opérations de fichier exécutées simultanément.

    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.

    Elle accepte les valeurs suivantes :

    • HIGH : détermine le nombre de fichiers parallèles gérés à l'aide du nombre d'OCPU 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 : traite les fichiers par ordre série.

    La valeur par défaut est MEDIUM.

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

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

operation_id Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS.

Exemple

BEGIN
DBMS_CLOUD.BULK_MOVE (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format                 => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/

Remarque : une erreur est renvoyée lorsque les URI source et cible pointent vers le même bucket ou dossier Object Storage.

Procédure BULK_UPLOAD

Cette procédure copie les fichiers dans Cloud Object Storage à partir d'un répertoire de base de données Autonomous AI. La forme surchargée permet d'utiliser le paramètre operation_id.

Syntaxe

DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Paramètres

Paramètre Description
credential_name

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

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

location_uri

Spécifie l'URI, qui pointe vers un emplacement Object Storage pour télécharger des fichiers.

Ce paramètre est obligatoire.

Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à Formats d'URI de stockage d'objet cloud de fichier de package DBMS_CLOUD.

directory_name

Nom du répertoire sur la base de données Autonomous AI à partir duquel vous téléchargez des fichiers.

Ce paramètre est obligatoire.

Répertoire

Vous pouvez indiquer un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. Le format pour spécifier 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.

Les expressions régulières ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. 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?'

Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : par exemple :'MY_DIR1:*, MY_DIR2: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 filename commence par un guillemet (').

regex_filter

Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur REGEXP_LIKE.

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

Pour plus d'informations, reportez-vous à Condition REGEXP_LIKE.

format

Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON.

Les options de format prises en charge sont les suivantes :

  • logretention : accepte une valeur entière qui détermine la durée en jours pendant laquelle la table de statut est conservée pour une opération en masse.

    La valeur par défaut est de 2 jours.

  • logprefix : accepte une valeur de chaîne qui détermine la chaîne de préfixe de nom de table de statut d'opération en masse.

    Le type d'opération est la valeur par défaut. Pour BULK_UPLOAD, la valeur logprefix par défaut est UPLOAD.

  • priority : accepte une valeur de chaîne qui détermine le nombre d'opérations de fichier exécutées simultanément.

    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.

    Elle accepte les valeurs suivantes :

    • HIGH : détermine le nombre de fichiers parallèles gérés à l'aide du nombre d'OCPU 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 : traite les fichiers par ordre série.

    La valeur par défaut est MEDIUM.

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

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

operation_id Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue USER_LOAD_OPERATIONS.

Exemple

BEGIN
DBMS_CLOUD.BULK_UPLOAD (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
 );
END;
/

Contenu connexe

Opérations en masse pour des fichiers dans le cloud