Utiliser l'image de conteneur gratuite de base de données d'IA autonome

Utilisez l'image de conteneur gratuite de base de données d'IA autonome pour exécuter une base de données d'IA autonome dans un conteneur de votre propre environnement, sans avoir besoin d'accéder à la console Oracle Cloud Infrastructure ou à Internet.

À propos de l'image de conteneur libre

Vous pouvez accéder à l'image de conteneur libre de base de données d'IA autonome à partir d'un référentiel et l'exécuter dans votre environnement local.

Autonomous AI Database fournit une base de données Oracle Database entièrement gérée, disponible sur Oracle Cloud Infrastructure. Sur Oracle Cloud Infrastructure, vous effectuez des opérations de gestion du cycle de vie et exécutez une base de données autonome avec intelligence artificielle à l'aide de la console Oracle Cloud Infrastructure. Vous vous connectez à votre base de données au moyen du réseau Internet public ou d'un réseau privé que vous configurez (selon la configuration de votre réseau et vos besoins en matière de sécurité).

Note

Autonomous AI Database prend en charge les versions Oracle Autonomous AI Database Free Container Image 19c et Oracle Autonomous AI Database Free Container Image 26ai.

L'image de conteneur gratuit de base de données d'IA autonome offre une alternative à l'exécution d'une base de données d'IA autonome dans un conteneur dans votre propre environnement, sans avoir besoin d'accéder à la console Oracle Cloud Infrastructure ou à Internet. Lorsque vous exécutez Autonomous AI Database dans un conteneur, le conteneur fournit un environnement local et isolé avec des options supplémentaires pour le développement, les tests et l'exploration des fonctions d'Oracle Autonomous AI Database.

Licence d'image de conteneur sans base de données d'IA autonome

Décrit l'octroi de licences pour l'image de conteneur sans base de données d'IA autonome.

L'image Autonomous AI Database Free Container est soumise à une licence.

L'image de conteneur que vous avez sélectionnée et tous les logiciels qu'elle contient font l'objet d'une licence sous Conditions générales d'utilisation gratuite d'Oracle fournies dans l'image de conteneur. Votre utilisation du conteneur est soumise aux conditions de ces licences.

Fonctionnalités d'image de conteneur sans base de données d'IA autonome

L'image de conteneur gratuit de base de données d'IA autonome fournit de nombreuses fonctions disponibles avec Autonomous AI Database Serverless.

  • Chaque image de conteneur gratuit fournit deux instances de base de données autonome d'IA, une instance avec le type de charge de travail Entrepôt avec lac de données et une instance avec le type de charge de travail Traitement de transactions.

  • La base de données sera démarrée avec le type de charge de travail Traitement des transactions ou avec le type de charge de travail Entrepôt avec lac de données en fonction du type de charge de travail que vous spécifiez au démarrage.

  • Vous pouvez effectuer des opérations de base de données à l'aide de l'utilitaire de ligne de commande adb-cli.

  • L'allocation de ressources Free Container Image est de 4 ECPU et de 20 Go de stockage, et permet un maximum de 30 sessions de base de données simultanées.

  • Chaque image de conteneur gratuite prend en charge les groupes de consommateurs de base de données Autonomous AI Database :

    • Charge de travail d'entrepôt avec lac de données : Vous vous connectez au moyen de services ÉLEVÉS, MOYENS ou FAIBLES

    • Charge de travail liée au traitement des transactions : Vous vous connectez au moyen des services HAUT, MOYEN, FAIBLE, TP ou TPURGENT

    Pour plus d'informations, voir À propos des types de charge de travail de base de données d'IA autonome.

  • L'image de conteneur gratuite prend en charge les outils de base de données intégrés suivants :

    • Database Actions

    • Services de données Oracle REST (ORDS)

    • Oracle APEX

    • API Oracle Database pour MongoDB

Recommandations et restrictions relatives aux images de conteneur sans base de données d'IA autonome

Décrit les exigences et les restrictions pour Free Container Image.

