Importar Dados de Coleta SODA Usando o Oracle Data Pump Versão 19.6 ou Mais Recente

Mostra as etapas para importar coleções SODA para o Autonomous Database com o Oracle Data Pump.

Você pode exportar e importar coleções SODA usando os Utilitários do Oracle Data Pump, começando com a versão 19.6. A Oracle recomenda o uso da versão mais recente do Oracle Data Pump para importar dados de arquivos do Data Pump para seu banco de dados.

Faça download da versão mais recente do Oracle Instant Client, que inclui o Oracle Data Pump, para a 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, se seus arquivos de origem residirem no Oracle Cloud Infrastructure Object Storage, você poderá usar URIs nativos do Oracle Cloud Infrastructure, URIs Swift ou URIs pré-autenticados. Consulte Formatos de URI de Arquivo de Pacote DBMS_CLOUD para obter detalhes sobre esses formatos de URI de arquivo.

Se você estiver usando um URI pré-autenticado do Oracle Cloud Infrastructure, ainda precisará fornecer um parâmetro credential. No entanto, as credenciais de um URL pré-autenticado são ignoradas (e as credenciais fornecidas não precisam ser válidas). Consulte DBMS_CLOUD Formatos de URI de Arquivo de Pacote para obter informações sobre URIs pré-autenticados do Oracle Cloud Infrastructure.

Este exemplo mostra como criar os metadados da coleção SODA e importar uma coleção SODA com o Data Pump.

  1. No banco de dados de origem, exporte a coleção SODA usando o comando expdp do Oracle Data Pump.
  2. Faça upload do conjunto de arquivos de dump da Etapa 1 para o Cloud Object Storage.
  3. Crie uma coleção SODA com os metadados obrigatórios da coleção SODA no Autonomous Database.

    Por exemplo, se você exportar uma coleção chamada MyCollectionName do banco de dados de origem com os seguintes metadados:

    • A coluna de conteúdo é um tipo BLOB.

    • A coluna de versão usa o método SHA256.

    Em seguida, no Autonomous Database, em que você importar a coleção, crie uma nova coleção:

    • Por padrão, no Autonomous Database para uma nova coleção, a coluna de conteúdo é definida como BLOB com o jsonFormat especificado como OSON.

    • Por padrão, no Autonomous Database, para uma nova coleção, versionColumn.method é definido como UUID.

    Consulte Metadados de Coleção Padrão SODA no Autonomous Database para obter detalhes.

    Por exemplo:

    
    DECLARE
       collection_create SODA_COLLECTION_T;
    BEGIN
       collection_create := DBMS_SODA.CREATE_COLLECTION('MyCollectionName');
    END;
    /
    COMMIT;

    Você pode usar a função PL/SQL DBMS_SODA.LIST_COLLECTION_NAMES para descobrir coleções existentes. Consulte LIST_COLLECTION_NAMES Função para obter mais informações.

    Você pode exibir os metadados das coleções SODA consultando a view USER_SODA_COLLECTIONS. Consulte USER_SODA_COLLECTIONS para obter mais informações.

  4. Armazene a credencial do Cloud Object Storage usando DBMS_CLOUD.CREATE_CREDENTIAL.

    Por exemplo, 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@example.com',
        password => 'password'
      );
    END;
    /

    Para obter mais informações sobre a autenticação do Token de Autenticação do Oracle Cloud Infrastructure, consulte Procedimento CREATE_CREDENTIAL.

    Por exemplo, para criar credenciais baseadas em Chave de Assinatura do Oracle Cloud Infrastructure:

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
           credential_name => 'DEF_CRED_NAME',
           user_ocid       => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
           tenancy_ocid    => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
           private_key     => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
           fingerprint     => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
    END;
    /

    Para obter mais informações sobre credenciais baseadas na Chave de Assinatura do Oracle Cloud Infrastructure, consulte Procedimento CREATE_CREDENTIAL.

    Tipos de credenciais suportados:

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

      Para obter mais informações sobre credenciais baseadas na Chave de Assinatura do Oracle Cloud Infrastructure, consulte Procedimento CREATE_CREDENTIAL.

    • O Data Pump suporta o uso de um URL pré-autenticado do Oracle Cloud Infrastructure Object Storage para o parâmetro dumpfile. Quando você usa um URL pré-autenticado, é necessário fornecer o parâmetro credential e o valor credential pode ser NULL. Consulte Usando Solicitações Pré-Autenticadas para obter mais informações.
  5. Execute o Data Pump Import com o parâmetro dumpfile definido como lista dos URLs de arquivo no Cloud Object Storage e o parâmetro credencial definido como nome da credencial criada na etapa anterior.
    Observação

    Importe os dados da coleção usando a opção CONTENT=DATA_ONLY.

    Especifique a coleção que você deseja importar usando o parâmetro INCLUDE. Isso será útil se um conjunto de arquivos de dados contiver o esquema inteiro e a coleção SODA que você precisa importar for incluída como parte do conjunto de arquivos de dump.

    Use REMAP_DATA para alterar qualquer uma das colunas durante a importação. Este exemplo mostra como usar REMAP_DATA para alterar o método de coluna de versão de SHA256 para UUID.

    impdp admin/password@db2022adb_high \       
         directory=data_pump_dir \       
         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 \
         
         encryption_pwd_prompt=yes \
         SCHEMA=my_schema \
         INCLUDE=TABLE:\"= \'MyCollectionName\'\"  \
         CONTENT=DATA_ONLY \
         REMAP_DATA=my_schema.'\"MyCollectionName\"'.VERSION:SYS.DBMS_SODA.TO_UUID 
          
    

    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.

      Use o curinga legado %U ou %u para exportações do Oracle Database anteriores à Release 12.2. Se você usar essa opção e mais de 99 arquivos de dump forem necessários, especifique vários nomes de arquivos de dump, cada um com o parâmetro %U ou %u.

    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.

    No Oracle Data Pump versão 19.6 e posterior, o argumento credencial autentica o Oracle Data Pump no Cloud Object Storage Service que você está usando para seus arquivos de origem. O parâmetro credential não pode ser um controlador de serviços do Azure, um ARN (Amazon Resource Name) ou uma conta de serviço do Google. Consulte Acessando Recursos da Nuvem Configurando Políticas e Atribuições para obter mais informações sobre autenticação baseada no controlador de recursos.

    O argumento dumpfile corresponde a uma lista delimitada por vírgulas de URLs para seus arquivos do Data Pump.

    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 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 estabelecer conexão para executar o Data Pump Import, consulte Gerenciar Simultaneidade e Prioridades no Autonomous Database.

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

    Observação

    Para executar uma importação completa ou importar objetos pertencentes a outros usuários, você precisa da atribuição DATAPUMP_CLOUD_IMP.

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

    Neste exemplo de importação, a especificação do parâmetro REMAP_DATA usa a função DBMS_SODA.TO_UUID para gerar valores de UUID. Por padrão, para bancos de dados on-line, a coluna de versão de uma coleção SODA é calculada usando o hash SHA-256 do conteúdo do documento. No Autonomous Database, a coluna de versão usa valores gerados por UUID, que são independentes do conteúdo do documento.

    Neste exemplo, o parâmetro REMAP_DATA usa a função DBMS_SODA.TO_UUID para substituir o tipo de versão da coleção de origem pelo controle de versão do UUID. Se no conjunto de arquivos de dump de exportação que você está importando o versionColumn.method já estiver definido como UUID, o REMAP_DATA desse campo não será obrigatório.

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

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 de Importação do Data Pump. Consulte Acessando o Arquivo de Log para Importação do Data Pump para obter mais informações.