Exportar Dados Usando o Oracle Data Pump

O Oracle Data Pump oferece movimentação de dados e metadados em massa muito rápida entre o serviço Autonomous AI Database e outros bancos de dados da Oracle.

A Oracle recomenda o uso da última versão do Oracle Data Pump para exportar dados do Autonomous AI Database para outros bancos de dados da Oracle, pois ela contém aprimoramentos e correções para uma experiência melhor. Faça download da versão mais recente do Oracle Instant Client e faça download do Pacote de Ferramentas, que inclui o Oracle Data Pump, para sua plataforma em Downloads do Oracle Instant Client. Consulte as instruções de instalação na página de download de instalação da plataforma para obter as etapas de instalação necessárias depois de fazer download do Oracle Instant Client e do Pacote de Ferramentas.

Para mover dados de um Autonomous AI Database para outros bancos de dados do sistema Oracle que usam o Oracle Data Pump, use uma das seguintes opções:
  • Opção 1: Mover Dados com a Exportação do Data Pump para um Diretório do Autonomous AI Database

    Use o Oracle Data Pump para exportar os dados para um diretório no seu banco de dados e, em seguida, mova os dados do diretório para o Cloud Object Store. Este método pode ser benéfico quando você deseja mover dados do seu Autonomous AI Database para vários banco de dados de destino. Em vez de exportar os dados para vários Cloud Object Stores na Nuvem, você pode criar um conjunto de arquivos de dump uma vez e usá-lo para vários bancos de dados de destino.

    Execute as seguintes etapas para mover dados do Autonomous AI Database, exportando-os para um diretório no seu banco de dados:
    1. Exporte dados para um diretório no Autonomous AI Database e mova o conjunto de arquivo de dump do diretório para seu Cloud Object Store. Consulte Exportar Dados Usando um Diretório no Autonomous AI Database.
    2. Faça download dos arquivos de dump do Cloud Object Store, importe os dados para o banco de dados de destino e limpe o Cloud Object Store. Consulte Fazer Download de Arquivos de Dump, Executar a Importação de Data Pump e Limpar o Armazenamento de Objetos.
  • Opção 2: Mover Dados com o Data Pump Export para o Armazenamento de Objetos

    Usando esse método de exportação, você usa o Oracle Data Pump para exportar dados diretamente para o seu armazenamento de objetos. Esse método de exportação é suportado com o Oracle Cloud Infrastructure Object Storage e o Oracle Cloud Infrastructure Object Storage Classic. Isso evita a sobrecarga de criar um conjunto de arquivos para dump em um diretório no seu Autonomous AI Database e, em seguida, mover o conjunto de arquivos para o Cloud Object Store. Quando você planeja mover dados para um único banco de dados de destino, esse método poupa esforço e acelera o processo de exportação.

    Execute as seguintes etapas para mover dados do Autonomous AI Database, exportando-os diretamente para o armazenamento de objetos:
    1. Exporte dados do Autonomous AI Database diretamente para um Cloud Object Store. Consulte Exportar Dados do Autonomous AI Database para o Object Store Diretamente.
    2. Faça download dos arquivos de dump do Cloud Object Store, importe os dados para o banco de dados de destino e limpe o Cloud Object Store. Consulte Fazer Download de Arquivos de Dump, Executar a Importação de Data Pump e Limpar o Armazenamento de Objetos.

Exportar Dados Usando um Diretório no Autonomous AI Database

Para exportar dados usando um diretório no Autonomous AI Database, primeiro você deve criar um conjunto de arquivo de dump com os dados exportados em um diretório no seu banco e, em seguida, fazer upload desses arquivos do seu diretório de bancos de dados para o Cloud Object Armazen.

