Import de données de collection SODA à l'aide d'Oracle Data Pump version 19.6 ou ultérieure

Présente les étapes d'import des collections SODA dans Autonomous Database avec Oracle Data Pump.

Vous pouvez exporter et importer des collections SODA à l'aide des utilitaires Oracle Data Pump à partir de la version 19.6. Oracle recommande d'utiliser la dernière version d'Oracle Data Pump pour importer des données à partir de fichiers Data Pump dans la base de données.

Téléchargez la dernière version d'Oracle Instant Client, qui inclut Oracle Data Pump, pour votre plateforme à partir de la pageTéléchargements Oracle Instant Client. Reportez-vous aux instructions d'installation de la page de téléchargement pour installation sur votre plate-forme afin de connaître les étapes d'installation requises après le téléchargement d'Oracle Instant Client.

Dans Oracle Data Pump, si vos fichiers source résident dans d'Oracle Cloud Infrastructure Object Storage, vous pouvez utiliser des URI natifs Oracle Cloud Infrastructure, des URI Swift ou des URI pré-authentifiés. Pour plus d'informations sur ces formats d'URI de fichier, reportez-vous à DBMS_CLOUD Package File URI Formats.

Si vous utilisez un URI pré-authentifié Oracle Cloud Infrastructure, vous devez toujours fournir un paramètre credential. Toutefois, les informations d'identification d'une URL pré-authentifiée sont ignorées (et les informations d'identification fournies n'ont pas besoin d'être valides). Reportez-vous à Formats d'URI de fichier de package DBMS_CLOUD pour plus d'informations sur les URI pré-authentifiés Oracle Cloud Infrastructure.

Cet exemple montre comment créer les métadonnées de la collection SODA et importer une collection SODA avec Data Pump.

  1. Sur la base de données source, exportez la collection SODA à l'aide de la commande expdp d'Oracle Data Pump.
  2. Téléchargez le jeu de fichiers dump de l'étape 1 vers Cloud Object Storage.
  3. Créez une collection SODA avec les métadonnées de collection SODA requises sur votre instance Autonomous Database.

    Par exemple, si vous exportez une collection nommée MyCollectionName à partir de la base de données source avec les métadonnées suivantes :

    • La colonne de contenu est de type BLOB.

    • La colonne de version utilise la méthode SHA256.

    Ensuite, sur la base de données Autonomous Database dans laquelle vous importez la collection, créez une collection :

    • Par défaut sur Autonomous Database pour une nouvelle collection, la colonne de contenu est définie sur BLOB avec la valeur jsonFormat indiquée comme OSON.

    • Par défaut sur Autonomous Database pour une nouvelle collection, versionColumn.method est défini sur UUID.

    Pour plus d'informations, reportez-vous à Métadonnées de collection SODA par défaut sur Autonomous Database.

    Par exemple :

    
    DECLARE
       collection_create SODA_COLLECTION_T;
    BEGIN
       collection_create := DBMS_SODA.CREATE_COLLECTION('MyCollectionName');
    END;
    /
    COMMIT;

    Vous pouvez utiliser la fonction PL/SQL DBMS_SODA.LIST_COLLECTION_NAMES pour repérer les ensembles existants. Pour plus d'informations, reportez-vous à Fonction LIST_COLLECTION_NAMES.

    Vous pouvez visualiser les métadonnées des collections SODA en interrogeant la vue USER_SODA_COLLECTIONS. Pour plus d'informations, reportez-vous à USER_SODA_COLLECTIONS.

  4. Stockez vos informations d'identification de stockage d'objet cloud à l'aide de la procédure DBMS_CLOUD.CREATE_CREDENTIAL,

    Par exemple, pour créer des informations d'identification de jeton d'authentification Oracle Cloud Infrastructure, procédez comme suit :

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    Pour plus d'informations sur l'authentification par jeton d'authentification Oracle Cloud Infrastructure, reportez-vous à Procédure CREATE_CREDENTIAL.

    Par exemple, pour créer des informations d'identification basées sur la clé de signature Oracle Cloud Infrastructure :

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
           credential_name => 'DEF_CRED_NAME',
           user_ocid       => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
           tenancy_ocid    => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
           private_key     => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
           fingerprint     => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
    END;
    /

    Pour plus d'informations sur les informations d'identification basées sur la clé de signature Oracle Cloud Infrastructure, reportez-vous à Procédure CREATE_CREDENTIAL.

    Types d'informations d'identification pris en charge :

    • L'import Data Pump prend en charge les informations d'identification basées sur un jeton d'authentification Oracle Cloud Infrastructure et les informations d'identification basées sur une clé de signature Oracle Cloud Infrastructure.

      Pour plus d'informations sur les informations d'identification basées sur la clé de signature Oracle Cloud Infrastructure, reportez-vous à Procédure CREATE_CREDENTIAL.

    • Data Pump prend en charge l'utilisation d'une URL pré-authentifiée Oracle Cloud Infrastructure Object Storage pour le paramètre dumpfile. Lorsque vous utilisez une URL pré-authentifiée, vous devez indiquer le paramètre credential et la valeur credential peut être NULL. Pour plus d'informations, reportez-vous à Utilisation de demandes pré-authentifiées.
  5. Exécutez l'utilitaire d'import Data Pump avec le paramètre dumpfile défini sur la liste des URL de fichier dans Cloud Object Storage et le paramètre credential défini sur le nom des informations d'identification que vous avez créées à l'étape précédente.
    Remarque

    Importez les données de collecte à l'aide de l'option CONTENT=DATA_ONLY.

    Indiquez la collection à importer à l'aide du paramètre INCLUDE. Cela est utile si un jeu de fichiers de données contient l'ensemble du schéma et que la collection SODA que vous devez importer est incluse dans le jeu de fichiers dump.

    Utilisez REMAP_DATA pour modifier l'une des colonnes lors de l'import. Cet exemple montre comment utiliser REMAP_DATA pour remplacer la méthode de colonne de version SHA256 par UUID.

    impdp admin/password@db2022adb_high \       
         directory=data_pump_dir \       
         credential=def_cred_name \      
         dumpfile= https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/export%l.dmp \
         
         encryption_pwd_prompt=yes \
         SCHEMA=my_schema \
         INCLUDE=TABLE:\"= \'MyCollectionName\'\"  \
         CONTENT=DATA_ONLY \
         REMAP_DATA=my_schema.'\"MyCollectionName\"'.VERSION:SYS.DBMS_SODA.TO_UUID 
          
    

    Remarques concernant les paramètres Data Pump :

    • Si, pendant l'export avec expdp, vous avez utilisé le paramètre encryption_pwd_prompt=yes, utilisez encryption_pwd_prompt=yes et saisissez le même nom de passe à l'invite impdp que vous avez indiquée lors de l'export.

    • Le paramètre dumpfile prend en charge les caractères génériques %L et %l en plus des caractères génériques %U et %u hérités. Par exemple, dumpfile=export%L.dmp. Utilisez le caractère générique %L ou %l pour les exportations à partir d'Oracle Database version 12.2 et supérieure. Ce caractère générique étend le nom du fichier dump en un entier incrémentant de 3 à 10 chiffres, de largeur variable, commençant à 100 et se terminant à 2147483646.

      Utilisez le caractère générique hérité %U ou %u pour les exports à partir d'Oracle Database avant la version 12.2. Si vous utilisez cette option et que plus de 99 fichiers dump sont nécessaires, vous devez indiquer plusieurs noms de fichier dump, chacun avec le paramètre %U ou %u.

    Pour dumpfile, cet exemple utilise le format d'URI recommandé à l'aide des adresses dédiées OCI pour le domaine commercial (OC1). namespace-string est l'espace de noms du stockage d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Adresses dédiées Object Storage, à Régions et domaines de disponibilité et à Présentation des espaces de noms Object Storage.

    Dans Oracle Data Pump versions 19.6 et ultérieures, l'argument informations d'identification authentifie Oracle Data Pump auprès du service Cloud Object Storage que vous utilisez pour vos fichiers source. Le paramètre credential ne peut pas être un principal de service Azure, un nom de ressource Amazon (ARN) ou un compte de service Google. Pour plus d'informations sur l'authentification basée sur le principal de ressource, reportez-vous à Accès aux ressources cloud en configurant des stratégies et des rôles.

    L'argument dumpfile est une liste d'URL séparées par une virgule pour vos fichiers Data Pump.

    Pour des performances d'import optimales, utilisez le service de base de données HIGH pour la connexion d'import et définissez les paramètres parallel sur un quart du nombre d'ECPU (.25 x nombre d'ECPU). Si vous utilisez un modèle de calcul OCPU, définissez le paramètre parallèle sur le nombre d'OCPU (1 x nombre d'OCPU).

    Pour plus d'informations sur le nom du service de base de données à connecter pour exécuter l'import Data Pump, reportez-vous à Gestion de la simultanéité et des priorités sur Autonomous Database.

    Pour le format d'URL du fichier dump des différents services Cloud Object Storage, reportez-vous à Formats d'URI de fichier de package DBMS_CLOUD.

    Remarque

    Pour effectuer un import complet ou importer des objets appartenant à d'autres utilisateurs, vous devez disposer du rôle DATAPUMP_CLOUD_IMP.

    Pour plus d'informations sur les objets non autorisés dans Autonomous Database, reportez-vous à Commandes SQL.

    Dans cet exemple d'import, la spécification du paramètre REMAP_DATA utilise la fonction DBMS_SODA.TO_UUID pour générer des valeurs d'UUID. Par défaut, pour les bases de données sur site, la colonne de version d'une collection SODA est calculée à l'aide du hachage SHA-256 du contenu du document. Sur Autonomous Database, la colonne de version utilise des valeurs générées par UUID, qui sont indépendantes du contenu du document.

    Dans cet exemple, le paramètre REMAP_DATA utilise la fonction DBMS_SODA.TO_UUID pour remplacer le type de version de collection source par la gestion des versions d'UUID. Si dans l'ensemble de fichiers dump d'export que vous importez, versionColumn.method est déjà défini sur UUID, REMAP_DATA n'est pas requis pour ce champ.

    Pour obtenir des informations détaillées sur les paramètres de l'utilitaire d'import Oracle Data Pump, reportez-vous à Utilitaires Oracle Database.

Les fichiers journaux des opérations d'import Data Pump sont stockés dans le répertoire indiqué avec le paramètre DIRECTORY d'import Data Pump. Pour plus d'informations, reportez-vous à Accès au fichier journal pour l'import Data Pump.