Opérations en masse pour les fichiers dans le nuage
L'ensemble PL/SQL DBMS_CLOUD offre une prise en charge de l'exécution en parallèle pour les activités de chargement, de téléchargement, de copie et de transfert de fichiers en masse, ce qui simplifie l'expérience utilisateur et offre une performance optimale pour les opérations de fichiers en masse.
L'ensemble DBMS_CLOUD prend en charge le chargement et le déchargement des fichiers dans les services en nuage suivants :
-
Service de stockage d'objets pour Oracle Cloud Infrastructure
-
Stockage Azure Blob ou stockage Azure Data Lake
-
Amazon S3
-
Compatible avec Amazon S3, y compris Wasabi Hot Cloud Storage
-
Google Cloud Storage
Pour plus d'informations, voir Formats d'URI de fichier de paquetage DBMS_CLOUD.
- À propos des opérations de fichier en masse
Les opérations de fichier en masseDBMS_CLOUDprennent en charge le téléchargement et le chargement de fichiers sur Autonomous AI Database, notamment la prise en charge de la copie, du déplacement et de la suppression de fichiers dans les magasins d'objets en nuage, au sein du même fournisseur de magasin d'objets ou entre des fournisseurs de magasin d'objets. - Fichiers de copie en masse dans le stockage d'objets en nuage
Utilisez la procédureDBMS_CLOUD.BULK_COPYpour copier en masse des fichiers d'un seau ou d'un dossier du magasin d'objets vers un autre seau ou dossier. - Déplacer des fichiers en masse vers le stockage d'objets en nuage
Utilisez la procédureDBMS_CLOUD.BULK_MOVEpour déplacer des fichiers d'un emplacement de stockage d'objets en nuage vers un autre. - Télécharger des fichiers en masse à partir du stockage d'objets en nuage
Utilisez la procédureDBMS_CLOUD.BULK_DOWNLOADpour télécharger en masse des fichiers à partir de l'emplacement du magasin d'objets en nuage vers l'objet de répertoire dans une base de données d'intelligence artificielle autonome. - Charger des fichiers en masse dans le stockage d'objets en nuage
Utilisez la procédureDBMS_CLOUD.BULK_UPLOADpour charger en masse des fichiers à partir d'un objet de répertoire dans une base de données vers un emplacement de magasin d'objets en nuage. - Supprimer des fichiers en masse du stockage d'objets en nuage
Utilisez la procédureDBMS_CLOUD.BULK_DELETEpour supprimer en masse des fichiers du stockage d'objets en nuage. - Surveiller et dépanner les chargements de fichiers en masse
Toutes les opérations de chargement de donnéesDBMS_CLOUDsont enregistrées dans les vuesdba_load_operationsetuser_load_operations. - Notes pour les opérations de fichier en masse
Fournit des notes pour les données d'identification que vous utilisez avec les opérations de fichier en masse.
Rubrique parent : Déplacer des fichiers
À propos des opérations de fichier en masse
DBMS_CLOUD prennent en charge le téléchargement et le chargement de fichiers sur Autonomous AI Database, notamment la prise en charge de la copie, du déplacement et de la suppression de fichiers dans les magasins d'objets en nuage, au sein du même fournisseur de magasin d'objets ou entre des fournisseurs de magasin d'objets.
Les opérations de fichiers en masse prennent en charge le parallélisme et fournissent des performances optimales pour le chargement, le téléchargement, la copie et le déplacement des fichiers. Le parallélisme pour les opérations de fichiers en masse est géré en spécifiant une priorité pour une opération. Les priorités soutenues sont les suivantes :
HIGH: Utilisez le nombre d'UC de l'instance de base de données du service d'intelligence artificielle autonome pour déterminer le nombre de fichiers parallèles traités.MEDIUM: Utilisez la limite d'accès simultané pour le service Medium pour déterminer le parallélisme.LOW: Traiter les fichiers dans l'ordre des numéros de série (sans accès simultané).
L'exécution d'opérations en masse avec une priorité plus élevée utilise davantage de ressources de base de données et les opérations sont plus rapides lorsque le parallélisme peut accélérer l'opération. Une priorité inférieure consomme moins de ressources de base de données et les opérations prennent plus de temps lorsque le parallélisme peut accélérer les opérations. Lorsque les opérations en masse impliquent un petit nombre de fichiers contenant peu de données, la spécification d'une priorité supérieure peut ne pas modifier les performances.
Pour augmenter le parallélisme pour les opérations de fichier en masse, utilisez la priorité HIGH et augmentez le nombre d'UC affectées à votre instance de base de données d'IA autonome. Le nombre maximal d'opérations de fichier concurrent prises en charge est limité à 64 pour les opérations de fichier en masse.
La priorité par défaut est MEDIUM, qui spécifie que les opérations de fichiers en masse utilisent la limite d'accès simultané définie pour le groupe de consommateurs de ressources MEDIUM. Pour plus d'informations, voir Gérer les accès simultanés et les priorités sur la base de données d'IA autonome.
Voir DBMS_CLOUD pour la gestion des fichiers en masse pour plus de détails sur l'utilisation du paramètre format pour spécifier priority avec des opérations de fichier en masse.
Rubrique parent : Opérations en masse pour les fichiers dans le nuage
Copier des fichiers en masse dans le stockage d'objets en nuage
Utilisez la procédure DBMS_CLOUD.BULK_COPY pour copier en masse des fichiers d'un seau ou d'un dossier du magasin d'objets vers un autre seau ou dossier.
Par exemple, utilisez DBMS_CLOUD.BULK_COPY pour copier des fichiers d'Amazon S3 vers Oracle Cloud Infrastructure Object Storage.
BEGIN
DBMS_CLOUD.BULK_COPY(
source_credential_name => 'AWS_CRED',
source_location_uri => 'https://bucketname.s3-us-west-2.amazonaws.com/',
target_credential_name => 'OCI_CRED',
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;
/
Rubrique parent : Opérations en masse pour les fichiers dans le nuage
Déplacer des fichiers en masse dans le stockage d'objets en nuage
DBMS_CLOUD.BULK_MOVE pour déplacer en masse des fichiers d'un emplacement de stockage d'objets en nuage à un autre.
La première étape du déplacement des fichiers consiste à les copier vers l'emplacement cible. Une fois les fichiers copiés, ils sont supprimés de l'emplacement source.
Les fichiers sont renommés plutôt que copiés si le magasin d'objets permet de renommer les opérations entre les emplacements source et cible.
Par exemple, utilisez DBMS_CLOUD.BULK_MOVE pour déplacer des fichiers d'Amazon S3 vers Oracle Cloud Infrastructure Object Storage.
BEGIN
DBMS_CLOUD.BULK_MOVE(
source_credential_name => 'AWS_CRED',
source_location_uri => 'https://bucketname.s3-us-west-2.amazonaws.com/',
target_credential_name => 'OCI_CRED',
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;
/
Rubrique parent : Opérations en masse pour les fichiers dans le nuage
Télécharger des fichiers en masse à partir du stockage d'objets en nuage
Utilisez la procédure DBMS_CLOUD.BULK_DOWNLOAD pour télécharger en masse des fichiers à partir de l'emplacement du magasin d'objets en nuage vers l'objet de répertoire dans une base de données d'intelligence artificielle autonome.
Rubrique parent : Opérations en masse pour les fichiers dans le nuage
Charger des fichiers en masse vers le stockage d'objets en nuage
Utilisez la procédure DBMS_CLOUD.BULK_UPLOAD pour charger en masse des fichiers à partir d'un objet de répertoire dans la base de données vers un emplacement de magasin d'objets en nuage.
Rubrique parent : Opérations en masse pour les fichiers dans le nuage
Supprimer en masse des fichiers du stockage d'objets en nuage
Utilisez la procédure DBMS_CLOUD.BULK_DELETE pour supprimer en masse des fichiers du stockage d'objets en nuage.
Rubrique parent : Opérations en masse pour les fichiers dans le nuage
Surveiller et dépanner les chargements de fichiers en masse
Toutes les opérations de chargement de données DBMS_CLOUD sont enregistrées dans les vues dba_load_operations et user_load_operations.
Vous pouvez utiliser les vues suivantes pour surveiller et dépanner les chargements de fichiers en masse :
-
dba_load_operations: Affiche toutes les opérations de chargement. -
user_load_operations: Affiche les opérations de chargement de votre schéma.
Interrogez ces vues pour voir des informations sur les opérations de fichiers en masse en cours et terminées. Par exemple, l'énoncé SELECT suivant avec un prédicat de clause WHERE sur TYPE affiche les opérations DOWNLOAD :
SELECT owner_name, type, status, start_time, update_time, status_table, rows_loaded
FROM user_load_operations WHERE type = 'DOWNLOAD';
OWNER_NAME TYPE STATUS START_TIME UPDATE_TIME STATUS_TABLE ROWS_LOADED
---------- -------- --------- ------------------------ ------------------------ ------------ -----------
"ADMIN" DOWNLOAD COMPLETED 2022-10-17T20:42:19.498Z 2022-10-17T20:42:21.054Z DWN$2_STATUS 4
"ADMIN" DOWNLOAD FAILED 2022-10-17T20:40:54.348Z 2022-10-17T20:40:55.679Z DWN$1_STATUS
La colonne STATUS_TABLE affiche le nom de la table que vous pouvez interroger pour consulter les informations de journalisation détaillées pour l'opération de téléchargement en masse. Exemple :
DESCRIBE DWN$2_STATUS
Name Null? Type
------------- -------- ---------------------------
ID NOT NULL NUMBER
NAME VARCHAR2(4000)
BYTES NUMBER
CHECKSUM VARCHAR2(128)
LAST_MODIFIED TIMESTAMP(6) WITH TIME ZONE
STATUS VARCHAR2(30)
ERROR_CODE NUMBER
ERROR_MESSAGE VARCHAR2(4000)
START_TIME TIMESTAMP(6) WITH TIME ZONE
END_TIME TIMESTAMP(6) WITH TIME ZONE
SID NUMBER
SERIAL# NUMBER
ROWS_LOADED NUMBER
SELECT id, name, bytes, status, error_message, start_time, end_time FROM DWN$2_STATUS;
ID NAME BYTES STATUS ERROR_MESSAGE START_TIME END_TIME
-- ---------- ----- --------- ------------- ------------------------ ------------------------
1 trees.txt 58 COMPLETED 2022-10-17T20:42:19.998Z 2022-10-17T20:42:20.421Z
2 trees1.txt 58 COMPLETED 2022-10-17T20:42:20.425Z 2022-10-17T20:42:20.533Z
3 trees2.txt 58 COMPLETED 2022-10-17T20:42:20.535Z 2022-10-17T20:42:20.894Z
4 trees3.txt 58 COMPLETED 2022-10-17T20:42:20.896Z 2022-10-17T20:42:21.043ZLa table de statut affiche chaque nom de fichier et son statut pour l'opération en masse.
Le numéro et le message d'erreur pertinents sont enregistrés dans la table d'état en cas d'échec d'une opération sur un fichier spécifique.
Pour les opérations terminées, le temps nécessaire pour chaque opération peut être calculé à l'aide des heures START_TIME et END_TIME indiquées.
La colonne STATUS de l'opération de fichier peut avoir l'une des valeurs suivantes :
| Statut du fichier | Description |
|---|---|
|
|
L'opération de fichier a réussi. |
|
|
Échec de l'opération de fichier. Une nouvelle tentative peut être effectuée deux fois. |
|
|
L'opération de fichier n'a pas encore démarré. |
|
|
L'opération de fichier est actuellement en cours. |
|
|
Opération de fichier ignorée. |
Si une opération de fichier échoue après deux tentatives, l'opération en masse est marquée comme ayant échoué et une erreur est générée. Exemple :
ORA-20003: Operation failed, please query table DOWNLOAD$2_STATUS for error details
Lorsque vous utilisez une opération de fichier en masse DBMS_CLOUD, des options de paramètre format contrôlent les tables de statut :
-
logretention: Spécifie une valeur entière qui détermine la durée en jours pendant laquelle la table de statuts est conservée. La valeur par défaut est de 2 jours. -
logprefix: Spécifie une valeur de chaîne qui détermine le préfixe de nom de la table de statut d'opération en masse.Chaque opération en masse a sa propre valeur par défaut pour l'option
logprefix:Procédure Valeur par défaut pour logprefixDBMS_CLOUD.BULK_COPYCOPYOBJDBMS_CLOUD.BULK_DELETEDELETEDBMS_CLOUD.BULK_DOWNLOADDOWNLOADDBMS_CLOUD.BULK_MOVEMOVEDBMS_CLOUD.BULK_UPLOADUPLOAD
Voir Procédure DELETE_ALL_OPERATIONS pour plus d'informations sur la suppression de la table user_load_operations.
Rubrique parent : Opérations en masse pour les fichiers dans le nuage
Notes pour les opérations de fichier en masse
Fournit des notes pour les données d'identification que vous utilisez avec les opérations de fichier en masse.
-
Vous pouvez spécifier des principaux comme paramètre
credential_name,source_credential_nameoutarget_credential_namepour accéder aux ressources en nuage en toute sécurité sans stocker les données d'identification d'utilisateur. Les principaux pris en charge sont les suivants :- Principaux de ressource d'Oracle Cloud Infrastructure
- Noms de ressource Amazon AWS (ARN)
- Principal de service Azure
- Compte de service Google
Pour plus d'informations, voir Configurer les politiques et les rôles pour accéder aux ressources.
-
credential_name,source_credential_nameoutarget_credential_namepeut êtreNULLpour l'URI de seau public, préauthentifié ou pré-signé.
Rubrique parent : Opérations en masse pour les fichiers dans le nuage