Criar Credenciais e Carregar Arquivos de Dump do Data Pump para uma Tabela Existente

Para o carregamento de dados, você também pode usar arquivos de dump do Oracle Data Pump como arquivos de origem.

Os arquivos de origem desse tipo de carga devem ser exportados do sistema de origem usando o driver de acesso ORACLE_DATAPUMP em Tabelas Externas. Consulte Descarregando e Carregando Dados com o Driver de Acesso ORACLE_DATAPUMP para obter detalhes sobre como exportar usando o driver de acesso ORACLE_DATAPUMP.

Para carregar os dados, primeiro mova os arquivos de dump que foram exportados usando o driver de acesso ORACLE_DATAPUMP para o Armazenamento de Objetos e, em seguida, use DBMS_CLOUD.COPY_DATA para carregar os arquivos de dump para uma tabela existente no seu banco de dados.

Os arquivos de origem neste exemplo são os arquivos de dump do Oracle Data Pump, exp01.dmp e exp02.dmp.

  1. Armazene suas credenciais de armazenamento de objetos usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL. Por exemplo:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    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.

    Para obter informações detalhadas sobre os parâmetros, consulte CREATE_CREDENTIAL Procedure.

    Observação

    Algumas ferramentas como SQL*Plus e SQL Developer usam o E comercial (&) como caractere especial. Se você tiver o caractere E comercial em sua senha, use o comando SET DEFINE OFF nessas ferramentas, conforme mostrado no exemplo, para desativar o caractere especial e fazer com que a credencial seja criada corretamente.
  2. Carregue dados para uma tabela existente usando o procedimento DBMS_CLOUD.COPY_DATA. Por exemplo:
    CREATE TABLE CHANNELS
       (channel_id CHAR(1),
        channel_desc VARCHAR2(20),
        channel_class VARCHAR2(20)
       );
    /
    
    BEGIN
     DBMS_CLOUD.COPY_DATA(
        table_name =>'CHANNELS',
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp,
                         https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp02.dmp',
        format => json_object('type' value 'datapump')
     );
    END;
    /
    

    Os parâmetros são:

    • table_name: é o nome da tabela de destino.

    • credential_name: é o nome da credencial criada na etapa anterior. O parâmetro credential_name deve estar em conformidade com as convenções de nomenclatura do objeto Oracle. Consulte Regras de Nomenclatura do Objeto de Banco de Dados para obter mais informações.

    • file_uri_list: é uma lista delimitada por vírgulas dos arquivos de dump do Data Pump que você deseja carregar.

    • format: define as opções que você pode especificar para descrever o formato do arquivo de origem. Quando você especifica type como 'datapump', o único outro parâmetro de formato válido é 'rejectlimit'.

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

    Para obter informações detalhadas sobre os parâmetros, consulte COPY_DATA Procedimento e COPY_DATA Procedimento para Arquivos Avro, ORC ou Parquet.