Chargement de données dans Autonomous Database à partir d'Oracle Cloud Infrastructure Object Storage

Cet exemple montre comment charger des données d'Oracle Cloud Infrastructure Object Storage vers Autonomous Database à l'aide de commandes SQL.

Vous disposez de différentes options pour effectuer le chargement des données dans Autonomous Database, par exemple :

  • Utilisation des options d'interface utilisateur : vous pouvez utiliser l'interface utilisateur de l'outil de chargement Data Studio pour créer des informations d'identification pour l'emplacement de banque cloud, sélectionner des fichiers contenant des données et exécuter des travaux de chargement de données.

    Reportez-vous à Chargement de données à partir du stockage cloud

  • Utilisation des API Rest Data Services : vous pouvez utiliser les API de l'outil de chargement Data Studio pour créer des liens vers l'emplacement de la banque cloud et exécuter des travaux de chargement de données.

    Reportez-vous à Utilisation des API de chargement de données Data Studio dans PL/SQL

  • Utilisation de commandes SQL comme expliqué dans cet exemple.

Toutes ces méthodes utilisent le même package PL/SQL DBMS_CLOUD pour le chargement des données. Toutefois, Data Studio offre des avantages supplémentaires par rapport aux commandes SQL. Il permet non seulement d'analyser la source et de créer des définitions de table, mais également d'effectuer des vérifications de validation.

Vous avez besoin d'informations d'identification d'accès Oracle Cloud Infrastructure pour l'authentification de compte utilisateur et d'une URL d'objet pour accéder à l'objet dans le bucket Oracle Cloud Infrastructure Object Storage.

Pour charger des données à partir d'Oracle Cloud Infrastructure Object Storage, procédez comme suit :
  1. Créez des informations d'identification pour le compte utilisateur Oracle Cloud Infrastructure dans Autonomous Database.

  2. Copiez les données d'Oracle Cloud Infrastructure Object Storage vers la base de données.

Sujets

Préparation du chargement de données à partir d'Oracle Cloud Infrastructure

Vérifiez les prérequis et préparez le chargement de données à partir d'Oracle Cloud Infrastructure Object Storage.

Prérequis

Par exemple, un fichier de données, oci-data.txt, existe dans le bucket Oracle Cloud Infrastructure que vous pouvez importer. L'exemple de fichier de cet exemple a le contenu suivant :
1,OCI Direct Sales
2,OCI Tele Sales
3,OCI Catalog
4,OCI Internet
5,OCI Partners

Côté Oracle Cloud Infrastructure, connectez-vous à votre compte Oracle Cloud Infrastructure et procédez comme suit :

  1. Obtenez un jeton d'authentification pour le compte Oracle Cloud Infrastructure.
    Pour plus d'informations, reportez-vous à Obtention d'un jeton d'authentification.
  2. Sur la page Détails d'objet, obtenez l'URL d'objet du fichier de données stocké dans le bucket Oracle Cloud Infrastructure Object Storage.
    Pour plus d'informations, reportez-vous à Obtention des détails d'un objet Object Storage.

Etapes de chargement de données à partir d'Oracle Cloud Infrastructure

Exécutez ces étapes pour charger des données d'Oracle Cloud Infrastructure Object Storage vers Autonomous Database.

  1. Stockez les informations d'identification de compte Oracle Cloud Infrastructure dans votre instance Autonomous Database et indiquez un nom d'informations d'identification. La base de données peut ainsi s'authentifier auprès de votre compte Oracle Cloud Infrastructure et accéder aux éléments du bucket Oracle Cloud Infrastructure Object Storage.
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'OCI_CRED_NAME',
        username => 'username',
        password => 'password'
      );
    END;
    /
    Remarque

    Ici, le nom utilisateur est votre nom utilisateur Oracle Cloud Infrastructure et le mot de passe est votre jeton d'authentification utilisateur.

    Pour obtenir des informations détaillées sur les paramètres, reportez-vous à la procédure CREATE_CREDENTIAL.

    La création d'informations d'identification pour accéder à la banque d'objets Oracle Cloud Infrastructure n'est pas requise si vous activez les informations d'identification de principal de ressource. Pour plus d'informations, reportez-vous à Utilisation du principal de ressource pour accéder à des ressources Oracle Cloud Infrastructure.

    Vous pouvez éventuellement tester l'accès à Oracle Cloud Infrastructure comme indiqué dans cet exemple.

    SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('OCI_CRED_NAME', 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/');
  2. Créez dans la base de données une table dans laquelle charger les données.
    CREATE TABLE myocitable (id NUMBER, name VARCHAR2(64));
    
  3. Importez des données du bucket Oracle Cloud Infrastructure vers votre instance Autonomous Database.
    Indiquez le nom de la table et les informations d'identification Oracle Cloud Infrastructure, suivis de l'URL de l'objet Oracle Cloud Infrastructure.
    BEGIN
          DBMS_CLOUD.COPY_DATA(
              table_name => 'myocitable',
              credential_name => 'OCI_CRED_NAME',
              file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/oci-data.txt',
              format => json_object('delimiter' value ',')
          );
    END;
    /

    Dans cet exemple, namespace-string est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

    Pour obtenir des informations détaillées sur les paramètres, reportez-vous à la procédure COPY_DATA.

Vous avez importé des données d'Oracle Cloud Infrastructure Object Storage vers votre instance Autonomous Database. Vous pouvez exécuter cette instruction et vérifier les données de votre table.
SELECT * FROM myocitable;
ID  NAME
--  –-------------
 1  OCI Direct Sales
 2  OCI Tele Sales
 3  OCI Catalog
 4  OCI Internet
 5  OCI Partners

Pour plus d'informations sur le chargement de données, reportez-vous à Chargement de données à partir de fichiers dans le cloud.