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

Présente les étapes permettant d'importer des collections SODA dans Autonomous Database à l'aide d'Oracle Data Pump.

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

Téléchargez la dernière version d'Oracle Instant Client, qui comprend Oracle Data Pump, pour votre plate-forme à partir de la page Té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 sur 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 à Formats d'URI de fichier de package DBMS_CLOUD.

Si vous utilisez un URI pré authentifié Oracle Cloud Infrastructure, vous devez quand même 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 à DBMS_CLOUD Formats d'URI de fichier de package pour plus d'informations sur les URI pré-authentifiés Oracle Cloud Infrastructure.

Cet exemple montre comment créer des métadonnées de 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 Oracle Data Pump expdp.
  2. Téléchargez l'ensemble de fichiers dump de l'étape 1 vers le stockage d'objet cloud.
  3. Créez une collection SODA avec les métadonnées de collection SODA requises sur votre instance Autonomous Database.

    Par exemple, 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.

    Alors, sur l'instance Autonomous Database sur laquelle vous importez la collection, créez une collection :

    • Sur Autonomous Database, pour une nouvelle collection, la colonne de contenu est définie par défaut sur BLOB avec le format jsonFormat défini sur OSON.

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

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

    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 collections existantes. Pour plus d'informations, reportez-vous à Fonction LIST_COLLECTION_NAMES.

    Vous pouvez visualiser les métadonnées des collections SODA en demandant 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 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, procédez comme suit :

    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, indiquer que le paramètre credential est requis et que 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 sur Cloud Object Storage et le paramètre credential défini sur le nom des informations d'identification créées à l'étape précédente.
    Remarque

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

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

    Utilisez REMAP_DATA pour modifier des colonnes lors de l'import. Cet exemple illustre l'utilisation de 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 relatives aux 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 mot de passe que celui que vous avez indiqué lors de l'export à l'invite impdp.

    • 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 ou supérieure. Ce caractère générique étend le nom du fichier dump en un entier incrémentant de 3 chiffres à 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 exportations à partir d'Oracle Database antérieures à 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 de 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 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 de meilleures performances d'import, utilisez le service de base de données HIGH pour votre connexion d'import et définissez le paramètre parallel sur un quart du nombre d'ECPU (.25 x Nombre d'ECPU). Si vous utilisez un modèle de calcul d'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 auquel se connecter afin d'exécuter Data Pump Import, reportez-vous à Gestion des accès simultanés et des priorités sur Autonomous Database.

    Pour connaître le format d'URL de fichier dump pour différents services de stockage d'objet cloud, 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 les valeurs 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 les valeurs UUID générées, indépendamment 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 la collection source par la gestion des versions UUID. Si, dans l'ensemble de fichiers dump d'export que vous importez, le paramètre versionColumn.method est déjà défini sur UUID, la valeur REMAP_DATA de ce champ n'est pas requise.

    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 pour les opérations d'import Data Pump sont stockés dans le répertoire indiqué avec le paramètre d'import Data Pump DIRECTORY. Pour plus d'informations, reportez-vous à Accès au fichier journal pour l'import Data Pump.