Criar credenciais e copiar dados para uma tabela existente
Para carregamento de dados de arquivos na Cloud, primeiro armazene suas credenciais de armazenamento de objetos no seu Autonomous 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
- 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.
A criação de uma credencial para acessar o Oracle Cloud Infrastructure Object Store não será necessária se você ativar as credenciais do controlador de recursos. Para obter mais informações, consulte Usar o Controlador de Recursos para Acessar Recursos do Oracle Cloud Infrastructure.
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 comandoSET DEFINE OFF
nessas ferramentas, conforme mostrado no exemplo, para desativar o caractere especial e fazer com que a credencial seja criada corretamente. - 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/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 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 origem que você deseja carregar. -
format
: define as opções que você pode especificar para descrever o formato do arquivo de origem, 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 ao Importar do Serviço Object Storage para obter mais informações sobre como decriptografar dados.
Neste exemplo,
namespace-string
corresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure ebucketname
corresponde ao 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 Opções de Formato do Pacote 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 Procedimento e COPY_DATA Procedimento para Arquivos Avro, ORC ou Parquet.
-
Tópico principal: Carregar Dados de Arquivos na Nuvem