Usar a Imagem Gratuita de Contêiner do Autonomous Database

Use a Imagem do 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 do 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 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 19c do Oracle Autonomous Database Free Container Image e Oracle Autonomous Database Free Container Image 23ai.

O Autonomous Database Free Container Image 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 de recursos do Oracle Autonomous Database.

Licença do Autonomous Database Free Container Image

Descreve o licenciamento do Autonomous Database Free Container Image.

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

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

Recursos do Autonomous Database Free Container Image

O Autonomous Database Free Container Image 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 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 com 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 do 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 os Tipos de Carga de Trabalho Autonomous Database para obter mais informações.

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

    • Ações do Banco de Dados

    • Oracle REST Data Services (ORDENS)

    • Oracle APEX

    • Oracle Database API for MongoDB

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

Descreve os requisitos e as restrições do Free Container Image.

Recomendações para Alocação de Recursos para a Imagem do Contêiner Grátis

Veja a seguir a alocação de recursos recomendada para a Imagem de Contêiner Livre:

  • 4 CPUs

  • 8 GB de memória

Restrições para Imagem Gratuita do Contêiner

  • Não há janelas automáticas de aplicação de patches ou manutenção para a Imagem do Contêiner Livre. O repositório fornece a versão mais recente da Imagem do 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, o contêiner 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 a redefinição da senha ADMIN. Veja a seguir algumas das funcionalidades 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 do 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 do armazenamento Não disponível
    Opções de recuperação de desastres, incluindo o Autonomous Data Guard e o Backup-Based Disaster Recovery. Não disponível
    Fazer download da wallet Não disponível
    Ativar Ferramentas de Banco de Dados Incorporadas Não disponível
    Ativar dimensionamento automático de computação Não disponível
    Ativar o dimensionamento automático do armazenamento Não disponível
    Participe de um Pool Elástico 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
    Teste do Real Application Não disponível
    Autenticação baseada no Controlador de Recursos Não disponível
    Reiniciar Instância Não disponível
    Restaurar uma Instância Não disponível
    Girar wallet Não disponível
    Exemplo de Esquema Não disponível
    Reduza a CPU e o armazenamento Não disponível
    Amplie a CPU e o 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

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

Locais de Registro de Contêiner para o Autonomous Database Free Container Image

Há vários locais em que você pode obter o Autonomous Database Free Container Image, 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. Inicie 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 mais recente do Free Container Image:

    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 do contêiner 19c, especifique a tag latest como sua versão do banco de dados.

    • No exemplo acima, para extrair a Imagem do Contêiner Livre do Autonomous Database 19c, 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 se refere à versão latest-23ai.

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

    Pacotes GitHub:

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

    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 do Contêiner Livre.

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

    Observações do comando:

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

      • No exemplo acima, para iniciar um contêiner para executar a Imagem do Contêiner Livre do Autonomous Database 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 se refere à versão latest-23ai.

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

    • Por padrão, o banco de dados é nomeado MYATP ou MYADW, dependendo do valor WORKLOAD_TYPE informado. Se preferir, 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 somente caracteres alfanuméricos.

    • Na inicialização do contêiner, o MY<WORKLOAD_TYPE>.pdb correspondente é baixado e conectado de um bucket público do serviço 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 caracteres especiais.
    • Para uma montagem do OFS, o contêiner começa com o recurso SYS_ADMIN. Além disso, o dispositivo virtual /dev/fuse deve estar acessível.

    • Essas opções -p especificam que as seguintes portas são encaminhadas para o processo do 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 por trás de um proxy corporativo, inclua as opções -e para especificar variáveis de ambiente para proxies. Por exemplo, com o 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

Executar 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 de banco de dados após o contêiner estar ativo e em execução.

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

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

Comandos Disponíveis

É possível visualizar 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"

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

Quando a Imagem de Contêiner Livre está em execução em um contêiner, você pode 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 TLS.

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

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

Aplicativo URL
Oracle APEX https://localhost:8443/ords/apex
Ações do Banco de Dados 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 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-18 Aliases TNS Disponíveis

Protocolo Carga de Trabalho de Processamento da Transação Carga de Trabalho do 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 do TNS para essas strings de conexão estão no $TNS_ADMIN/tnsnames.ora. Consulte Gerenciar Simultaneidade 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 quiser estabelecer conexão com um host remoto em que a Imagem do Contêiner Livre está sendo executada, 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 da carga de trabalho Transaction Processing:

    sqlplus admin/password@myatp_low_tls

    Por exemplo, use sqlplus para estabelecer conexão com a instância do Autonomous Database da 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 se conectar sem uma wallet, você precisa atualizar a área de 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 o /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 da carga de trabalho do Data Warehouse:

    sqlplus admin/password@myadw_low

Migrar Dados entre Contêineres Livres 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.

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

  1. Crie um volume do 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 do contêiner 19c, especifique a tag latest como sua versão do banco de dados.

    • No exemplo acima, para iniciar a Imagem do Contêiner Livre do Autonomous Database 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 se refere à 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 nos 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 será ativado entre reinicializações e remoções de contêiner
  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.