Usar o Oracle Data Pump para Exportar Dados para o Armazenamento de Objetos Definindo a Propriedade DEFAULT_CREDENTIAL

Mostra as etapas para exportar dados do seu Autonomous Database para o Cloud Object Storage com o Oracle Data Pump Export e a definição da propriedade DEFAULT_CREDENTIAL.

A Oracle recomenda o uso da versão mais recente do Oracle Data Pump para exportar dados do Autonomous Database para outros bancos de dados Oracle, uma vez que eles contêm aprimoramentos e correções para proporcionar uma melhor experiência. 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.

Observação

O Database Actions fornece um link para o Oracle Instant Client. Para acessar esse link no Database Actions, em Downloads, clique em Download do Oracle Instant Client.
  1. Estabeleça conexão com o seu Autonomous Database.
  2. Armazene a credencial do Cloud Object Storage usando DBMS_CLOUD.CREATE_CREDENTIAL. Por exemplo:
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'user1@example.com',
        password => 'password'
      );
    END;
    /

    Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando.

    Se você estiver exportando para o Oracle Cloud Infrastructure Object Storage, poderá usar os URIs nativos do Oracle Cloud Infrastructure ou URIs Swift, mas as credenciais deverão ser tokens de autenticação. Consulte CREATE_CREDENTIAL Procedimento para obter mais informações.

  3. Como usuário ADMIN, defina a credencial definida na etapa 2 como credencial padrão do seu banco de dados. Por exemplo:
    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'ADMIN.DEF_CRED_NAME'

    O valor DEFAULT_CREDENTIAL não pode ser um controlador de recursos do OCI, um controlador de serviços do Azure, um ARN (Amazon Resource Name) ou uma conta de serviço do Google. Consulte Configurar Políticas e Atribuições para Acessar Recursos para obter mais informações sobre autenticação baseada no controlador de recursos.

  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%L.dmp). Por exemplo:
    expdp admin/password@db2022adb_high \
         filesize=5GB \
         dumpfile=default_credential:https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/exp%L.dmp \
         parallel=16 \
         encryption_pwd_prompt=yes \
         logfile=export.log \
         directory=data_pump_dir
    

    Observações para parâmetros do Data Pump:

    • Se durante a exportação com expdp você tiver usado o parâmetro encryption_pwd_prompt=yes, use encryption_pwd_prompt=yes e digite a mesma senha no prompt impdp especificado durante a exportação.

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

    • Se seu bucket e seus dados não residirem em um realm comercial (OC1), em que os Pontos Finais Dedicados do OCI não são suportados, use o seguinte formato de URI para dumpfile:

      https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname/o/filename
    Para dumpfile, este exemplo usa o formato de URI recomendado usando Pontos Finais Dedicados do OCI para o realm comercial (OC1). namespace-string é o namespace do armazenamento de objetos do Oracle Cloud Infrastructure e bucketname é o nome do bucket. Para obter mais informações, consulte Pontos Finais Dedicados do Serviço Object Storage, Regiões e Domínios de Disponibilidade e Noções Básicas de Namespaces do Serviço Object Storage.

    A palavra-chave default_credential no parâmetro dumpfile é obrigatória.

    Para obter o melhor desempenho de exportação, use o serviço de banco de dados HIGH para sua conexão de exportação e defina o parâmetro parallel como um quarto do número de ECPUs (.25 x contagem de ECPUs). Se você estiver usando o modelo de computação OCPU, defina o parâmetro paralelo com o número de OCPUs (1 x contagem de OCPUs).

    Para obter informações sobre com qual nome de serviço de banco de dados se deve estabelecer conexão para executar o Data Pump Export, consulte Manage Concurrency and Priorities on Autonomous Database.

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

    Esse exemplo mostra os parâmetros recomendados para exportação pelo Autonomous Database. Para esses parâmetros expdp, observe o seguinte:

    • O valor máximo do parâmetro filesize é 100000 MB para exportações do Oracle Cloud Infrastructure Object Storage.

    • O valor máximo do parâmetro filesize é 20 GB para exportações do Oracle Cloud Infrastructure Object Storage Classic.

    • Se o filesize especificado for muito grande, a exportação mostrará a mensagem de erro:

      ORA-17500: ODM err:ODM HTTP Request Entity Too Large
    • O parâmetro directory especifica o diretório data_pump_dir para o arquivo de log especificado, export.log. Consulte Arquivos de Log de Acesso do Data Pump Export para obter mais informações.

    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:

    exp100.dmp
    exp100.dmp_aaaaaa
    exp101.dmp
    exp101.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/exp100.dmp

    Se você importar um arquivo com os procedimentos DBMS_CLOUD que suportam o parâmetro format type com o valor 'datapump', só será necessário fornecer o nome do arquivo principal. Os procedimentos que suportam o tipo de formato 'datapump' descobrem e fazem download automaticamente dos chunks.

    Quando você usa DBMS_CLOUD.DELETE_OBJECT, o procedimento descobre e exclui automaticamente os chunks quando o procedimento exclui o arquivo principal.

  5. Execute as etapas necessárias para usar a importação e a limpeza do Oracle Data Pump.
Observação

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

Para obter informações detalhadas sobre os parâmetros de Exportação do Oracle Data Pump, consulte Oracle Database Utilities.