Usar o Data Pump para Criar um Conjunto de Arquivos de Dump no Autonomous AI Database

  1. Crie um diretório para armazenar os arquivos de dump que contêm os dados exportados. Por exemplo:
    CREATE DIRECTORY data_export_dir as 'data_export';
  2. Execute a Exportação do Data Pump com o parâmetrodumpfile definido, o parâmetrofilesize definido como menos de 50G e o parâmetrodirectory definido. Por exemplo, o seguinte mostra como exportar um esquema chamado SALES em um Autonomous AI Database com o nome ATPC1 e 64 ECPUs:
    expdp sales/password@ATPC1_high 
    directory=data_export_dir 
    dumpfile=exp%L.dmp 
    parallel=16
    encryption_pwd_prompt=yes
    filesize=1G
    logfile=export.log
    Observações para parâmetros do Data Pump:
    • No caso de ECPUs, parallel deve ser definido como 0,25 vezes a contagem de ECPUs. Assim, no exemplo acima com 64 ECPUs, parallel é definido como 0,25 x 64, ou seja, 16 com expdp.

    • No caso de OCPUs, parallel deve ser definido com o mesmo valor da contagem de OCPUs. No exemplo acima com 16 OCPUs, o parallel será definido como 16, com expdp.

    • Se durante a exportação com expdp você usar o parâmetro encryption_pwd_prompt=yes, use encryption_pwd_prompt=yes com sua importação e digite a mesma senha no prompt impdp para decriptografar os arquivos de dump ( lembre-se da senha fornecida com a exportação). O tamanho máximo da senha de criptografia é 128 bytes.

    • O parâmetro dumpfile suporta os curingas %L e %l, além dos curingas legados %U e %u. Por exemplo, dumpfile=export%L.dmp.

      Use o curinga %L ou %l para exportações do Oracle Database Release 12.2 e posterior. Este curinga expande o nome do arquivo de dump em um inteiro de incremento de largura variável de 3 dígitos para 10 dígitos, começando em 100 e terminando em 2147483646.

    Para obter o melhor desempenho de exportação, use o serviço de banco de dados HIGH para sua conexão da exportação e defina o parâmetro PARALLEL como o número de CPUs em seu banco de dados. Para obter informações sobre qual nome de serviço do banco de dados estabelecer conexão para executar a Exportação do Data Pump, consulte Nomes de Serviço de Banco de dados Predefinidos para Autonomous AI Databases.

    Depois que a exportação estiver concluída, você poderá ver os arquivos de dump gerados executando uma consulta como a seguinte:
    SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');
    Por exemplo, a saída dessa consulta mostra os arquivos de dump gerados e o arquivo de log de exportação:
    
    OBJECT_NAME                 BYTES  CHECKSUM                   CREATED          LAST_MODIFIED  
    ---------------------- ---------- ----–---- –------------------------–----- --------------------
    exp01.dmp                   12288               12-NOV-19 06.10.47.0 PM GMT       12-NOV-19...
    exp02.dmp                    8192               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    exp03.dmp                 1171456               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    exp04.dmp                  348160               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    export.log                   1663               12-NOV-19 06.10.50.0 PM GMT       12-NOV-19...
    

Notas:

  • Para executar uma exportação completa ou exportar objetos pertencentes a outros usuários, você precisa da atribuição DATAPUMP_CLOUD_EXP.

  • A API que você usa para mover os arquivos de dump para o serviço Object Storage oferece suporte a tamanhos de arquivo de até 50 GB; portanto, certifique-se de não especificar tamanhos maiores do que o do argumento filesize.

  • Para obter mais informações, consulte Oracle Data Pump Export em Oracle Database 19c Utilities ou Oracle Database 26ai Utilities.

Mover Conjunto de Arquivos Dump do Autonomous AI Database para o Armazenamento de Objetos na Nuvem

  1. Estabeleça conexão com seu Autonomous AI Database.

  2. Armazene sua credencial do Cloud Object Storage usando o procedimento DBMS_CREDENTIAL.CREATE_CREDENTIAL. Por exemplo:
    BEGIN
      DBMS_CREDENTIAL.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@oracle.com',
        password => 'password'
      );
    END;
    /
    Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando:
    • Oracle Cloud Infrastructure Object Storage: username é seu nome de usuário do Oracle Cloud Infrastructure e password é seu token de autenticação do Oracle Cloud Infrastructure. Consulte Como Trabalhar com Tokens de Autenticação.

    • Oracle Cloud Infrastructure Object Storage Classic: username é seu nome de usuário do Oracle Cloud Infrastructure Classic e password é sua senha do Oracle Cloud Infrastructure Classic.

      Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial. Observe que essa etapa só é necessária uma vez, a menos que suas credenciais do armazenamento de objetos sejam alteradas. Depois de armazenar as credenciais, você poderá usar o mesmo nome de credencial para todos os carregamentos de dados.

  3. Mova os arquivos de dump do Autonomous AI Database para o seu Cloud Object Store chamando DBMS_CLOUD.PUT_OBJECT.

    Por exemplo:
    BEGIN
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp01.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp01.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp02.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp02.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp03.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp03.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp04.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp04.dmp');
    END;
    /

    Consulte Procedimento PUT_OBJECT para obter informações sobre PUT_OBJECT.

Exportar Dados do Autonomous AI Database para o Object Store Diretamente

