Usar a Imagem do Contêiner Grátis para o Autonomous Database

Use a Imagem de Contêiner Grátis do Autonomous Database para executar o Autonomous Database em um contêiner em seu próprio ambiente, sem exigir acesso à Console do Oracle Cloud Infrastructure ou à internet.

Sobre a Imagem do Contêiner Grátis

Você pode acessar a Imagem de Contêiner Grátis do Autonomous Database em um repositório e executá-la em seu ambiente local.

O Autonomous Database fornece um Oracle Database totalmente gerenciado que está disponível no Oracle Cloud Infrastructure. No Oracle Cloud Infrastructure, você executa operações de gerenciamento do ciclo de vida e executa o Autonomous Database usando a Console do Oracle Cloud Infrastructure e se conecta ao seu banco de dados por meio da internet pública ou por meio de uma rede privada que você configura (dependendo das suas necessidades de configuração e segurança de rede).

Observação

O Autonomous Database suporta as versões Free Container Image 19c e Oracle Autonomous Database Free Container Image 23ai do Oracle Autonomous Database.

A Imagem de Contêiner Grátis do Autonomous Database fornece uma alternativa para executar o Autonomous Database em um contêiner em seu próprio ambiente, sem exigir acesso à Console do Oracle Cloud Infrastructure ou à internet. Quando você executa o Autonomous Database em um contêiner, o contêiner fornece um ambiente local isolado com opções adicionais para desenvolvimento, teste e exploração dos recursos do Oracle Autonomous Database.

Licença da Imagem do Contêiner Grátis do Autonomous Database

Descreve o licenciamento da Imagem de Contêiner Grátis do Autonomous Database.

O Autonomous Database Free Container Image está sujeito a licenciamento.

A imagem do contêiner que você selecionou e todo o software que ela contém está licenciado sob os Termos e Condições de Uso Livre da Oracle fornecidos na imagem do contêiner. Seu uso do contêiner está sujeito aos termos dessas licenças.

Recursos da Imagem do Contêiner Grátis do Autonomous Database

A Imagem do Contêiner Grátis do Autonomous Database fornece muitos dos recursos disponíveis com o Autonomous Database Serverless.

  • Cada Imagem de Contêiner Grátis fornece duas instâncias do Autonomous Database, uma instância com o tipo de carga de trabalho Data Warehouse e outra instância com o tipo de carga de trabalho Processamento de Transações.

  • O banco de dados será iniciado com o tipo de carga de trabalho Processamento de Transações ou o tipo de carga de trabalho Data Warehouse com base no tipo de carga de trabalho especificado durante a inicialização.

  • Você pode executar operações de banco de dados usando o utilitário de linha de comando adb-cli.

  • A alocação de recursos Free Container Image é de 4 ECPUs e 20 GB de armazenamento e permite no máximo 30 sessões simultâneas de banco de dados.

  • Cada Imagem de Contêiner Grátis suporta os grupos de consumidores do Autonomous Database:

    • Carga de trabalho do Data Warehouse: Você se conecta por meio de serviços HIGH, MEDIUM ou LOW

    • Carga de trabalho de Processamento de Transações: Você se conecta por meio de serviços HIGH, MEDIUM, LOW, TP ou TPURGENT

    Consulte Sobre Tipos de Carga de Trabalho do Autonomous Database para obter mais informações.

  • O Free Container Image fornece suporte para as seguintes ferramentas de banco de dados incorporadas:

    • Database Actions

    • Oracle REST Data Services (ORDS)

    • Oracle APEX

    • Oracle Database API for MongoDB

Recomendações e Restrições de Imagem de Contêiner Grátis do Autonomous Database

Descreve requisitos e restrições para Free Container Image.

Recomendações para Alocação de Recursos para Imagem de Contêiner Livre

A seguir está a alocação de recursos recomendada para a Imagem de contêiner livre:

  • 4 CPUs

  • 8 GB de memória

