Exportar Dados para o Armazenamento de Objetos como Texto Usando DBMS_CLOUD.EXPORT_DATA

Use DBMS_CLOUD.EXPORT_DATA para exportar dados como texto de um Autonomous AI Database para o Armazenamento de Objetos na nuvem. As opções de exportação de formato de texto são CSV, JSON ou XML.

Exportar Dados JSON para o Cloud Object Storage

Mostra as etapas para exportar dados da tabela do Autonomous AI Database para o Cloud Object Storage como dados JSON especificando uma consulta.

Esse método de exportação suporta todos os Cloud Object Stores suportados pelo Autonomous Database, e você pode usar um controlador de recursos do Oracle Cloud Infrastructure para acessar seu Oracle Cloud Infrastructure Object Store, Amazon Resource Names (ARNs) para acessar o AWS Simple Storage Service (S3), um controlador de serviços do Azure para acessar o armazenamento BLOB do Azure ou uma conta de serviço do Google para acessar os recursos do Google Cloud Platform (GCP).

  1. Conecte-se à sua instância do Autonomous AI Database.

    Consulte Estabelecer Conexão com o Autonomous AI Database para obter mais informações.

  2. Armazene a sua credencial do Cloud Object Storage usando DBMS_CLOUD.CREATE_CREDENTIAL.

    Por exemplo:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando.

  3. Execute o DBMS_CLOUD.EXPORT_DATA e especifique o parâmetro format type com o valor json para exportar os resultados como arquivos JSON no Cloud Object Storage.

    Para gerar os arquivos de saída JSON, há duas opções para o parâmetro file_uri_list:

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage.

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage e inclua um prefixo de nome de arquivo a ser usado ao gerar os nomes de arquivo para o JSON exportado.

    Se você não incluir o prefixo de nome de arquivo no file_uri_list, o DBMS_CLOUD.EXPORT_DATA fornecerá um prefixo de nome de arquivo. Consulte Nomeação de Arquivo para Saída de Texto (CSV, JSON, Parquet ou XML) para obter detalhes.

    Por exemplo, o seguinte mostra DBMS_CLOUD.EXPORT_DATA com um prefixo de nome de arquivo especificado em file_uri_list:

     BEGIN
       DBMS_CLOUD.EXPORT_DATA(
         credential_name => 'DEF_CRED_NAME',
         file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
         query           => 'SELECT * FROM DEPT',
         format          => JSON_OBJECT('type' value 'json'));
     END;
     /
    

    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.

    Quando os delimitadores de registro incluem caracteres de escape, como \r\n ou \t, coloque os delimitadores de registro entre aspas duplas. Por exemplo, para usar o delimitador de registro \r\n, coloque o valor entre aspas duplas:"\r\n".

     BEGIN
       DBMS_CLOUD.EXPORT_DATA(
         credential_name => 'DEF_CRED_NAME',
         file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
         query => 'SELECT * FROM DEPT',
         format => JSON_OBJECT('type' value 'json', 'recorddelimiter' value '"\r\n"' format json));
     END;
     /
    

    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 Procedimento EXPORT_DATA.

    Para obter informações detalhadas sobre os parâmetros format disponíveis que você pode usar com DBMS_CLOUD.EXPORT_DATA, consulte Opções de Formato de Pacote DBMS_CLOUD para EXPORT_DATA.

Observações para exportação com DBMS_CLOUD.EXPORT_DATA:

Exportar Dados como CSV para o Cloud Object Storage

Mostra as etapas para exportar dados da tabela do Autonomous AI Database para o Cloud Object Storage como dados CSV especificando uma consulta.

Este método de exportação suporta todos os Cloud Object Stores suportados pelo Autonomous AI Database. Você também pode usar o Amazon Resource Names (ARNs) para acessar o AWS Simple Storage Service (S3), um controlador de serviços do Azure para acessar o armazenamento BLOB do Azure ou uma conta de serviço do Google para acessar os recursos do Google Cloud Platform (GCP).

  1. Conecte-se à sua instância do Autonomous AI Database.

    Consulte Estabelecer Conexão com o Autonomous AI Database para obter mais informações.

  2. Armazene a sua credencial do Cloud Object Storage usando DBMS_CLOUD.CREATE_CREDENTIAL.

    Por exemplo:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando.

  3. Execute o DBMS_CLOUD.EXPORT_DATA e especifique o parâmetro format type com o valor csv para exportar os resultados como arquivos CSV no Cloud Object Storage.

    Para gerar os arquivos de saída CSV, há duas opções para o parâmetro file_uri_list:

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage.

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage e inclua um prefixo de nome de arquivo a ser usado ao gerar os nomes dos arquivos CSV exportados.

    Se você não incluir o prefixo de nome de arquivo no file_uri_list, o DBMS_CLOUD.EXPORT_DATA fornecerá um prefixo de nome de arquivo. Consulte Nomeação de Arquivo para Saída de Texto (CSV, JSON, Parquet ou XML) para obter detalhes.

    Por exemplo, o seguinte mostra DBMS_CLOUD.EXPORT_DATA com um prefixo de nome de arquivo especificado em file_uri_list:

     BEGIN
       DBMS_CLOUD.EXPORT_DATA(
         credential_name => 'DEF_CRED_NAME',
         file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
         query           => 'SELECT * FROM DEPT',
         format          => JSON_OBJECT('type' value 'csv', 'delimiter' value '|', 'compression' value 'gzip'));
     END;
     /
    

    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 Procedimento EXPORT_DATA.

    Para obter informações detalhadas sobre os parâmetros format disponíveis que você pode usar com DBMS_CLOUD.EXPORT_DATA, consulte Opções de Formato de Pacote DBMS_CLOUD para EXPORT_DATA.