Mostra como usar o Oracle Data Pump para exportar dados do Autonomous AI Database para o Cloud Object Store diretamente.

  1. Estabeleça conexão com seu Autonomous AI Database.
  2. Armazene sua credencial do Cloud Object Storage usando o procedimento DBMS_CREDENTIAL.CREATE_CREDENTIAL. Por exemplo:
    BEGIN
      DBMS_CREDENTIAL.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
               username => 'adb_user@oracle.com',
        password => 'password'
        );
    END;
    /
    Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando:
    • Oracle Cloud Infrastructure Object Storage: username é seu nome de usuário do Oracle Cloud Infrastructure e password é seu token de autenticação do Oracle Cloud Infrastructure. Consulte Como Trabalhar com Tokens de Autenticação.
    • Oracle Cloud Infrastructure Object Storage Classic: username é o seu nome de usuário do Oracle Cloud Infrastructure Classic e password é a sua senha do Oracle Cloud Infrastructure Classic.

    Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial. Observe que essa etapa só é necessária uma vez, a menos que suas credenciais do armazenamento de objetos sejam alteradas. Depois de armazenar as credenciais, você poderá usar o mesmo nome de credencial para todos os carregamentos de dados.

  3. Como usuário ADMIN, defina a credencial definida na etapa acima como a credencial padrão do seu Autonomous AI Database.
    Por exemplo:
    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME';
  4. Execute o Data Pump Export com o parâmetro dumpfile definido como o URL de um bucket existente no Cloud Object Storage (e terminando com um nome de arquivo ou um nome de arquivo com uma variável de substituição, como exp%U.dmp).
    • Oracle Data Pump versão 19.9 ou posterior:
      defina o parâmetro credential como o nome da credencial criada na Etapa 2. Por exemplo:
      expdp admin/password@ADBD_high \
      SCHEMAS=SOE3 \
      filesize=5GB \
      credential=DEF_CRED_NAME \
      dumpfile=https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \
      parallel=16 \
      encryption_pwd_prompt=yes \
      logfile=export.log \
      directory=data_pump_dir \
      EXCLUDE=statistics,index
      Neste exemplo, dumpfile corresponde a um URI Swift do Oracle Cloud Infrastructure que especifica todos os arquivos cujo nome corresponde a export<number>.dmp no bucket mybucket, na região us-ashburn-1. (adbdpreview1 corresponde ao namespace do armazenamento de objetos no qual o bucket reside.)
    • Versões do Oracle Data Pump antes da versão 19.9:
      inicie o valor do parâmetro dumpfile com a palavra-chave default_credential e dois-pontos. Por exemplo:
      expdp admin/password@ADBD_high \
      SCHEMAS=SOE3 \
      filesize=5GB \
      dumpfile=DEF_CRED_NAME:https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \ 
      parallel=16 \
      encryption_pwd_prompt=yes \
      logfile=export.log \
      directory=data_pump_dir \
      EXCLUDE=statistics,index 
      Neste exemplo, a palavra-chave default_credential no parâmetro dumpfile é obrigatória.
    Observações sobre os parâmetros do Oracle Data Pump:
    • Por padrão, o Oracle Data Pump Export compacta apenas os metadados antes da gravação no conjunto de arquivos para dump. Você pode definir o parâmetro compression como ALL para compactar metadados e dados antes de gravar no conjunto de arquivos de dump. Consulte COMPRESSÃO em Utilitários 19c do Oracle Database ou Utilitários Oracle Database 26ai para obter mais detalhes.

    • O parâmetro dumpfile suporta os curingas %L e %l, além dos curingas legados %U e %u. Por exemplo, dumpfile=export%L.dmp.

      Use o curinga %L ou %l para exportações do Oracle Database Release 12.2 e posterior. Este curinga expande o nome do arquivo de dump em um inteiro de incremento de largura variável de 3 dígitos para 10 dígitos, começando em 100 e terminando em 2147483646.

      Para obter mais informações, consulte Parâmetros Disponíveis no Modo de Linha de Comando de Exportação do Data Pump em Utilitários 19c do Oracle Database ou Utilitários Oracle Database 26ai.

    • Para obter o melhor desempenho de exportação, use o serviço de banco de dados high para sua conexão da exportação e defina o parâmetro parallel como 0,25 vezes o número de ECPUs ou igual ao número de OCPUs no seu Autonomous AI Database. Para obter informações sobre qual nome de serviço do banco de dados estabelecer conexão para executar a Exportação do Data Pump, consulte Nomes de Serviço de Banco de dados Predefinidos para Autonomous AI Databases.

    • Para obter o formato de URL do arquivo de dump de diferentes serviços do Cloud Object Storage, consulte Formatos de URI do Cloud Object Storage.

    Para obter informações sobre objetos não autorizados no Autonomous AI Database, consulte Limitações sobre o Uso de Comandos SQL.

  5. Valide os resultados.
    O Oracle Data Pump divide cada parte do arquivo de dump em chunks menores para a obtenção de uploads mais rápidos. A console do Oracle Cloud Infrastructure Object Storage mostra vários arquivos para cada parte do arquivo de dump que você exporta. O tamanho dos arquivos de dump reais será exibido como 0 (zero) e seus chunks de arquivos relacionados como 10 MB ou menos. Por exemplo:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa

    Observação:

    O download do arquivo de dump de zero byte na console do Oracle Cloud Infrastructure ou usando a CLI do Oracle Cloud Infrastructure não fornecerá a você os arquivos de dump completos. Para fazer download dos arquivos de dump completos do Object Store, use uma ferramenta que suporte Swift, como curl, e forneça seu log-in de usuário e token de autenticação Swift. Por exemplo:
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/export01.dmp

