Création d'informations d'identification et chargement de fichiers dump Data Pump dans une table existante

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

Les fichiers source pour 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. Pour plus d'informations sur l'export à l'aide du pilote d'accès ORACLE_DATAPUMP, reportez-vous à Déchargement et chargement de données avec le pilote d'accès ORACLE_DATAPUMP.

Pour charger les données, déplacez d'abord les fichiers dump exportés à l'aide du pilote d'accès ORACLE_DATAPUMP vers la banque d'objets, puis utilisez DBMS_CLOUD.COPY_DATA pour charger les fichiers dump vers une table existante de la base de données.

Les fichiers source de cet exemple sont les fichiers dump Oracle Data Pump, exp01.dmp et exp02.dmp.

  1. Stockez les informations d'identification de la banque d'objets à l'aide de la procédure DBMS_CLOUD.CREATE_CREDENTIAL. Par 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 informations d'identification dans la base de données dans un format crypté. Vous pouvez utiliser n'importe quel nom d'informations d'identification. Cette étape est requise une seule fois, sauf si les informations d'identification de banque d'objets changent. Une fois les informations d'identification stockées, vous pouvez utiliser le même nom d'informations d'identification pour tous les chargements de données.

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

    Remarque

    Certains outils tels que SQL*Plus et SQL Developer utilisent le caractère esperluette (&) comme caractère spécial. Si votre mot de passe contient l'esperluette, utilisez la commande SET DEFINE OFF dans ces outils, comme indiqué dans l'exemple, pour désactiver le caractère spécial et obtenir les informations d'identification créées correctement.
  2. Charger les données dans une table existante à l'aide de la procédure DBMS_CLOUD.COPY_DATA. Par 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 informations d'identification créées à l'étape précédente. Le paramètre credential_name doit être conforme aux conventions de dénomination des objets Oracle. Pour plus d'informations, reportez-vous à Règles de dénomination des objets de base de données.

    • file_uri_list : liste des fichiers dump Data Pump à charger séparés par une virgule.

    • format : définit les options que vous pouvez indiquer pour décrire le format du fichier source. Lorsque vous indiquez type en tant que 'datapump', le seul autre paramètre de format valide est 'rejectlimit'.

    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 plus d'informations sur les paramètres, reportez-vous à Procédure COPY_DATA et à Procédure COPY_DATA pour les fichiers Avro, ORC ou Parquet.