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

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

Os arquivos de origem deste tipo de carga devem ser exportados do sistema de origem usando o driver de acesso ORACLE_DATAPUMP nas 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 seu Object Store 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 do 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 ProcedimentoCREATE_CREDENTIAL.

    Observação

    Algumas ferramentas, como o SQL*Plus e o SQL Developer, usam o caractere E comercial (&) como um 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 obter a credencial criada corretamente.
  2. Carregue dados em 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 de acordo com as convenções de nomeação de objetos da Oracle. Consulte Regras de Nomeação de 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 é 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 informações detalhadas sobre os parâmetros, consulte COPY_DATA Procedure e COPY_DATA Procedure for Avro, ORC, or Parquet Files.