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 des fichiers dump Oracle Data Pump comme 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. Reportez-vous à Déchargement et chargement de données avec le pilote d'accès ORACLE_DATAPUMP pour plus de détails sur l'export à l'aide du 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 votre banque d'objets, puis utilisez DBMS_CLOUD.COPY_DATA pour charger les fichiers dump vers une table existante dans votre base de données.

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

  1. Stockez vos informations d'identification de banque d'objets à l'aide de la procédure DBMS_CLOUD.CREATE_CREDENTIAL. Exemples :
    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 à Procédure CREATE_CREDENTIAL.

    Remarque

    Certains outils tels que SQL*Plus et SQL Developer utilisent l'arrondi (&) comme caractère spécial. Si votre mot de passe comporte une esperluette, utilisez la commande SET DEFINE OFF dans ces outils comme indiqué dans l'exemple pour désactiver le caractère spécial et créer les informations d'identification correctement.
  2. Chargez les données dans une table existante à l'aide de la procédure DBMS_CLOUD.COPY_DATA. Exemples :
    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 définissez type sur 'datapump', le seul autre paramètre de format valide est 'rejectlimit'.

    Dans cet exemple, namespace-string est l'espace de noms de stockage 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 à Procédure COPY_DATA et à Procédure COPY_DATA pour les fichiers Avro, ORC ou Parquet.