Restrições para Imagem de Contêiner Livre

  • Não há patches automáticos ou janelas de manutenção para a Imagem de Contêiner Livre. O repositório fornece a versão mais recente da Imagem de Contêiner Livre. Verifique o repositório para encontrar versões mais recentes do Free Container Image.

  • As seguintes ferramentas incorporadas do Autonomous Database não são suportadas:

    • Gráfico
    • Oracle Machine Learning
    • Transformações de Dados
  • Quando o Autonomous Database é executado em um contêiner, ele fornece uma instância local do Autonomous Database. A imagem do contêiner não inclui os recursos que só estão disponíveis por meio da Console do Oracle Cloud Infrastructure ou das APIs. Alguns recursos disponíveis no banco de dados e também disponíveis por meio da Console do Oracle Cloud Infrastructure ainda podem ser usados por meio de comandos no banco de dados, como redefinir a senha ADMIN. A seguir estão listados alguns dos recursos que não estão disponíveis:

    Recurso Disponível ou Não Disponível
    Fazer Backup de uma Instância Não disponível
    Escolher um Conjunto de Caracteres Não disponível
    Clonar uma Instância Não disponível
    Criar um Pool Elástico Não disponível
    Chaves gerenciadas pelo cliente Não disponível
    Renomeação de banco de dados Não disponível
    Data Safe Não disponível
    Desativar o dimensionamento automático de computação Não disponível
    Desativar Ferramentas de Banco de Dados Incorporadas Não disponível
    Desativar o dimensionamento automático de armazenamento Não disponível
    Opções de recuperação de desastre, incluindo Autonomous Data Guard e Recuperação de Desastre Baseada em Backup. Não disponível
    Fazer download da wallet Não disponível
    Ativar Ferramentas de Banco de Dados Incorporadas Não disponível
    Ativar escala automática de computação Não disponível
    Ativar dimensionamento automático de armazenamento Não disponível
    Junte-se a um Elastic Pool Não disponível
    ACLs de rede Não disponível
    Eventos do Oracle Cloud Infrastructure Não disponível
    Hub de desempenho Não disponível
    Pontos finais privados Não disponível
    Real Application Testing Não disponível
    Autenticação baseada no Controlador de Recursos Não disponível
    Reiniciar Instância Não disponível
    Restaurando uma Instância Não disponível
    Girar wallet Não disponível
    Esquema de Amostra Não disponível
    Reduzir CPU e armazenamento Não disponível
    Ampliar CPU e armazenamento Não disponível
    Selecionando o Nível de Patch da Instância Não disponível
    Iniciar Instância Não disponível
    Interromper Instância Não disponível
    Observação

    Ao executar a Imagem Livre do Contêiner em um contêiner, você pode iniciar uma instância, interromper uma instância ou reiniciar uma instância iniciando, interrompendo ou reiniciando o contêiner.

Locais do Container Registry para Imagem de Contêiner Grátis do Autonomous Database

Há vários locais em que você pode obter Imagem de Contêiner Grátis do Autonomous Database, incluindo: Oracle Cloud Infrastructure Registry (Container Registry) e GitHub.

Você pode obter a Imagem do Contêiner Grátis do Autonomous Database em vários locais. Os exemplos mostrados usam comandos podman (consulte Podman para obter mais informações).

  1. Iniciar uma máquina virtual podman.
    Por exemplo:
    podman machine init 
    podman machine set --cpus 4 --memory 8192 
    podman machine start 
  2. Obtenha a Imagem do Contêiner Livre.

    Oracle Cloud Infrastructure Registry:

    Por exemplo, use o comando podman para extrair a imagem Free Container Image mais recente:

    podman pull container-registry.oracle.com/database/adb-free:latest-23ai
    Observação

    O Oracle Autonomous Database Serverless também suporta imagens de contêiner 19c.
    • Para nomes de imagem de contêiner 19c, especifique a tag latest como versão do banco de dados.

    • No exemplo acima, para extrair a Imagem 19c do Contêiner Livre do Autonomous Database, use o seguinte comando na tag de nome da imagem:
      podman pull container-registry.oracle.com/database/adb-free:latest

    Em todo o documento, a tag de nome da imagem refere-se à versão latest-23ai.

    Para obter mais detalhes e informações adicionais, procure "Oracle Autonomous Database Free" no Oracle Cloud Infrastructure Registry.

    Pacotes GitHub:

    Por exemplo, use o comando podman para extrair a Imagem de Contêiner Livre de: Pacotes GitHub:

    podman pull ghcr.io/oracle/adb-free:latest-23ai
  3. Verifique a imagem.

    Por exemplo:

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

Iniciar Imagem Gratuita do Contêiner

Depois de fazer download da Imagem do Contêiner Grátis do Autonomous Database, você poderá iniciar a imagem em um contêiner.

