Carregar Dados Usando o Oracle Data Pump

O Oracle Data Pump oferece movimentação de dados e metadados em massa muito rápida entre bancos de dados Oracle e Autonomous AI Database on Dedicated Exadata Infrastructure.

A Importação do Data Pump permite que você importe dados de arquivos do Data Pump que residem no Oracle Cloud Infrastructure Object Storage e no Oracle Cloud Infrastructure Object Storage Classic. Você pode salvar seus dados no Cloud Object Store e usar o Oracle Data Pump para carregar os dados no Autonomous AI Database.

Observação: Para ter a alternativa "Experimente" de ler os tópicos a seguir, você pode conferir o Lab 9: Migrate with Data Pump no Oracle Autonomous AI Database Dedicated for Fleet Administrators Workshop.

Exportar Dados do Oracle Database Existente

Primeiro você usa o Oracle Data Pump Export para exportar os esquemas existentes do Oracle Database. Depois, você usa o Oracle Data Pump Import para migrá-los para o Autonomous AI Database.

A Oracle recomenda o uso dos seguintes parâmetros de Exportação do Data Pump para uma migração mais rápida e fácil para o Autonomous AI Database:

exclude=cluster, db_link
parallel=n
schemas=schema name
dumpfile=export%l.dmp

O Oracle Data Pump Export fornece vários modos de exportação, a Oracle recomenda o uso do modo de esquema para migrar para o Autonomous AI Database. Você pode listar os esquemas que deseja exportar usando o parâmetro esquemas.

Para uma migração mais rápida, exporte seus esquemas em vários arquivos do Data Pump e use paralelismo. Você pode especificar o formato de nome de arquivo para dump que deseja usar com o parâmetro dumpfile. Defina o parâmetro paralelo como pelo menos o número de CPUs que você tem no seu Autonomous AI Database.

Os parâmetros exclude e data_options garantem que os tipos de objetos não disponíveis no Autonomous AI Database não sejam exportados e que as partições das tabelas sejam agrupadas de modo que possam ser importadas mais rapidamente para o Autonomous AI Database.

Observação: A Oracle recomenda que você colete estatísticas atualizadas antes de executar o comando expdp. O pacote dbms_stats fornece vários procedimentos para coletar as estatísticas mais recentes. As estatísticas são adicionadas automaticamente ao arquivo de dump de exportação e ajudam a determinar o tamanho dos objetos e otimizar o paralelismo durante a importação. Para obter mais informações, consulte DBMS_STATS Operational Notes na Oracle Database 19c PL/SQL Packages and Types Reference e Oracle Database 26ai PL/SQL Packages and Types References.

O seguinte exemplo exporta o esquema SH de um Oracle Database de origem para uma migração para um Autonomous AI Database com 16 CPUs:

expdp sh/sh@orcl \
exclude=cluster, db_link \
parallel=16 \
schemas=sh \
dumpfile=export%l.dmp \
encryption_pwd_prompt=yes

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

Você pode usar outros parâmetros do Data Pump Export, como compression, dependendo dos seus requisitos. Para obter mais informações, consulte Oracle Data Pump Export em Oracle Database 19c Utilities ou Oracle Database 26ai Utilities.

Fazer Upload dos Arquivos de Exportação para o Cloud Object Storage

Para importar os dados exportados do Oracle Database de origem, você precisa fazer upload dos arquivos de exportação para o armazenamento de objetos na nuvem.

Você pode fazer upload dos arquivos de exportação para um bucket de armazenamento existente no Oracle Cloud Infrastructure Object Storage ou um contêiner de armazenamento existente no Oracle Cloud Infrastructure Object Storage Classic. Como alternativa, use o procedimento a seguir para criar um novo bucket de armazenamento e fazer upload dos arquivos de exportação para ele.

  1. Acesse a sua Conta do Oracle Cloud em cloud.oracle.com.

  2. Na lista de navegação esquerda do Oracle Cloud Infrastructure, escolha Armazenamento de Objetos e, em seguida, escolha Armazenamento de Objetos na sublista.

  3. Selecione um compartimento no qual criar o bucket de armazenamento.

  4. Clique em Criar Bucket.

  5. Na caixa de diálogo Criar Bucket, dê um nome ao bucket e clique em Criar Bucket.

  6. Depois que o bucket for criado, clique em seu nome na lista de buckets para exibir a página Detalhes do Bucket.

  7. Na caixa Objetos, clique em Fazer Upload dos Objetos.

  8. No diálogo Fazer Upload de Objetos, clique no link selecionar arquivos na caixa Escolher Arquivos do Seu Computador.

  9. No browser de arquivos, navegue e selecione os arquivos de exportação. Em seguida, clique em Abrir.

  10. No diálogo Fazer Upload de Objetos, clique em Fazer Upload de Objetos para começar a fazer upload dos arquivos que você selecionou.

  11. Depois que os uploads forem concluídos, feche a caixa de diálogo Fazer Upload de Objetos.

Importar Dados Usando o Oracle Data Pump

A Oracle recomenda o uso da última versão do Oracle Data Pump para importar dados de arquivos do Data Pump em seu Autonomous AI Database, pois ele contém aprimoramentos e correções para uma experiência melhor.

Faça download da versão mais recente do Pacote Oracle Instant Client Basic e 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.