Observações para exportação com DBMS_CLOUD.EXPORT_DATA:

Exportar Dados como Parquet para o Cloud Object Storage

Mostra as etapas para exportar dados da tabela do Autonomous AI Database para o Cloud Object Storage como dados Parquet especificando uma consulta.

Esse método de exportação suporta todos os Cloud Object Stores suportados pelo Autonomous Database, e você pode usar um controlador de recursos do Oracle Cloud Infrastructure para acessar seu Oracle Cloud Infrastructure Object Store, Amazon Resource Names (ARNs) para acessar o AWS Simple Storage Service (S3), um controlador de serviços do Azure para acessar o armazenamento BLOB do Azure ou uma conta de serviço do Google para acessar os recursos do Google Cloud Platform (GCP).

  1. Conecte-se à sua instância do Autonomous AI Database.

    Consulte Estabelecer Conexão com o Autonomous AI Database para obter mais informações.

  2. Armazene a sua credencial do Cloud Object Storage usando DBMS_CLOUD.CREATE_CREDENTIAL.

    Por exemplo:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando.

  3. Execute DBMS_CLOUD.EXPORT_DATA e especifique o parâmetro format type com o valor parquet para exportar os resultados como arquivos parquet no Cloud Object Storage.

    Para gerar os arquivos de saída parquet, há duas opções para o parâmetro file_uri_list:

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage.

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage e inclua um prefixo de nome de arquivo a ser usado ao gerar os nomes dos arquivos parquet exportados.

    Se você não incluir o prefixo de nome de arquivo no file_uri_list, o DBMS_CLOUD.EXPORT_DATA fornecerá um prefixo de nome de arquivo. Consulte Nomeação de Arquivo para Saída de Texto (CSV, JSON, Parquet ou XML) para obter detalhes.

    Por exemplo, o seguinte mostra DBMS_CLOUD.EXPORT_DATA com um prefixo de nome de arquivo especificado em file_uri_list:

     BEGIN
       DBMS_CLOUD.EXPORT_DATA(
         credential_name => 'DEF_CRED_NAME',
         file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
         query           => 'SELECT * FROM DEPT',
         format          => JSON_OBJECT('type' value 'parquet', 'compression' value 'snappy'));
     END;
     /
    

    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 Procedimento EXPORT_DATA.

    Para obter informações detalhadas sobre os parâmetros format disponíveis que você pode usar com DBMS_CLOUD.EXPORT_DATA, consulte Opções de Formato de Pacote DBMS_CLOUD para EXPORT_DATA.

Observações para exportação com DBMS_CLOUD.EXPORT_DATA:

Exportar Dados como XML para o Cloud Object Storage

Mostra as etapas para exportar dados da tabela do Autonomous AI Database para o Cloud Object Storage como dados XML especificando uma consulta.

Este método de exportação suporta todos os Cloud Object Stores suportados pelo Autonomous AI Database. Você também pode usar o Amazon Resource Names (ARNs) para acessar o AWS Simple Storage Service (S3), um controlador de serviços do Azure para acessar o armazenamento BLOB do Azure ou uma conta de serviço do Google para acessar os recursos do Google Cloud Platform (GCP).

  1. Conecte-se à sua instância do Autonomous AI Database.

    Consulte Estabelecer Conexão com o Autonomous AI Database para obter mais informações.

  2. Armazene a sua credencial do Cloud Object Storage usando DBMS_CLOUD.CREATE_CREDENTIAL.

    Por exemplo:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    Os valores fornecidos para username e password dependem do serviço de Cloud Object Storage que você está usando.

  3. Execute o DBMS_CLOUD.EXPORT_DATA e especifique o parâmetro format type com o valor xml para exportar os resultados como arquivos XML no Cloud Object Storage.

    Para gerar os arquivos de saída XML, há duas opções para o parâmetro file_uri_list:

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage.

    • Defina o valor file_uri_list como o URL de um bucket existente no Cloud Object Storage e inclua um prefixo de nome de arquivo a ser usado ao gerar os nomes de arquivo para o JSON exportado.

    Se você não incluir o prefixo de nome de arquivo no file_uri_list, o DBMS_CLOUD.EXPORT_DATA fornecerá um prefixo de nome de arquivo. Consulte Nomeação de Arquivo para Saída de Texto (CSV, JSON, Parquet ou XML) para obter detalhes.

    Por exemplo, o seguinte mostra DBMS_CLOUD.EXPORT_DATA com um prefixo de nome de arquivo especificado em file_uri_list:

     BEGIN
       DBMS_CLOUD.EXPORT_DATA(
         credential_name => 'DEF_CRED_NAME',
         file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
         query           => 'SELECT * FROM DEPT',
         format          => JSON_OBJECT('type' value 'xml', 'compression' value 'gzip'));
     END;
     /
    

    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 Procedimento EXPORT_DATA.

    Para obter informações detalhadas sobre os parâmetros format disponíveis que você pode usar com DBMS_CLOUD.EXPORT_DATA, consulte Opções de Formato de Pacote DBMS_CLOUD para EXPORT_DATA.