O banco de dados será iniciado com o tipo de carga de trabalho Processamento de Transações ou o tipo de carga de trabalho Data Warehouse com base no tipo de carga de trabalho especificado.

  1. Inicie um contêiner para executar a Imagem Livre do Contêiner.

    Por exemplo, com 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

    Notas de comando:

    • O Autonomous Database Serverless também suporta imagens de contêiner 19c.
      • Para nomes de imagem de contêiner 19c, especifique a tag latest como versão do banco de dados.

      • No exemplo acima, para iniciar um contêiner para executar a Imagem de Contêiner Grátis do Autonomous Database 19c, use o seguinte comando na tag de nome de imagem:
        container-registry.oracle.com/database/adb-free:latest
    • Em todo o documento, a tag de nome da imagem refere-se à versão latest-23ai.

    • O WORKLOAD_TYPE pode ser ATP ou ADW. O valor padrão é ATP.

    • Por padrão, o banco de dados é chamado MYATP ou MYADW, dependendo do valor WORKLOAD_TYPE informado. Opcionalmente, se quiser um nome de banco de dados diferente do padrão, você poderá definir o parâmetro DATABASE_NAME. O nome do banco de dados pode conter apenas caracteres alfanuméricos.

    • Na inicialização do contêiner, o MY<WORKLOAD_TYPE>.pdb correspondente é submetido a download e conectado de um bucket público do Object Storage.

    • A wallet é gerada usando o WALLET_PASSWORD fornecido.

    • É necessário alterar o ADMIN_PASSWORD no log-in inicial.

    • Certifique-se de verificar os seguintes requisitos ao criar ou modificar o ADMIN_PASSWORD:
      • A senha deve ter de 12 a 30 caracteres e deve incluir pelo menos uma letra maiúscula, uma letra minúscula e um caractere numérico.
      • A senha não pode conter o nome de usuário.
    • Certifique-se de verificar os seguintes requisitos ao criar ou modificar o WALLET_PASSWORD:
      • A senha deve ter entre 8 e 30 caracteres e incluir caracteres alfabéticos combinados com caracteres numéricos ou especiais.
    • Para uma montagem OFS, o contêiner começa com o recurso SYS_ADMIN. Além disso, o dispositivo virtual /dev/fuse deve estar acessível.

    • Estas opções -p especificam que as seguintes portas são encaminhadas para o processo de contêiner:

      Porta Descrição
      1,521 TLS
      1,522 mTLS
      8,443 Porta HTTPS para ORDS / APEX e Database Actions
      27,017 API Mongo

    Se você estiver atrás de um proxy corporativo, inclua as opções -e para especificar variáveis de ambiente para proxies. Por exemplo, com 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

Execute Operações de Banco de Dados usando adb-cli

O utilitário de linha de comando adb-cli pode ser usado para executar operações do banco de dados depois que o contêiner estiver ativo e em execução.

Para usar adb-cli, você pode definir o seguinte alias por conveniência:

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

Comandos Disponíveis

Você pode exibir a lista de comandos disponíveis usando o seguinte comando:

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 

Adicionar Banco de Dados

Você pode adicionar um banco de dados usando o seguinte comando:

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

Alterar Senha

Você pode alterar a senha de administrador usando o seguinte comando:

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

Conecte-se a uma Imagem de Contêiner Grátis

Quando a Imagem de Contêiner Grátis estiver em execução em um contêiner, você poderá estabelecer conexão com uma instância do Autonomous Database.

Para estabelecer conexão com uma instância do Autonomous Database em execução em um contêiner, você pode configurar a wallet e estabelecer conexão ou usar uma conexão sem wallet de TLS.

Estabelecer Conexão com o ORDS, o APEX ou o Database Actions por meio de uma Imagem de Contêiner do Autonomous Database

O contêiner hostname é usado para gerar certificados SSL autoassinados para fornecer tráfego HTTPS na porta 8443. O Oracle APEX e o Database Actions podem ser acessados usando o host do contêiner (ou simplesmente localhost).

Aplicativo URL
Oracle APEX https://localhost:8443/ords/apex
Database Actions https://localhost:8443/ords/sql-developer
Observação

Para bancos de dados adicionais conectados usando o comando adb-cli add-database, use os formatos de URL https://localhost:8443/ords/{database_name}/apex e https://localhost:8443/ords/{database_name}/sql-developer para acessar o APEX e o Database Actions respectivamente.

Aliases de TNS Disponíveis para Conexão com uma Imagem do Contêiner do Autonomous Database

Você pode usar qualquer um dos aliases a seguir para estabelecer conexão com uma Imagem do Contêiner do Autonomous Database.

Tabela 3-7 Aliases de TNS Disponíveis

Protocolo Carga de Trabalho de Processamento de Transação Carga de Trabalho Data Warehouse
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

Os mapeamentos de alias TNS para essas strings de conexão estão em $TNS_ADMIN/tnsnames.ora. Consulte Gerenciar Concorrência e Prioridades no Autonomous Database para obter informações sobre os nomes de serviço em tnsnames.ora.

Estabelecer Conexão com uma Imagem do Contêiner do Autonomous Database com uma Wallet

Descreve as etapas para estabelecer conexão com uma imagem de contêiner do Autonomous Database com uma Wallet.

