Utilisation de l'image de conteneur gratuit Autonomous Database

Utilisez l'image de conteneur gratuit d'Autonomous Database pour exécuter Autonomous Database dans un conteneur de votre propre environnement, sans avoir besoin d'accéder à la console Oracle Cloud Infrastructure ou à Internet.

A propos de l'image de conteneur libre

Vous pouvez accéder à l'image de conteneur libre Autonomous Database à partir d'un référentiel et l'exécuter dans votre environnement local.

Autonomous 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 Autonomous Database à l'aide de la console Oracle Cloud Infrastructure, et vous connectez à votre base de données via le réseau Internet public ou via un réseau privé que vous avez configuré (en fonction de vos besoins en matière de sécurité et de configuration réseau).

Remarque

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

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

Licence d'image de conteneur gratuit Autonomous Database

Décrit les licences pour Autonomous Database Free Container Image.

L'image de conteneur libre Autonomous Database est soumise à licence.

L'image de conteneur que vous avez sélectionnée et tous les logiciels qu'elle contient font l'objet d'une licence en vertu des 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 gratuit Autonomous Database

L'image de conteneur libre Autonomous Database fournit de nombreuses fonctionnalités disponibles avec Autonomous Database Serverless.

  • Chaque image de conteneur libre fournit deux instances Autonomous Database, une instance avec le type de charge globale Data Warehouse et une instance avec le type de charge globale Transaction Processing.

  • La base de données sera démarrée avec le type de charge globale Transaction Processing ou Data Warehouse en fonction du type de charge globale indiqué 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 20 Go de stockage, et permet un maximum de 30 sessions de base de données simultanées.

  • Chaque image de conteneur libre prend en charge les groupes de destinataires Autonomous Database :

    • Charge globale d'entrepôt de données : vous connectez via les services HIGH, MEDIUM ou LOW.

    • Charge de Traitement des Transactions : Vous vous connectez via des services HIGH, MEDIUM, LOW, TP ou TPURGENT.

    Pour plus d'informations, reportez-vous à A propos des types de charge globale Autonomous Database.

  • Free Container Image prend en charge les outils de base de données intégrés suivants :

    • Database Actions

    • Oracle REST Data Services (ORDS)

    • Oracle APEX

    • API Oracle Database pour MongoDB

Recommandations et restrictions relatives aux images de conteneur gratuites Autonomous Database

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

Recommandations pour l'allocation des ressources pour l'image de conteneur libre

Voici l'allocation de ressources recommandée pour l'image de conteneur libre :

  • 4 UC

  • 8 Go de mémoire

Restrictions pour l'image de conteneur libre

  • Il n'existe aucune fenêtre d'application de patches ou de maintenance automatique pour l'image de conteneur libre. Le référentiel fournit la dernière version de l'image de conteneur libre. Consultez le référentiel pour rechercher les versions plus récentes de Free Container Image.

  • Les outils intégrés Autonomous Database suivants ne sont pas pris en charge :

    • Graph
    • Oracle Machine Learning
    • Transformations de données
  • Lorsqu'Autonomous Database est exécuté dans un conteneur, ce dernier fournit une instance Autonomous Database locale. L'image de conteneur n'inclut pas les fonctionnalités disponibles uniquement via la console Oracle Cloud Infrastructure ou les API. Certaines fonctionnalités disponibles dans la base de données et également disponibles via la console Oracle Cloud Infrastructure peuvent toujours être utilisées via des commandes dans la base de données, telles que la réinitialisation du mot de passe ADMIN. Voici la liste de certaines fonctions qui ne sont pas disponibles :

    Caractéristique Disponible ou non disponible
    Sauvegarde d'une instance Non disponible
    Choisir un jeu de caractères Non disponible
    Cloner une instance Non disponible
    Création d'un pool élastique Non disponible
    Clés gérées par le client Non disponible
    Changement de nom de base de données Non disponible
    Data Safe Non disponible
    Désactiver le redimensionnement automatique de calcul Non disponible
    Désactiver les outils de base de données intégrés Non disponible
    Désactiver le redimensionnement automatique du stockage Non disponible
    Options de récupération après sinistre, y compris Autonomous Data Guard et la récupération après sinistre basée sur la sauvegarde. Non disponible
    Télécharger le portefeuille Non disponible
    Activer les outils de base de données intégrés Non disponible
    Activer le redimensionnement automatique de calcul Non disponible
    Activer le redimensionnement automatique du stockage Non disponible
    Rejoindre un pool élastique Non disponible
    ACL de réseau Non disponible
    Evénements Oracle Cloud Infrastructure Non disponible
    Hub de performances Non disponible
    adresses privées Non disponible
    Real Application Testing Non disponible
    Authentification basée sur le principal de ressource Non disponible
    Redémarrer l'instance Non disponible
    Restauration d'une instance Non disponible
    Effectuer une rotation du portefeuille Non disponible
    Schéma échantillon Non disponible
    Réduction de l'UC et du stockage Non disponible
    Augmenter l'UC et le stockage Non disponible
    Sélection du niveau de patch d'instance Non disponible
    Démarrer l'instance Non disponible
    Arrêter l'instance Non disponible
    Remarque

    Lorsque vous exécutez Free Container Image dans un conteneur, vous pouvez démarrer une instance, l'arrêter ou la redémarrer en démarrant, en arrêtant ou en redémarrant le conteneur.