No Oracle Data Pump versão 18.3 e posterior, o argumento credential autentica o Data Pump para o serviço Cloud Object Storage que você está usando para seus arquivos de origem. O argumento dumpfile corresponde a uma lista delimitada por vírgulas de URLs para seus arquivos do Data Pump.

As versões 12.2.0.1 e anteriores da Importação do Data Pump não têm o parâmetro credential. Se você estiver usando uma versão mais antiga da Importação do Data Pump, será necessário definir uma propriedade da credencial padrão para o Autonomous AI Database e usar a palavra-chave default_credential no parâmetro dumpfile.

No Oracle Data Pump, se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage, você poderá usar URIs nativos do Oracle Cloud Infrastructure ou URIs Swift. Consulte Formatos de URI do Cloud Object Storage para obter detalhes sobre esses formatos de URI.

  1. Armazene sua credencial do Cloud Object Storage usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL.

    A Importação do Data Pump suporta credenciais baseadas em Token de Autenticação do Oracle Cloud Infrastructure e credenciais baseadas em Chave de Assinatura do Oracle Cloud Infrastructure.

    Exemplo 1: Para criar credenciais do Token de Autenticação do Oracle Cloud Infrastructure:

     BEGIN
     DBMS_CLOUD.CREATE_CREDENTIAL(
       credential_name => 'DEF_CRED_NAME',
       username => 'adb_user@oracle.com',
       password => '*password*'
       );
     END;
     /
    

    Exemplo 2: Para criar credenciais baseadas na Chave de Assinatura do Oracle Cloud Infrastructure:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
         credential_name => 'DEF_CRED_NAME',
         user_ocid       => 'ocid1.user.oc1..unique_ID',
         tenancy_ocid    => 'ocid1.tenancy.oc1..unique_ID',
         private_key     => 'MIIEogIBAAKCAQEAtUnxbmre.....wtnNpESQQQ0QLGPD8NM//JEBg=',
         fingerprint     => 'fingerprint value'
       );
     END;
     /
    

    Para obter mais informações sobre os tipos de credenciais do Oracle Cloud Infrastructure Cloud Object Storage, consulte Procedimento CREATE_CREDENTIAL.

  2. Se você estiver usando a versão 12.2.0.1 ou anterior do Oracle Data Pump , defina a credencial como a credencial padrão para seu Autonomous AI Database, como o usuário ADMIN. Por exemplo:

     alter database property set default_credential = 'ADMIN.DEF_CRED_NAME'
    
  3. Execute a Importação do Data Pump com o parâmetro dumpfile definido como a lista de URLs de arquivo no Cloud Object Storage.

    • Oracle Data Pump versão 18.3 ou posterior: defina o parâmetro credential como o nome da credencial criada na Etapa 1. Por exemplo:

      impdp admin/password@ATPC1_high \
        credential=def_cred_name \
        dumpfile= https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/export%l.dmp \ 
        parallel=16 \
        transform=segment_attributes:n \
        exclude=cluster, db_link
      

      Neste exemplo, dumpfile é um URI do Oracle Cloud Infrastructure Swift que especifica todos os arquivos cujo nome corresponde ao export<number>.dmp no bucket do mybucket na região do us-phoenix-1. (idthydc0kinr é o namespace do armazenamento de objeto no qual reside o bucket.)

    • Oracle Data Pump versão 12.2.0.1 ou anterior: inicie o valor do parâmetro dumpfile com a palavra-chave default_credential e dois pontos. Por exemplo:

      impdp admin/password@ATPC1_high \
        dumpfile=default_credential:https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/export%l.dmp \
        parallel=16 \      
        transform=segment_attributes:n \      
        exclude=cluster, db_link
      

    Observações para Importação do Data Pump

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

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

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

      Use o caractere curinga %U ou %u legado para exportações do Oracle Database antes da Release 12.2. Se você utilizar esta opção e forem necessários mais de 99 arquivos de dump, deverá especificar vários nomes de arquivos de dump, cada um com o parâmetro %U ou %u.

    • Para obter o melhor desempenho de importação, use o serviço de banco de dados high para sua conexão de importação e defina o parâmetro parallel para o número de CPUs que seu banco de dados possui.

    • 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 executar uma importação completa ou importar objetos de propriedade de outros usuários, você precisa da atribuição DATAPUMP_CLOUD_IMP.

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

    Para obter informações detalhadas sobre os parâmetros de importação, consulte Oracle Data Pump Import em Oracle Database 19c Utilities ou Oracle Database 26ai Utilities.

Arquivos de Log de Acesso para Importação do Data Pump

Os arquivos de log das operações de Importação do Data Pump são armazenados no diretório especificado com o parâmetro directory do data pump impdp.

Para acessar o arquivo de log, você precisa mover o arquivo de log para o Cloud Object Storage usando o procedimento DBMS_CLOUD.PUT_OBJECT. Por exemplo, o seguinte bloco PL/SQL move o arquivo import.log para o Cloud Object Storage:

BEGIN
  DBMS_CLOUD.PUT_OBJECT(
    credential_name => 'DEF_CRED_NAME',
    object_uri => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/*namespace-string*/b/*bucketname*/o/import.log',
    directory_name  => 'DATA_PUMP_DIR',
    file_name => 'import.log');
END;
/

Neste exemplo, *namespace-string* é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname é o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.

Para obter mais informações, consulte DBMS_CLOUD for Objects and Files.

Conteúdo Relacionado