Criar Credenciais e Copiar Dados para uma Tabela Existente

Para carregar dados de arquivos na Nuvem, primeiro armazene suas credenciais de armazenamento de objetos no Autonomous AI Database e, em seguida, use o procedimento DBMS_CLOUD.COPY_DATA para carregar dados.

O arquivo de origem neste exemplo, channels.txt, tem os seguintes dados:

S,Direct Sales,Direct
T,Tele Sales,Direct
C,Catalog,Indirect
I,Internet,Indirect
P,Partners,Others
  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.

    Não será necessário criar uma credencial para acessar o Oracle Cloud Infrastructure Object Store se você ativar as credenciais do controlador de recursos. Consulte Usar o Controlador de Recursos para Acessar Recursos da Oracle Cloud Infrastructure para obter mais informações.

    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/channels.txt',
        format => json_object('delimiter' value ',')
     );
    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 origem que você deseja carregar.

    • format: define as opções que você pode especificar para descrever o formato do arquivo-fonte, incluindo se o arquivo é do tipo texto, ORC, Parquet ou Avro.

      Se os dados em seus arquivos de origem forem criptografados, decriptografe os dados especificando o parâmetro format com a opção encryption. Consulte Descriptografar Dados Durante a Importação do Serviço Object Storage para obter mais informações sobre como decriptografar dados.

    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.

    Observação

    O Autonomous AI Database suporta uma variedade de formatos de arquivo de origem, incluindo formatos de dados compactados. Consulte DBMS_CLOUD Package Format Options e a opção de formato DBMS_CLOUD compression para ver os tipos de compactação suportados.

    Para obter informações detalhadas sobre os parâmetros, consulte COPY_DATA Procedure e COPY_DATA Procedure for Avro, ORC, or Parquet Files.