Emplacements du registre de conteneurs pour l'image de conteneur libre Autonomous Database

Vous pouvez obtenir l'image de conteneur gratuite Autonomous Database à plusieurs emplacements, notamment Oracle Cloud Infrastructure Registry (Container Registry) et GitHub.

Vous pouvez obtenir l'image de conteneur libre Autonomous Database à plusieurs emplacements. Les exemples présentés utilisent des commandes podman (pour plus d'informations, reportez-vous à Podman).

  1. Démarrez une machine virtuelle podman.
    Exemples :
    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 libre :

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

    Oracle Autonomous Database Serverless prend également en charge les images de conteneur 19c.
    • Pour les noms d'image de conteneur 19c, indiquez la balise latest en tant que version de base de données.

    • Dans l'exemple ci-dessus, pour extraire l'image de conteneur libre Autonomous Database 19c, utilisez la commande suivante dans la balise 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 d'informations supplémentaires, recherchez "Oracle Autonomous Database Free" sur Oracle Cloud Infrastructure Registry.

    GitHub Packages :

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

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

    Exemples :

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

Démarrer l'image du conteneur libre

Une fois que vous avez téléchargé l'image de conteneur gratuit Autonomous Database, vous pouvez démarrer l'image dans un conteneur.

La base de données sera démarrée avec le type de charge globale Transaction Processing ou Data Warehouse en fonction du type de charge globale indiqué.

  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 :

    • Autonomous Database Serverless prend également en charge les images de conteneur 19c.
      • Pour les noms d'image de conteneur 19c, indiquez la balise latest en tant que version de base de données.

      • Dans l'exemple ci-dessus, pour démarrer un conteneur afin d'exécuter l'image de conteneur libre Autonomous Database 19c, utilisez la commande suivante dans la balise 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, en fonction de la valeur WORKLOAD_TYPE transmise. Si vous voulez un nom de base de données différent de celui par défaut, vous pouvez éventuellement 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, le fichier MY<WORKLOAD_TYPE>.pdb correspondant est téléchargé et connecté à partir d'un bucket Object Storage public.

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

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

    • Vérifiez les exigences suivantes lorsque vous créez ou modifiez le fichier ADMIN_PASSWORD :
      • Le mot de passe doit comporter entre 12 et 30 caractères, et doit inclure au moins une lettre majuscule, une lettre minuscule et un caractère numérique.
      • Le mot de passe ne peut pas contenir le nom utilisateur.
    • Vérifiez les exigences suivantes lorsque vous créez ou modifiez le fichier 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 fonctionnalité SYS_ADMIN. En outre, le périphérique virtuel /dev/fuse doit être accessible.

    • Les options -p indiquent 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 proxy d'entreprise, incluez les options -e afin de spécifier les variables d'environnement pour les proxies. 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 à des fins pratiques :

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