Recommandations pour l'affectation de ressources pour une image de conteneur gratuite

Voici l'affectation de ressources recommandée pour l'image de conteneur gratuit :

  • 4 CPU

  • 8 Go de mémoire

Restrictions pour l'image de conteneur libre

  • Il n'y a aucune fenêtre d'application automatique de correctifs ou de maintenance pour l'image de conteneur libre. Le référentiel fournit la dernière version de l'image de conteneur gratuite. Consultez le référentiel pour trouver les nouvelles versions de Free Container Image.

  • Les outils intégrés de base de données d'IA autonome suivants ne sont pas pris en charge :

    • Graphe
    • Oracle Machine Learning
    • Transformations de données
  • Lorsque la base de données d'IA autonome s'exécute dans un conteneur, le conteneur fournit une instance de base de données d'IA autonome locale. L'image de conteneur n'inclut pas les fonctions qui ne sont disponibles qu'au moyen de la console Oracle Cloud Infrastructure ou des API. Certaines fonctions disponibles dans la base de données et également disponibles au moyen de la console Oracle Cloud Infrastructure peuvent toujours être utilisées au moyen de commandes dans la base de données, telles que la réinitialisation du mot de passe ADMIN. Voici la liste de certaines des fonctions qui ne sont pas disponibles :

    Fonction Disponible ou non disponible
    Sauvegarder une instance Non disponible
    Sélectionner un jeu de caractères Non disponible
    Cloner une instance Non disponible
    Créer un groupe élastique Non disponible
    Clés gérées par le client Non disponible
    Renommer la base de données Non disponible
    Sécurité des données Non disponible
    Désactiver l'ajustement automatique du calcul Non disponible
    Désactiver les outils de base de données intégrés Non disponible
    Désactiver l'ajustement automatique du stockage Non disponible
    Options de récupération après sinistre, notamment Autonomous Data Guard et la récupération après sinistre basée sur une sauvegarde. Non disponible
    Télécharger le portefeuille Non disponible
    Activer les outils de base de données intégrés Non disponible
    Activer l'ajustement automatique du calcul Non disponible
    Activer l'ajustement automatique du stockage Non disponible
    Rejoindre un groupe élastique Non disponible
    Listes de contrôle d'accès de réseau Non disponible
    Événements Oracle Cloud Infrastructure Non disponible
    Centre de performance Non disponible
    Points d'extrémité privés Non disponible
    Real Application Testing Non disponible
    Authentification basée sur le principal de ressource Non disponible
    Redémarrer l'instance Non disponible
    Restaurer une instance Non disponible
    Effectuer une rotation de portefeuille Non disponible
    Exemple de schéma Non disponible
    Redimensionner l'UC et le stockage Non disponible
    Augmenter l'UC et le stockage Non disponible
    Sélection du niveau de correctif de l'instance Non disponible
    Démarrer l'instance Non disponible
    Arrêter l'instance Non disponible
    Note

    Lorsque vous exécutez l'image de conteneur libre dans un conteneur, vous pouvez démarrer une instance, arrêter une instance ou redémarrer une instance en démarrant, en arrêtant ou en redémarrant le conteneur.

Emplacements de registre de conteneurs pour l'image de conteneur sans base de données d'intelligence artificielle autonome

Vous pouvez obtenir une image conteneur gratuite de base de données du service d'intelligence artificielle autonome dans plusieurs emplacements, notamment : Oracle Cloud Infrastructure Registry (Container Registry) et GitHub.

