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

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 o Oracle Data Pump Utilities a partir da versão 19.6. A Oracle recomenda o uso da última versão do Oracle Data Pump para importação de dados de arquivos do Data Pump em seu banco de dados.

Faça o download da versão mais recente de Oracle Instant Client, que inclui Oracle Data Pump, para sua plataforma em Downloads de 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 na Oracle Cloud Infrastructure Object Storage, você poderá usar URIs nativos da Oracle Cloud Infrastructure, URIs Swift ou URIs pré-autenticados. Consulte DBMS_CLOUD Package File URI Formats 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 Package File URI Formats para obter informações sobre URIs pré-autenticados do Oracle Cloud Infrastructure.

Este exemplo mostra como criar os metadados de coleta SODA e importar uma coleta 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 de coleta SODA necessários no seu 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 é do tipo BLOB.

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

    Em seguida, no Autonomous Database em que você importa 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 a jsonFormat especificada como OSON.

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

    Consulte Metadados de Coleta 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 as coleções existentes. Consulte Função LIST_COLLECTION_NAMES 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 sua 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 na 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 credencial 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 a Importação de Data Pump com o parâmetro dumpfile definido como a lista de URLs de arquivo no Cloud Object Storage e o parâmetro credencial definido como o nome da credencial criada na etapa anterior.
    Observação

    Importe os dados de coleta usando a opção CONTENT=DATA_ONLY.

    Especifique a coleção que você deseja importar usando o parâmetro INCLUDE. Isso é ú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 da 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ê 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 de dump 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 dumpfile, este exemplo usa o formato de URI recomendado usando Pontos Finais Dedicados do OCI para realm comercial (OC1). O namespace-string é o namespace do Oracle Cloud Infrastructure Object Storage e bucketname é o nome do bucket. 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 para obter mais informações.

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

    O argumento dumpfile é uma lista de URLs delimitados por vírgulas 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 da importação e defina o parâmetro parallel como um trimestre do número de ECPUs (.25 x contagem de ECPUs). Se você estiver usando o modelo de computação de OCPU, defina o parâmetro paralelo como o número de OCPUs (1 x contagem de OCPUs).

    Para obter informações sobre qual nome do serviço de banco de dados se conectar para executar a Importação do Data Pump, consulte Gerenciar Simultaneidade e Prioridades no Autonomous Database.

    Para obter o formato de URL de arquivos de dump para diferentes serviços do Cloud Object Storage, consulte Formatos URI de 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 para o 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-premise, 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 em que você está importando o versionColumn.method já estiver definido como UUID, o REMAP_DATA desse campo não será necessá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.