Observações para exportação com DBMS_CLOUD.EXPORT_DATA:

Nomeação do Arquivo para Saída de Texto (CSV, JSON, Parquet ou XML)

Descreve a nomeação do arquivo de saída usando DBMS_CLOUD.EXPORT_DATA com saída de arquivo de texto CSV, JSON, Parquet ou XML.

DBMS_CLOUD.EXPORT_DATA executa a consulta especificada com o parâmetro query e envia os resultados para arquivos de texto no bucket do Cloud Object Store ou para um diretório. O formato de saída depende do parâmetro format type especificado (um dos seguintes: CSV, JSON, Parquet ou XML).

Para acelerar o procedimento e gerar a saída o mais rápido possível, o DBMS_CLOUD.EXPORT_DATA divide seu trabalho. Isso significa que, dependendo dos recursos do sistema, quando você executa DBMS_CLOUD.EXPORT_DATA, o procedimento cria vários arquivos de saída no bucket do Cloud Object Store ou no diretório.

O formato de cada arquivo gerado é:

[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]

Por exemplo, o prefixo de nome de arquivo no procedimento DBMS_CLOUD.EXPORT_DATA a seguir é especificado no parâmetro file_uri_list, como dept_export. O exemplo gera a saída para o Armazenamento de Objetos fornecido no formato especificado.

BEGIN
  DBMS_CLOUD.EXPORT_DATA(
    credential_name => 'DEF_CRED_NAME',
    file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
    query           => 'SELECT * FROM DEPT',
    format          => JSON_OBJECT('type' value 'json'));
END;
/

Quando você especifica um prefixo de nome de arquivo, os arquivos de saída gerados incluem o prefixo de nome de arquivo, semelhante ao seguinte:

dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json

O número de arquivos de saída gerados depende do tamanho dos resultados, do serviço de banco de dados e do número de ECPUs (OCPUs se o banco de dados usar OCPUs) na instância do Autonomous AI Database.

No exemplo a seguir, o parâmetro file_uri_list não inclui um prefixo de nome de arquivo e o parâmetro compression é fornecido, com o valor gzip:

BEGIN
  DBMS_CLOUD.EXPORT_DATA(
    credential_name => 'DEF_CRED_NAME',
    file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
    query           => 'SELECT * FROM DEPT',
    format          => json_object('type' value 'json', 'compression' value 'gzip'));
END;
/

Quando um prefixo de nome de arquivo não está no parâmetro file_uri_list, DBMS_CLOUD.EXPORT_DATA usa um prefixo de nome de arquivo no formato: client_info_module_action. Para este exemplo, os arquivos de saída gerados incluem o prefixo de nome de arquivo que DBMS_CLOUD.EXPORT_DATA fornece e os arquivos são compactados com gzip e a extensão de arquivo .gz é adicionada, da seguinte forma:

Client1_Module1_Action1_1_20210809T173033Z.json.gz
Client1_Module1_Action1_2_20210809T173034Z.json.gz
Client1_Module1_Action1_3_20210809T173041Z.json.gz
Client1_Module1_Action1_4_20210809T173035Z.json.gz

Se as informações da sessão client_info_module_action não estiverem disponíveis quando você executar DBMS_CLOUD.EXPORT_DATA, o prefixo do nome do arquivo será definido como data. Por exemplo:

data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz

Por exemplo, o prefixo de nome de arquivo no procedimento DBMS_CLOUD.EXPORT_DATA a seguir é especificado no parâmetro file_uri_list, como dept_export. O exemplo gera a saída para o diretório fornecido no formato especificado.

BEGIN
  DBMS_CLOUD.EXPORT_DATA(
    file_uri_list   => 'DATA_PUMP_DIR:sales.json',
    query           => 'SELECT * FROM SALES',
    format          => JSON_OBJECT('type' value 'json'));
END;
/

Quando você especifica um prefixo de nome de arquivo, o arquivo de saída gerado inclui o prefixo de nome de arquivo, semelhante ao seguinte:

sales_1_20230705T124523275915Z.csv

Observações para nomeação de arquivo com DBMS_CLOUD.EXPORT_DATA:

Conteúdo Relacionado