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

Use a Imagem do Contêiner Grátis do Oracle 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 do Autonomous Database

Você pode acessar a Imagem do Contêiner Livre do Oracle 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 23ai do Oracle Autonomous Database Free Container Image.

A Imagem do Oracle Autonomous Database Free Container 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 da Imagem do Contêiner Grátis do Oracle Autonomous Database

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

A Imagem do Contêiner Grátis do Oracle Autonomous Database está sujeita ao 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 da Imagem do Contêiner Grátis do Oracle Autonomous Database

A Imagem do Contêiner Livre do Oracle Autonomous Database fornece muitos dos recursos disponíveis com o Autonomous Database Serverless.

  • Cada Imagem do Contêiner Livre do Autonomous Database fornece duas instâncias do Autonomous Database, uma instância com tipo de carga de trabalho Data Warehouse e uma instância com 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 da Imagem do Contêiner Livre do Autonomous Database é de 4 ECPUs e 20 GB de armazenamento e permite no máximo 30 sessões simultâneas de banco de dados.

  • Cada Imagem do Contêiner Livre do Autonomous Database 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 dos serviços HIGH, MEDIUM, LOW, TP ou TPURGENT

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

  • A Imagem do Contêiner Livre do Autonomous Database 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 da Imagem do Contêiner Grátis do Oracle Autonomous Database

Descreve requisitos e restrições do Autonomous Database Free Container Image.

Recomendações para Alocação de Recursos para a Imagem do Contêiner Livre do Autonomous Database

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

  • 4 CPUs

  • 8 GB de memória

Restrições para a Imagem do Contêiner Grátis do Autonomous Database

  • Não há janelas automáticas de aplicação de patches ou manutenção para a Imagem do Contêiner Livre do Autonomous Database. O repositório fornece a versão mais recente da Imagem do Contêiner Livre do Autonomous Database. Verifique o repositório para localizar versões mais recentes da Imagem do Contêiner Livre do Autonomous Database.

  • 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 ou das APIs do Oracle Cloud Infrastructure. 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 dimensionamento automático de computação Não disponível
    Desativar Ferramentas de Banco de Dados Incorporadas Não disponível
    Desativar dimensionamento automático de armazenamento Não disponível
    Opções de recuperação de desastres, incluindo o Autonomous Data Guard e a 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 Pool Elástico Não disponível
    ACLs de Rede Não disponível
    Oracle Cloud Infrastructure Events 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
    Esquema de Amostra Não disponível
    Reduza a CPU e o 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 do Contêiner Livre do Autonomous Database 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 a Imagem do Contêiner Grátis do Oracle Autonomous Database

Há vários locais onde você pode obter a Imagem do Contêiner Livre do Oracle Autonomous Database, incluindo: Oracle Cloud Infrastructure Registry (Container Registry) e GitHub.

Você pode obter a Imagem do Oracle Autonomous Database Free Container 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 Grátis do Autonomous Database.

    Oracle Cloud Infrastructure Registry:

    Por exemplo, use o comando podman para extrair a imagem mais recente do Autonomous Database 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 de contêiner 19c, especifique a tag latest como sua versão de 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 de 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 "Oracle Autonomous Database Free" no Oracle Cloud Infrastructure Registry.

    GitHub Pacotes:

    Por exemplo, use o comando podman para extrair a Imagem do Contêiner Livre do Autonomous Database 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 do Contêiner Grátis do Autonomous Database

Depois de fazer download da Imagem do Contêiner Livre do Oracle 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 do Autonomous Database.

    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 sua versão de 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. 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 é baixado 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.

    • Verifique 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.
    • Verifique 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.

    • 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 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

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 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 administração usando o seguinte comando:

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

Estabelecer Conexão com uma Imagem do Contêiner Grátis do Autonomous Database

Quando a Imagem do Contêiner Livre do Autonomous Database 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 TLS.

ORDS/APEX/Database Actions

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 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 plugados 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

Você pode usar qualquer um dos aliases a seguir para estabelecer conexão com o contêiner gratuito 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.

Configurar uma Wallet e Conectar

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 como 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 do Contêiner Livre do Autonomous Database esteja 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 da carga de trabalho 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 da carga de trabalho do Data Warehouse:

    sqlplus admin/password@myadw_low_tls

Configurar Conexão sem Wallet TLS e Conexão

Para se conectar sem uma wallet, você precisa atualizar 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 sem wallet 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 da 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 do Contêiner Livre do Autonomous Database estiver disponível, você poderá migrar dados de um contêiner para outro contêiner.

Por exemplo, use os dados existentes que você criou em um contêiner migrando esses dados para a versão mais recente da Imagem do Contêiner Livre do Autonomous Database 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 sua versão de 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 de 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 de 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_%U.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á 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. Executar 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_%U.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.