Exportar Dados para o Armazenamento de Objetos como Texto Usando DBMS_CLOUD.EXPORT_DATA
DBMS_CLOUD.EXPORT_DATA
para exportar dados como texto de um Autonomous Database para o Cloud Object Store. As opções de exportação de formato de texto são CSV, JSON ou XML.
Tópicos Relacionados
Exportar Dados JSON para o Cloud Object Storage
Mostra as etapas para exportar dados de tabelas do Autonomous Database para o Cloud Object Storage como dados JSON especificando uma consulta.
Esse método de exportação suporta todos os Armazenamento de Objetos na Nuvem suportados pelo Autonomous Database e você pode usar um controlador de recursos do Oracle Cloud Infrastructure para acessar o Armazenamento de Objetos do Oracle Cloud Infrastructure, ARNs (Amazon Resource Names) 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 recursos do Google Cloud Platform (GCP).
Observações para exportação com DBMS_CLOUD.EXPORT_DATA
:
-
Se necessário, o parâmetro
query
fornecido poderá ser uma consulta avançada, como uma consulta que inclui junções ou subconsultas. -
Especifique o parâmetro
format
com a opçãocompression
para compactar os arquivos de saída. -
Quando você não precisar mais dos arquivos exportados, use o procedimento
DBMS_CLOUD.DELETE_OBJECT
ou os comandos nativos do Cloud Object Storage para excluir os arquivos.
Exportar Dados como CSV para o Cloud Object Storage
Mostra as etapas para exportar dados de tabelas do Autonomous Database para o Cloud Object Storage como dados CSV especificando uma consulta.
Esse método de exportação suporta todos os Armazenamentos de Objetos na Nuvem suportados pelo Autonomous Database. Você também pode usar 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).
Observações para exportação com DBMS_CLOUD.EXPORT_DATA
:
-
Se necessário, o parâmetro
query
fornecido poderá ser uma consulta avançada, como uma consulta que inclui junções ou subconsultas. -
Especifique o parâmetro
format
com a opçãocompression
para compactar os arquivos de saída. -
Quando você não precisar mais dos arquivos exportados, use o procedimento
DBMS_CLOUD.DELETE_OBJECT
ou os comandos nativos do Cloud Object Storage para excluir os arquivos.
Exportar Dados como Parquet para o Cloud Object Storage
Mostra as etapas para exportar dados de tabelas do Autonomous Database para o Cloud Object Storage como dados Parquet especificando uma consulta.
Esse método de exportação suporta todos os Armazenamento de Objetos na Nuvem suportados pelo Autonomous Database e você pode usar um controlador de recursos do Oracle Cloud Infrastructure para acessar o Armazenamento de Objetos do Oracle Cloud Infrastructure, ARNs (Amazon Resource Names) 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 recursos do Google Cloud Platform (GCP).
Observações para exportação com DBMS_CLOUD.EXPORT_DATA
:
-
Se necessário, o parâmetro
query
fornecido poderá ser uma consulta avançada, como uma consulta que inclui junções ou subconsultas. -
Especifique o parâmetro
format
com a opçãocompression
para compactar os arquivos de saída. Ocompression
padrão paratype
parquet
ésnappy
. -
Quando você não precisar mais dos arquivos exportados, use o procedimento
DBMS_CLOUD.DELETE_OBJECT
ou os comandos nativos do Cloud Object Storage para excluir os arquivos. -
Consulte DBMS_CLOUD Mapeamento de Tipo de Dados Oracle para Parquet do Pacote para obter detalhes sobre o mapeamento de Tipo para Parquet Oracle.
Os seguintes tipos não são suportados ou têm limitações em seu suporte para exportar Parquet com
DBMS_CLOUD.EXPORT_DATA
:Tipo Oracle Notas BFILE
Não suportado
BLOB
Não suportado
DATE
Suportado com a seguinte limitação:
DATE
o formato suporta apenas data, mês e ano. Hora, minuto e segundos não são suportados.Consulte DBMS_CLOUD Mapeamento de Tipo de Dados Oracle para Parquet do Pacote para obter detalhes sobre limitações de formato NLS para exportar
DATE
para Parquet.INTERVAL DAY TO SECOND
Suportado e tratado como string internamente
INTERVAL YEAR TO MONTH
Suportado e tratado como string internamente
LONG
Não suportado
LONG RAW
Não suportado
NUMBER
Suportado com as seguintes limitações:
- Pode ter precisão máxima de 38 e escala igual a menos que a precisão.
- Se nenhuma precisão e escala forem fornecidas para o tipo de coluna
NUMBER
, por padrão, a precisão de 38 e a escala de 20 serão usadas. - A escala negativa não é suportada para tipos
NUMBER
.
Object Types
Não suportado
TIMESTAMP
Suportado com as seguintes limitações:
- Se houver várias colunas com precisão diferente, a precisão mais alta será obtida.
TIMESTAMP WITH TIME ZONE
O tipo de dados Oracle usará apenas o timestamp.
Consulte DBMS_CLOUD Mapeamento de Tipo de Dados Oracle para Parquet do Pacote para obter detalhes sobre limitações de formato NLS para exportar
TIMESTAMP
para Parquet.
Exportar Dados como XML para o Cloud Object Storage
Mostra as etapas para exportar dados de tabelas do Autonomous Database para o Cloud Object Storage como dados XML especificando uma consulta.
Esse método de exportação suporta todos os Armazenamentos de Objetos na Nuvem suportados pelo Autonomous Database. Você também pode usar 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).
Observações para exportação com DBMS_CLOUD.EXPORT_DATA
:
-
Se necessário, o parâmetro
query
fornecido poderá ser uma consulta avançada, como uma consulta que inclui junções ou subconsultas. -
Especifique o parâmetro
format
com a opçãocompression
para compactar os arquivos de saída. -
Quando você não precisar mais dos arquivos exportados, use o procedimento
DBMS_CLOUD.DELETE_OBJECT
ou os comandos nativos do Cloud Object Storage para excluir os arquivos.
Nomeação de Arquivo para Saída de Texto (CSV, JSON, Parquet ou XML)
Descreve a nomenclatura de arquivo de saída usando DBMS_CLOUD.EXPORT_DATA
com saída de arquivo de texto CSV, JSON, Parquet ou XML.
O DBMS_CLOUD.EXPORT_DATA
executa a consulta especificada com o parâmetro query
e envia os resultados para arquivos de texto no bucket do Armazenamento de Objetos na Nuvem ou para um diretório. O formato de saída depende do parâmetro format
type
especificado (um de 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 o 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 Armazenamento de Objetos na Nuvem ou no diretório.
O formato de cada arquivo gerado é:
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
-
FileNamePrefix: (opcional) Se um FileNamePrefix for fornecido, o
DBMS_CLOUD.EXPORT_DATA
usará o prefixo de nome de arquivo para gerar nomes de arquivo para os resultados. O FileNamePrefix é especificado usando o texto fornecido após o nome do bucket ou diretório no valor de parâmetrofile_uri_list
.Você não pode fornecer vários valores para FileNamePrefix no
file_uri_list
. -
client_info_módulo_ação: Se um prefixo de nome de arquivo não for fornecido com o parâmetro
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
usará a combinação de client_info, o módulo e a ação do aplicativo como o prefixo de nome de arquivo (quando essas informações estiverem disponíveis). O procedimento obtém esses nomes das informações do aplicativo para a sessão do banco de dados que executa a consulta. Consulte DBMS_APPLICATION_INFO em Oracle Database 19c PL/SQL Packages and Types Reference ou Oracle Database 23ai PL/SQL Packages and Types Reference para obter informações sobre o nome do client_info, do módulo e o nome da ação.Se um prefixo de nome de arquivo não for fornecido com o
file_uri_list
e os atributos de sessão do banco de dados não estiverem disponíveis, oDBMS_CLOUD.EXPORT_DATA
usará o prefixo de nome de arquivo "data
". -
sequenceNum: O número de sequência associado à consulta
DBMS_CLOUD.EXPORT_DATA
. Dependendo da consulta, do serviço de banco de dados e do número de ECPUs (OCPUs se o seu banco de dados usar OCPUs), há um ou mais sequenceNums. Além disso, dependendo do tamanho dos resultados, há um ou mais arquivos de saída para cada sequenceNum. -
timestamp: Data e hora em que o upload do arquivo é feito.
-
format_extension: O valor padrão depende do valor
format
type
:- Formato CSV:
.csv
- Formato JSON:
.json
- Formato PARQUET
.parquet
- Formato XML:
.xml
Para obter mais informações, consulte a descrição da opção
format
fileextension
em DBMS_CLOUD Opções de Formato do Pacote para EXPORT_DATA. - Formato CSV:
-
compression_extension: Quando você inclui o parâmetro
format
com a opçãocompression
com o valorgzip
, isso é"gz"
.Quando
format
type
éparquet
, o valorcompression
snappy
também é suportado e é o padrão.
Por exemplo, o prefixo do nome do 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 seu banco de dados usar OCPUs) na instância do Autonomous 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 fornecido pelo DBMS_CLOUD.EXPORT_DATA
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 o DBMS_CLOUD.EXPORT_DATA
, o prefixo de nome de 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 do nome do 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 de nomenclatura de arquivos com o DBMS_CLOUD.EXPORT_DATA
:
-
O
DBMS_CLOUD.EXPORT_DATA
não cria buckets ou diretórios. -
O número de arquivos que o
DBMS_CLOUD.EXPORT_DATA
gera é determinado pelo número de ECPUs (OCPUs se o seu banco de dados usar OCPUs), pelo serviço de banco de dados e pelo tamanho dos dados resultantes. -
O seguinte se aplica ao fornecer um nome de objeto de diretório no parâmetro
file_uri_list
:-
O diretório fornecido deve existir e você deve ter acesso
WRITE
ao diretório. -
O nome do diretório faz distinção entre maiúsculas e minúsculas quando está entre aspas duplas.
-
O parâmetro de nome da credencial não deve ser fornecido.
-
-
Para saída CSV, JSON ou XML, por padrão, quando um arquivo gerado contém 10 MB de dados, um novo arquivo de saída é criado. No entanto, se você tiver menos de 10 MB de dados de resultado, poderá ter vários arquivos de saída, dependendo do serviço de banco de dados e do número de ECPUs (OCPUs, se o seu banco de dados usar OCPUs) da instância do Autonomous Database.
O tamanho do chunk do arquivo de saída padrão é 10 MB para CSV, JSON ou XML. Você pode alterar esse valor com a opção
maxfilesize
do parâmetroformat
. Consulte DBMS_CLOUD Opções de Formato do Pacote para EXPORT_DATA para obter mais informações. -
Para saída Parquet, cada arquivo gerado tem menos de 128 MB e vários arquivos de saída podem ser gerados. No entanto, se você tiver menos de 128 MB de dados de resultado, poderá ter vários arquivos de saída, dependendo do serviço de banco de dados e do número de ECPUs (OCPUs, se o seu banco de dados usar OCPUs) da instância do Autonomous Database.
A opção
maxfilesize
do parâmetroformat
não se aplica a arquivos Parquet.