Execute as seguintes etapas para configurar uma wallet e estabelecer conexão:

  1. Copie a wallet gerada para seu host.

    Quando você inicia o contêiner, o Autonomous Database gera uma wallet em /u01/app/oracle/wallets/tls_wallet.

    Por exemplo, copie a wallet gerada para a pasta local /scratch/tls_wallet:

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

    Isso copia a wallet para a pasta: /scratch/tls_wallet.

  2. Defina o valor da variável de ambiente TNS_ADMIN para o diretório da wallet.

    Por exemplo:

    export TNS_ADMIN=/scratch/tls_wallet
  3. Se você quiser estabelecer conexão com um host remoto em que a Imagem de Contêiner Livre está em execução, substitua localhost em $TNS_ADMIN/tnsnames.ora pelo FQDN do host remoto.

    Por exemplo:

    sed -i 's/localhost/example.com/g' $TNS_ADMIN/tnsnames.ora
  4. Conecte-se à instância do Autonomous Database.

    Por exemplo, use sqlplus para estabelecer conexão com a instância do Autonomous Database de carga de trabalho de Processamento de Transações:

    sqlplus admin/password@myatp_low_tls

    Por exemplo, use sqlplus para estabelecer conexão com a instância do Autonomous Database de carga de trabalho do Data Warehouse:

    sqlplus admin/password@myadw_low_tls

Estabelecer Conexão com uma Imagem do Contêiner do Autonomous Database sem uma Wallet (TLS)

Descreve as etapas para estabelecer conexão com uma imagem de contêiner do Autonomous Database sem uma Wallet (TLS).

Para estabelecer conexão sem uma wallet, atualize o armazenamento confiável do cliente com o certificado autoassinado gerado no início do contêiner.

Execute as etapas a seguir para configurar uma conexão TLS e estabelecer conexão.

  1. Copie /u01/app/oracle/wallets/tls_wallet/adb_container.cert do contêiner e atualize o armazenamento confiável do sistema.

    Por exemplo:

    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. Conecte-se à instância do Autonomous Database.

    Por exemplo, use sqlplus para estabelecer conexão com a instância do Autonomous Database da carga de trabalho de Processamento de Transações:

    sqlplus admin/password@myatp_low

    Por exemplo, use sqlplus para estabelecer conexão com a instância do Autonomous Database de carga de trabalho do Data Warehouse:

    sqlplus admin/password@myadw_low

Migrar Dados entre Contêineres Gratuitos do Autonomous Database

Quando uma nova versão da Imagem de Contêiner Grátis estiver disponível, você poderá migrar dados de um contêiner para outro contêiner.

Por exemplo, use dados existentes que você criou em um contêiner migrando esses dados para a versão mais recente da Imagem de Contêiner Livre quando uma nova atualização estiver disponível.

  1. Criar um volume podman.

    Por exemplo:

    podman volume create adb_container_volume
  2. Verifique o ponto de montagem do volume.

    O ponto de montagem é um local de diretório gerenciado pelo 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. Inicie o contêiner de origem, montando o volume em /u01/data no contêiner.

    Por exemplo:

    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
    Observação

    O Autonomous Database Serverless também suporta imagens de contêiner 19c.
    • Para nomes de imagem de contêiner 19c, especifique a tag latest como versão do banco de dados.

    • No exemplo acima, para iniciar o Autonomous Database Free Container Image 19c , use o seguinte comando na tag de nome da imagem:
      container-registry.oracle.com/database/adb-free:latest

    Em todo o documento, a tag de nome da imagem refere-se à versão latest-23ai.

  4. Este exemplo pressupõe que você tenha criado anteriormente seus dados no esquema, app_user.
  5. Exporte os dados do esquema do app_user para o volume do contêiner.
    1. Conecte-se como ADMIN e crie o diretório ORA_EXP_DIR apontando para /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. Execute o job de exportação no modo de esquema e para os esquemas ADMIN e 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. Verifique a exportação.

    Liste os arquivos no contêiner /u01/data.

    podman exec -it source_adb_container bash
    cd /u01/data

    Verifique o log de exportação (export log), verifique se há erros e a conclusão bem-sucedida.

  7. Interrompa e remova o contêiner de origem.
    podman stop source_adb_container
    podman rm source_adb_container
    Observação

    O adb_container_volume permanecerá ativo entre reinicializações e remoções de contêineres
  8. Inicie um contêiner de destino montando o mesmo volume em /u01/data no contêiner.
    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. Importar dados no contêiner de destino.

    Conecte-se como ADMIN e crie o diretório ORA_EXP_DIR apontando para /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. Execute os comandos PL/SQL de importação.
    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. Verifique o log de importação.
  12. Verifique os dados de importação.