Commandes disponibles

Vous pouvez afficher 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 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 libre est exécutée dans un conteneur, vous pouvez vous connecter à une instance Autonomous Database.

Pour vous connecter à une instance Autonomous Database exécutée dans un conteneur, vous pouvez configurer le portefeuille et vous connecter ou utiliser une connexion sans portefeuille TLS.

Connexion à ORDS, APEX ou Database Actions à partir d'une image de conteneur Autonomous Database

Le conteneur hostname est utilisé pour générer des certificats SSL autosignés afin de traiter le trafic HTTPS sur le port 8443. Oracle APEX et Database Actions sont accessibles à l'aide de l'hôte de conteneur (ou simplement localhost).

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

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 Autonomous Database

Vous pouvez utiliser l'un des alias suivants pour vous connecter à une image de conteneur Autonomous Database.

Tableau 3-18 Alias TNS disponibles

Protocole Charge globale de traitement des transactions Charge globale d'entrepôt 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. Pour plus d'informations sur les noms de service dans tnsnames.ora, reportez-vous à Gestion des accès simultanés et des priorités sur Autonomous Database.

Connexion à une image de conteneur Autonomous Database avec un portefeuille

Décrit les étapes de connexion à une image de conteneur Autonomous Database avec un portefeuille.

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

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

    Lorsque vous démarrez le conteneur, Autonomous 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

    Cette opération copie le portefeuille dans le dossier : /scratch/tls_wallet.

  2. Définissez la valeur de la variable d'environnement TNS_ADMIN sur le répertoire de portefeuille.

    Exemples :

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

    Exemples :

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

    Par exemple, utilisez sqlplus pour vous connecter à l'instance Autonomous Database de charge globale de traitement des transactions :

    sqlplus admin/password@myatp_low_tls

    Par exemple, utilisez sqlplus pour vous connecter à l'instance Autonomous Database de charge globale d'entrepôt de données :

    sqlplus admin/password@myadw_low_tls

Connexion à une image de conteneur Autonomous Database sans portefeuille (TLS)

Décrit les étapes de connexion à une image de conteneur Autonomous Database sans portefeuille (TLS).

Pour vous connecter sans portefeuille, vous devez mettre à jour le truststore 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 truststore système.

    Exemples :

    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 Database.

    Par exemple, utilisez sqlplus pour vous connecter à l'instance Autonomous Database de charge globale de traitement des transactions :

    sqlplus admin/password@myatp_low

    Par exemple, utilisez sqlplus pour vous connecter à l'instance Autonomous Database de charge globale d'entrepôt de données :

    sqlplus admin/password@myadw_low

Migration de données entre des conteneurs gratuits Autonomous Database

Lorsqu'une nouvelle version de l'image de conteneur libre est disponible, vous pouvez migrer des 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éer un volume podman.

    Exemples :

    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 sur /u01/data dans le conteneur.

    Exemples :

    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
    Remarque

    Autonomous Database Serverless prend également en charge les images de conteneur 19c.
    • Pour les noms d'image de conteneur 19c, indiquez la balise latest en tant que version de base de données.

    • Dans l'exemple ci-dessus, pour démarrer l'image de conteneur libre Autonomous Database 19c, utilisez la commande suivante dans la balise 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 de app_user vers le volume de 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 le travail d'export 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'export.

    Répertoriez les fichiers dans le conteneur /u01/data.

    podman exec -it source_adb_container bash
    cd /u01/data

    Vérifiez le journal d'export (export log), recherchez les erreurs éventuelles et réalisez l'opération.

  7. Arrêtez et enlevez le conteneur source.
    podman stop source_adb_container
    podman rm source_adb_container
    Remarque

    Le fichier 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 sur /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 des données dans le conteneur de destination.

    Connectez-vous en tant que ADMIN et créez le 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'import.
    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'import.
  12. Vérifiez les données d'importation.