Fazer Download de Arquivos de Dump, Executar a Importação de Data Pump e Limpar o Armazenamento de Objetos

Se necessário, faça download dos arquivos de dump do Cloud Object Store e use a Importação do Oracle Data Pump para importar o conjunto de arquivos de dump para o banco de dados de destino. Em seguida, execute qualquer limpeza necessária.

  1. Faça download dos arquivos de dump do Cloud Object Store.

    Observação:

    Esta etapa não é necessária se você estiver importando os dados para outro Autonomous AI Database.
    Se você exportar diretamente para a Área de Armazenamento de Objetos usando o Oracle Data Pump, conforme mostrado em Exportar Dados do Autonomous AI Database Diretamente para a Área de Armazenamento de Objetos, os arquivos para dump na Área de Armazenamento de Objetos mostrarão tamanho 0. O Oracle Data Pump divide cada parte do arquivo de dump em chunks menores para a obtenção de uploads mais rápidos. A console do Oracle Cloud Infrastructure Object Storage mostra vários arquivos para cada parte do arquivo de dump que você exporta. O tamanho dos arquivos de dump reais será exibido como 0 (zero) e seus chunks de arquivos relacionados como 10 MB ou menos. Por exemplo:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa
    O download do arquivo de dump de zero byte na console do Oracle Cloud Infrastructure ou usando a CLI do Oracle Cloud Infrastructure não fornecerá a você os arquivos de dump completos. Para fazer download dos arquivos de dump completos do Object Store, use uma ferramenta que suporte Swift, como curl, e forneça seu log-in de usuário e token de autenticação Swift. Por exemplo:
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmp

    O comando cURL não suporta caracteres curinga ou de substituição em seu URL. Você precisa usar vários comandos cURL para fazer download do conjunto de arquivos de dump do seu Object Store. Como alternativa, você pode usar um script que suporte caracteres de substituição para fazer download de todos os arquivos de dump do Object Store em um único comando. Consulte Como: Fazer Download de todos os arquivos de um job de exportação para armazenamento de objetos no Autonomous AI Database usando cURL para ver um exemplo.

  2. Execute a Importação do Data Pump para importar o conjunto de arquivos de dump para o banco de dados de destino.

    Observação:

    Se você estiver importando os dados para outro Autonomous AI Database, consulte Load Data Using Oracle Data Pump.

    No caso de arquivos exportados diretamente para a Área de Armazenamento de Objetos com o Oracle Data Pump, conforme mostrado em Exportar Dados do Autonomous AI Database para a Área de Armazenamento de Objetos Diretamente, se você importar um arquivo com os procedimentos DBMS_CLOUD que suportam o parâmetro format type com o valor 'datapump', só precisará fornecer o nome de arquivo principal. Os procedimentos que suportam o tipo de formato 'datapump' descobrem e fazem download automaticamente dos chunks.

  3. Execute tarefas de limpeza pós-importação. Se você terminar de importar os arquivos de dump para seu(s) banco(s) de dados de destino, elimine o bucket que contém os dados ou remova os arquivos de dump do bucket do Cloud Object Store e remova os arquivos de dump do local em que você fez download dos arquivos de dump para executar a Importação do Data Pump.

Para obter informações detalhadas, consulte Parâmetros Disponíveis no Modo de Linha de Comando de Importação do Oracle Data Pump em Utilitários 19c do Oracle Database ou Utilitários Oracle Database 26ai.