Criar Credenciais e Copiar Dados para uma Tabela Existente
Para carregamento de dados de arquivos na Nuvem, primeiro você precisa armazenar suas credenciais de armazenamento de objetos no seu Autonomous Database e, em seguida, usar 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
- 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 comandoSET DEFINE OFF
nessas ferramentas, conforme mostrado no exemplo, para desativar o caractere especial e obter a credencial criada corretamente. - 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âmetrocredential_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çãoencryption
. 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 ebucketname
é 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 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 formatoDBMS_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.
-
Tópico principal: Carregar Dados de Arquivos na Nuvem