Vous pouvez obtenir l'image de conteneur gratuit de base de données d'IA autonome dans plusieurs emplacements. Les exemples présentés utilisent les commandes podman (voir Podman pour plus d'informations).

  1. Démarrez une machine virtuelle podman.
    Exemple :
    podman machine init 
    podman machine set --cpus 4 --memory 8192 
    podman machine start 
  2. Obtenez l'image du conteneur libre.

    Oracle Cloud Infrastructure Registry :

    Par exemple, utilisez la commande podman pour extraire la dernière image de conteneur gratuit :

    podman pull container-registry.oracle.com/database/adb-free:latest-23ai
    Note

    Oracle Autonomous AI Database Serverless prend également en charge les images de conteneur 19c.
    • Pour les noms d'image de conteneur 19c, spécifiez le marqueur latest comme version de la base de données.

    • Dans l'exemple ci-dessus, pour extraire l'image de conteneur gratuite Autonomous AI Database 19c, utilisez la commande suivante dans le marqueur de nom d'image :
      podman pull container-registry.oracle.com/database/adb-free:latest

    Dans tout le document, la balise de nom d'image fait référence à la version latest-23ai.

    Pour plus de détails et des informations supplémentaires, recherchez "Oracle Autonomous AI Database Free" dans Oracle Cloud Infrastructure Registry.

    GitHub Ensembles :

    Par exemple, utilisez la commande podman pour extraire l'image de conteneur libre de : GitHub Packages :

    podman pull ghcr.io/oracle/adb-free:latest-23ai
  3. Vérifiez l'image.

    Exemple :

    podman images container-registry.oracle.com/database/adb-free:latest-23ai

Démarrer une image de conteneur gratuite

Après avoir téléchargé l'image de conteneur gratuite de base de données d'intelligence artificielle autonome, vous pouvez démarrer l'image dans un conteneur.

La base de données sera démarrée avec le type de charge de travail Traitement des transactions ou le type de charge de travail Entrepôt avec lac de données en fonction du type de charge de travail que vous spécifiez.

  1. Démarrez un conteneur pour exécuter Free Container Image.

    Par exemple, avec podman :

    podman run -d \
    -p 1521:1522 \
    -p 1522:1522 \
    -p 8443:8443 \
    -p 27017:27017 \
    -e WORKLOAD_TYPE='ATP' \
    -e WALLET_PASSWORD=*** \
    -e ADMIN_PASSWORD=*** \
    --cap-add SYS_ADMIN \
    --device /dev/fuse \
    --name adb-free \
    container-registry.oracle.com/database/adb-free:latest-23ai

    Notes de commande :

    • La solution Autonomous AI Database sans serveur prend également en charge les images de conteneur 19c.
      • Pour les noms d'image de conteneur 19c, spécifiez le marqueur latest comme version de la base de données.

      • Dans l'exemple ci-dessus, pour démarrer un conteneur pour exécuter l'image de conteneur libre Autonomous AI Database 19c, utilisez la commande suivante dans le marqueur de nom d'image :
        container-registry.oracle.com/database/adb-free:latest
    • Dans tout le document, la balise de nom d'image fait référence à la version latest-23ai.

    • WORKLOAD_TYPE peut être ATP ou ADW. La valeur par défaut est ATP.

    • Par défaut, la base de données est nommée MYATP ou MYADW, selon la valeur WORKLOAD_TYPE transmise. Facultativement, si vous voulez un nom de base de données différent de celui par défaut, vous pouvez définir le paramètre DATABASE_NAME. Le nom de la base de données ne peut contenir que des caractères alphanumériques.

    • Au démarrage du conteneur, MY<WORKLOAD_TYPE>.pdb correspondant est téléchargé et connecté à partir d'un seau de stockage d'objets public.

    • Le portefeuille est généré à l'aide de WALLET_PASSWORD fourni.

    • Il est nécessaire de modifier ADMIN_PASSWORD lors de la connexion initiale.

    • Assurez-vous de vérifier les exigences suivantes lorsque vous créez ou modifiez ADMIN_PASSWORD :
      • Le mot de passe doit comporter entre 12 et 30 caractères et contenir au moins un caractère numérique, une majuscule et une minuscule.
      • Le mot de passe ne doit pas contenir le nom d'utilisateur.
    • Assurez-vous de vérifier les exigences suivantes lorsque vous créez ou modifiez WALLET_PASSWORD :
      • Le mot de passe doit comporter entre 8 et 30 caractères et inclure des caractères alphabétiques combinés à des caractères numériques ou spéciaux.
    • Pour un montage OFS, le conteneur commence par la capacité SYS_ADMIN. En outre, le périphérique virtuel /dev/fuse doit être accessible.

    • Ces options -p spécifient que les ports suivants sont transférés au processus de conteneur :

      Port Description
      1 521 TLS
      1 522 mTLS
      8 443 Port HTTPS pour ORDS / APEX et Database Actions
      27 017 API Mongo

    Si vous êtes derrière un mandataire d'entreprise, incluez les options -e pour spécifier les variables d'environnement pour les mandataires. Par exemple, avec podman :

    podman run -d \
    -p 1521:1522 \
    -p 1522:1522 \
    -p 8443:8443 \
    -p 27017:27017 \
    -e WORKLOAD_TYPE='ATP' \
    -e WALLET_PASSWORD=*** \
    -e ADMIN_PASSWORD=*** \
    -e http_proxy=http://example-corp-proxy.com:80/ \
    -e https_proxy=http://example-corp-proxy.com:80/ \
    -e no_proxy=localhost,127.0.0.1 \
    -e HTTP_PROXY=http://example-corp-proxy.com:80/  \
    -e HTTPS_PROXY=http://example-corp-proxy.com:80/  \
    -e NO_PROXY=localhost,127.0.0.1 \
    --cap-add SYS_ADMIN \
    --device /dev/fuse \
    --name adb-free \
    container-registry.oracle.com/database/adb-free:latest-23ai

Effectuer des opérations de base de données à l'aide de adb-cli

L'utilitaire de ligne de commande adb-cli peut être utilisé pour effectuer des opérations de base de données une fois le conteneur en cours d'exécution.

Pour utiliser adb-cli, vous pouvez définir l'alias suivant pour plus de commodité :

alias adb-cli="podman exec <container_name> adb-cli"

Commandes disponibles

Vous pouvez voir la liste des commandes disponibles à l'aide de la commande suivante :

adb-cli --help 
Usage: adb-cli [OPTIONS] COMMAND [ARGS]... 
    ADB-S Command Line Interface (CLI) to perform container-runtime database operations 
Options: 
    -v, --version Show the version and exit. 
    --help Show this message and exit. 
Commands: 
    add-database 
    change-password 

Ajouter une base de données

Vous pouvez ajouter une base de données à l'aide de la commande suivante :

adb-cli add-database --workload-type "ATP" --admin-password "Welcome_MY_ATP_1234" 

Modifier le mot de passe

Vous pouvez modifier le mot de passe de l'administrateur à l'aide de la commande suivante :

adb-cli change-password --database-name "MYATP" 
    --old-password "Welcome_MY_ATP_1234" --new-password "Welcome_12345"

Se connecter à une image de conteneur libre

Lorsque l'image de conteneur gratuit s'exécute dans un conteneur, vous pouvez vous connecter à une instance de base de données du service d'intelligence artificielle autonome.

Pour vous connecter à une instance de base de données du service d'intelligence artificielle autonome s'exécutant dans un conteneur, vous pouvez configurer le portefeuille et vous connecter ou utiliser une connexion sans portefeuille TLS.

Se connecter à ORDS, APEX ou Database Actions à partir d'une image de conteneur de base de données d'intelligence artificielle autonome

Le conteneur hostname est utilisé pour générer des certificats SSL auto-signés pour desservir le trafic HTTPS sur le port 8443. Vous pouvez accéder à Oracle APEX et à Database Actions à l'aide de l'hôte du conteneur (ou simplement à localhost).

Application URL
Oracle APEX https://localhost:8443/ords/apex
Database Actions https://localhost:8443/ords/sql-developer
Note

Pour les bases de données supplémentaires connectées à l'aide de la commande adb-cli add-database, utilisez les formats d'URL https://localhost:8443/ords/{database_name}/apex et https://localhost:8443/ords/{database_name}/sql-developer pour accéder respectivement à APEX et à Database Actions.

Alias TNS disponibles pour la connexion à une image de conteneur de base de données d'IA autonome

Vous pouvez utiliser l'un des alias suivants pour vous connecter à une image de conteneur de base de données d'intelligence artificielle autonome.

Tableau 3-18 Alias TNS disponibles

Protocole Charge de travail de traitement des transactions Charge de travail de l'entrepôt avec lac de données
mTLS
  • myatp_medium
  • myatp_high
  • myatp_low
  • myatp_tp
  • myatp_tpurgent
  • myadw_medium
  • myadw_high
  • myadw_low
TLS
  • myatp_medium_tls
  • myatp_high_tls
  • myatp_low_tls
  • myatp_tp_tls
  • myatp_tpurgent_tls
  • myadw_medium_tls
  • myadw_high_tls
  • myadw_low_tls

Les mappages d'alias TNS pour ces chaînes de connexion se trouvent dans $TNS_ADMIN/tnsnames.ora. Voir Gérer les accès simultanés et les priorités dans Autonomous AI Database pour plus d'informations sur les noms de service dans tnsnames.ora.

Se connecter à une image de conteneur de base de données d'intelligence artificielle autonome avec un portefeuille

Décrit les étapes de connexion à une image de conteneur de base de données d'intelligence artificielle autonome avec un portefeuille.

Pour configurer un "wallet" et vous connecter, procédez comme suit :

  1. Copiez le portefeuille généré sur votre hôte.

    Lorsque vous démarrez le conteneur, Autonomous AI Database génère un portefeuille dans /u01/app/oracle/wallets/tls_wallet.

    Par exemple, copiez le portefeuille généré dans le dossier local /scratch/tls_wallet :

    podman cp adb-free:/u01/app/oracle/wallets/tls_wallet /scratch/tls_wallet

    Le portefeuille est alors copié dans le dossier : /scratch/tls_wallet.

  2. Réglez la valeur de la variable d'environnement TNS_ADMIN au répertoire de portefeuille.

    Exemple :

    export TNS_ADMIN=/scratch/tls_wallet
  3. Si vous voulez vous connecter à un hôte distant sur lequel l'image de conteneur gratuit est exécutée, remplacez localhost dans $TNS_ADMIN/tnsnames.ora par le nom de domaine complet de l'hôte distant.

    Exemple :

    sed -i 's/localhost/example.com/g' $TNS_ADMIN/tnsnames.ora
  4. Connectez-vous à l'instance Autonomous AI Database.

    Par exemple, utilisez sqlplus pour vous connecter à l'instance de base de données d'intelligence artificielle autonome de charge de travail Traitement des transactions :

    sqlplus admin/password@myatp_low_tls

    Par exemple, utilisez sqlplus pour vous connecter à l'instance de base de données d'IA autonome de charge de travail Lakehouse :

    sqlplus admin/password@myadw_low_tls

Se connecter à une image de conteneur de base de données d'intelligence artificielle autonome sans portefeuille (TLS)

Décrit les étapes de connexion à une image de conteneur de base de données du service d'intelligence artificielle autonome sans portefeuille (TLS).

Pour vous connecter sans portefeuille, vous devez mettre à jour le magasin de certificats SSL de votre client avec le certificat auto-signé généré au démarrage du conteneur.

Effectuez les étapes suivantes pour configurer une connexion TLS et vous connecter.

  1. Copiez /u01/app/oracle/wallets/tls_wallet/adb_container.cert à partir du conteneur et mettez à jour le magasin de certificats SSL du système.

    Exemple :

    podman cp adb-free:/u01/app/oracle/wallets/tls_wallet/adb_container.cert adb_container.cert  
    sudo cp adb_container.cert /etc/pki/ca-trust/source/anchors 
    sudo update-ca-trust 
  2. Connectez-vous à l'instance Autonomous AI Database.

    Par exemple, utilisez sqlplus pour vous connecter à l'instance de base de données autonome d'IA de charge de travail de traitement des transactions :

    sqlplus admin/password@myatp_low

    Par exemple, utilisez sqlplus pour vous connecter à l'instance de base de données d'intelligence artificielle autonome de charge de travail d'entrepôt de données :

    sqlplus admin/password@myadw_low

Migrer des données entre des conteneurs gratuits pour Autonomous AI Database

Lorsqu'une nouvelle version de l'image de conteneur gratuit est disponible, vous pouvez migrer les données d'un conteneur vers un autre conteneur.

Par exemple, utilisez les données existantes que vous avez créées dans un conteneur en migrant ces données vers la dernière version de Free Container Image lorsqu'une nouvelle mise à jour est disponible.

  1. Créez un volume podman.

    Exemple :

    podman volume create adb_container_volume
  2. Vérifiez le point de montage du volume.

    Le point de montage est un emplacement de répertoire géré par podman.

    podman inspect adb_container_volume
     
    [
         {
              "Name": "adb_container_volume",
              "Driver": "local",
              "Mountpoint": "/share/containers/storage/volumes/adb_container_volume/_data",
              "CreatedAt": "2023-09-11T21:23:34.305877073Z",
              "Labels": {},
              "Scope": "local",
              "Options": {},
              "MountCount": 0,
              "NeedsCopyUp": true,
              "NeedsChown": true
         }
    ]
  3. Démarrez le conteneur source et montez le volume à /u01/data dans le conteneur.

    Exemple :

    podman run -d \
    -p 1521:1522 \
    -p 1522:1522 \
    -p 8443:8443 \
    -p 27017:27017 \
    -e WORKLOAD_TYPE='ATP' \
    -e WALLET_PASSWORD=*** \
    -e ADMIN_PASSWORD=*** \
    --cap-add SYS_ADMIN \
    --device /dev/fuse \
    --name source_adb_container \
    --volume adb_container_volume:/u01/data \
    container-registry.oracle.com/database/adb-free:latest-23ai
    Note

    La solution Autonomous AI Database sans serveur prend également en charge les images de conteneur 19c.
    • Pour les noms d'image de conteneur 19c, spécifiez le marqueur latest comme version de la base de données.

    • Dans l'exemple ci-dessus, pour démarrer l'image de conteneur gratuite Autonomous AI Database 19c, utilisez la commande suivante dans le marqueur de nom d'image :
      container-registry.oracle.com/database/adb-free:latest

    Dans tout le document, la balise de nom d'image fait référence à la version latest-23ai.

  4. Cet exemple suppose que vous avez déjà créé vos données dans le schéma app_user.
  5. Exportez les données du schéma app_user vers le volume conteneur.
    1. Connectez-vous en tant que ADMIN et créez un répertoire ORA_EXP_DIR pointant vers /u01/data.
      sqlplus admin/**************@myadw_high
       
      SQL> exec DBMS_CLOUD_CONTAINER_ADMIN.create_export_directory('/u01/data');
      
      SQL> select directory_path from dba_directories where directory_name='ORA_EXP_DIR';
      
      DIRECTORY_PATH
      --------------------------------------------------------------------------------
      /u01/data
    2. Exécutez la tâche d'exportation en mode schéma et pour les schémas ADMIN et APP_USER.
      SET scan off
      SET serveroutput ON
      SET escape off
        
      DECLARE
          h1 NUMBER;
          s VARCHAR2(1000):=NULL;
          errorvarchar VARCHAR2(100):= 'ERROR';
          tryGetStatus NUMBER := 0;
          success_with_info EXCEPTION;
          PRAGMA EXCEPTION_INIT(success_with_info, -31627);
      BEGIN
          h1 := dbms_datapump.OPEN(operation => 'EXPORT', job_mode => 'SCHEMA', job_name => 'EXPORT_MY_ADW_4', version => 'COMPATIBLE');
          tryGetStatus := 1;
          dbms_datapump.add_file(handle => h1, filename => 'EXPORT_MY_ADW.LOG', directory => 'ORA_EXP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
          dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', VALUE => 'IN(''ADMIN'', ''APP_USER'')');
          dbms_datapump.add_file(handle => h1, filename => 'MY_ADW_%L.DMP', directory => 'ORA_EXP_DIR', filesize => '500M',  filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE);
          dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
          dbms_datapump.detach(handle => h1);
          errorvarchar := 'NO_ERROR';
      EXCEPTION
          WHEN OTHERS THEN
          BEGIN
              IF ((errorvarchar = 'ERROR')AND(tryGetStatus=1)) THEN
                  DBMS_DATAPUMP.DETACH(h1);
              END IF;
          EXCEPTION
          WHEN OTHERS THEN
              NULL;
          END;
          RAISE;
      END;
      /
  6. Vérifiez l'exportation.

    Listez les fichiers dans le conteneur /u01/data.

    podman exec -it source_adb_container bash
    cd /u01/data

    Vérifiez le journal d'exportation (export log), les erreurs éventuelles et l'achèvement réussi.

  7. Arrêtez et supprimez le conteneur source.
    podman stop source_adb_container
    podman rm source_adb_container
    Note

    adb_container_volume sera actif lors des redémarrages et des suppressions de conteneur
  8. Démarrez un conteneur de destination qui monte le même volume à /u01/data dans le conteneur.
    podman run -d \
    -p 1521:1522 \
    -p 1522:1522 \
    -p 8443:8443 \
    -p 27017:27017 \
    -e WORKLOAD_TYPE='ATP' \
    -e WALLET_PASSWORD=*** \
    -e ADMIN_PASSWORD=*** \
    --cap-add SYS_ADMIN \
    --device /dev/fuse \
    --name dest_adb_container \
    --volume adb_container_volume:/u01/data \
    container-registry.oracle.com/database/adb-free:latest-23ai
  9. Importer les données dans le conteneur de destination.

    Connectez-vous en tant que ADMIN et créez un répertoire ORA_EXP_DIR pointant vers /u01/data.

    SQL> exec DBMS_CLOUD_CONTAINER_ADMIN.create_export_directory('/u01/data');
     
    PL/SQL procedure successfully completed.
     
    SQL> select directory_path from dba_directories where directory_name='ORA_EXP_DIR';
     
    DIRECTORY_PATH
    --------------------------------------------------------------------------------
    /u01/data
  10. Exécutez les commandes PL/SQL d'importation.
    SET scan off
    SET serveroutput ON
    SET escape off
      
    DECLARE
        h1 NUMBER;
        s VARCHAR2(1000):=NULL;
        errorvarchar VARCHAR2(100):= 'ERROR';
        tryGetStatus NUMBER := 0;
        success_with_info EXCEPTION;
        PRAGMA EXCEPTION_INIT(success_with_info, -31627);
    BEGIN
        h1 := dbms_datapump.OPEN(operation => 'IMPORT', job_mode => 'SCHEMA', job_name => 'IMPORT_MY_ADW_4', version => 'COMPATIBLE');
        tryGetStatus := 1;
        dbms_datapump.add_file(handle => h1, filename => 'IMPORT_MY_ADW.LOG', directory => 'ORA_EXP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
        dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', VALUE => 'IN(''ADMIN'', ''APP_USER'')');
        dbms_datapump.add_file(handle => h1, filename => 'MY_ADW_%L.DMP', directory => 'ORA_EXP_DIR', filesize => '500M',  filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE);
        dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
        dbms_datapump.detach(handle => h1);
        errorvarchar := 'NO_ERROR';
    EXCEPTION
        WHEN OTHERS THEN
        BEGIN
            IF ((errorvarchar = 'ERROR')AND(tryGetStatus=1)) THEN
                DBMS_DATAPUMP.DETACH(h1);
            END IF;
        EXCEPTION
        WHEN OTHERS THEN
            NULL;
        END;
        RAISE;
    END;
    /
  11. Vérifiez le journal d'importation.
  12. Vérifiez les données d'importation.