Créer des données d'identification et charger les fichiers de vidage d'extraction de données dans une table existante

Pour le chargement de données, vous pouvez également utiliser des fichiers dump Oracle Data Pump en tant que fichiers sources.

Les fichiers sources de ce type de chargement doivent être exportés à partir du système source à l'aide du pilote d'accès ORACLE_DATAPUMP dans les tables externes. Voir Déchargement et chargement de données avec le pilote d'accès ORACLE_DATAPUMP pour plus de détails sur l'exportation à l'aide du pilote d'accès ORACLE_DATAPUMP.

Pour charger les données, vous devez d'abord déplacer les fichiers de vidage qui ont été exportés à l'aide du pilote d'accès ORACLE_DATAPUMP vers votre magasin d'objets, puis utiliser DBMS_CLOUD.COPY_DATA pour charger les fichiers de vidage dans une table existante de votre base de données.

Les fichiers sources de cet exemple sont les fichiers de vidage d'Oracle Data Pump, exp01.dmp et exp02.dmp.

  1. Stockez vos données d'identification de magasin d'objets à l'aide de la procédure DBMS_CLOUD.CREATE_CREDENTIAL. Exemple :
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    Cette opération stocke les données d'identification dans la base de données dans un format chiffré. Vous pouvez utiliser n'importe quel nom pour les données d'identification. Notez que cette étape n'est requise qu'une seule fois, sauf si les données d'identification du magasin d'objets changent. Une fois que vous avez stocké les données d'identification, vous pouvez utiliser le même nom pour tous les chargements de données.

    Pour des informations détaillées sur les paramètres, voir ProcédureCREATE_CREDENTIAL.

    Note

    Certains outils tels que SQL*Plus et SQL Developer utilisent le caractère esperluette (&) en tant que caractère spécial. Si votre mot de passe contient le caractère esperluette, utilisez la commande SET DEFINE OFF dans ces outils, comme illustré dans l'exemple, pour désactiver le caractère spécial et obtenir les données d'identification créées correctement.
  2. Chargez les données dans une table existante à l'aide de la procédure DBMS_CLOUD.COPY_DATA. Exemple :
    CREATE TABLE CHANNELS
       (channel_id CHAR(1),
        channel_desc VARCHAR2(20),
        channel_class VARCHAR2(20)
       );
    /
    
    BEGIN
     DBMS_CLOUD.COPY_DATA(
        table_name =>'CHANNELS',
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp,
                         https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp02.dmp',
        format => json_object('type' value 'datapump')
     );
    END;
    /
    

    Les paramètres sont les suivants :

    • table_name : Nom de la table cible.

    • credential_name : Nom des données d'identification créées à l'étape précédente. Le paramètre credential_name doit être conforme aux conventions d'attribution de nom d'objet Oracle. Pour plus d'informations, voir Règles d'attribution de nom aux objets de base de données.

    • file_uri_list : Liste séparée par des virgules des fichiers de vidage Data Pump à charger.

    • format : Définit les options que vous pouvez spécifier pour décrire le format du fichier source. Lorsque vous spécifiez type comme 'datapump', le seul autre paramètre de format valide est 'rejectlimit'.

    Dans cet exemple, namespace-string est l'espace de noms du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.

    Pour des informations détaillées sur les paramètres, voir Procédure COPY_DATA et Procédure COPY_DATA pour les fichiers Avro, ORC ou Parquet.