Esporta dati nell'area di memorizzazione degli oggetti come testo utilizzando DBMS_CLOUD.EXPORT_DATA
DBMS_CLOUD.EXPORT_DATA
per esportare i dati come testo da un Autonomous Database nell'area di memorizzazione degli oggetti cloud. Le opzioni di esportazione del formato testo sono CSV, JSON o XML.
Argomenti correlati
Esporta dati JSON in storage degli oggetti cloud
Mostra i passi per esportare i dati delle tabelle dall'Autonomous Database allo storage degli oggetti cloud come dati JSON specificando una query.
Questo metodo di esportazione supporta tutte le aree di memorizzazione degli oggetti cloud supportate da Autonomous Database ed è possibile utilizzare un principal di risorse Oracle Cloud Infrastructure per accedere all'area di memorizzazione degli oggetti Oracle Cloud Infrastructure, ai nomi delle risorse Amazon (ARN) per accedere ad AWS Simple Storage Service (S3), a un principal di servizio Azure per accedere allo storage BLOB di Azure o a un account di servizio Google per accedere alle risorse Google Cloud Platform (GCP).
Note per l'esportazione con DBMS_CLOUD.EXPORT_DATA
:
-
Il parametro
query
fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery. -
Specificare il parametro
format
con l'opzionecompression
per comprimere i file di output. -
Quando non sono più necessari i file esportati, utilizzare la procedura
DBMS_CLOUD.DELETE_OBJECT
o i comandi nativi dello storage degli oggetti cloud per eliminare i file.
Esporta dati come CSV nello storage degli oggetti cloud
Mostra i passi per esportare i dati delle tabelle dall'Autonomous Database allo storage degli oggetti cloud come dati CSV specificando una query.
Questo metodo di esportazione supporta tutte le aree di memorizzazione degli oggetti cloud supportate da Autonomous Database. È inoltre possibile utilizzare i nomi delle risorse Amazon (ARN) per accedere ad AWS Simple Storage Service (S3), un principal del servizio Azure per accedere all'archiviazione BLOB di Azure o un account del servizio Google per accedere alle risorse di Google Cloud Platform (GCP).
Note per l'esportazione con DBMS_CLOUD.EXPORT_DATA
:
-
Il parametro
query
fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery. -
Specificare il parametro
format
con l'opzionecompression
per comprimere i file di output. -
Quando non sono più necessari i file esportati, utilizzare la procedura
DBMS_CLOUD.DELETE_OBJECT
o i comandi nativi dello storage degli oggetti cloud per eliminare i file.
Esporta dati come parquet nello storage degli oggetti cloud
Mostra i passi per esportare i dati delle tabelle dall'Autonomous Database allo storage degli oggetti cloud come dati Parquet specificando una query.
Questo metodo di esportazione supporta tutte le aree di memorizzazione degli oggetti cloud supportate da Autonomous Database ed è possibile utilizzare un principal di risorse Oracle Cloud Infrastructure per accedere all'area di memorizzazione degli oggetti Oracle Cloud Infrastructure, ai nomi delle risorse Amazon (ARN) per accedere ad AWS Simple Storage Service (S3), a un principal di servizio Azure per accedere allo storage BLOB di Azure o a un account di servizio Google per accedere alle risorse Google Cloud Platform (GCP).
Note per l'esportazione con DBMS_CLOUD.EXPORT_DATA
:
-
Il parametro
query
fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery. -
Specificare il parametro
format
con l'opzionecompression
per comprimere i file di output. Il valore predefinitocompression
pertype
parquet
èsnappy
. -
Quando non sono più necessari i file esportati, utilizzare la procedura
DBMS_CLOUD.DELETE_OBJECT
o i comandi nativi dello storage degli oggetti cloud per eliminare i file. -
Per informazioni dettagliate sul mapping tra tipo Oracle e tipo di parquet, vedere DBMS_CLOUD Mapping tra tipo di dati Oracle e tipo di parquet.
I seguenti tipi non sono supportati o prevedono limitazioni per il supporto dell'esportazione di parquet con
DBMS_CLOUD.EXPORT_DATA
:Tipo specifico Oracle Note BFILE
Non supportate
BLOB
Non supportate
DATE
Supportato con la seguente limitazione: il formato
DATE
supporta solo data, mese e anno. Ora, minuti e secondi non sono supportati.Per informazioni dettagliate sulle limitazioni del formato NLS per l'esportazione di
DATE
in Parquet, vedere DBMS_CLOUD Package Oracle Data Type to Parquet Mapping.INTERVAL DAY TO SECOND
Supportato e considerato come stringa internamente
INTERVAL YEAR TO MONTH
Supportato e considerato come stringa internamente
LONG
Non supportate
LONG RAW
Non supportate
NUMBER
Supportato dalle seguenti limitazioni:
- Può avere una precisione massima di 38 e una scala inferiore alla precisione.
- Se per la colonna
NUMBER
non sono disponibili precisione e scala, per impostazione predefinita viene utilizzata la precisione 38 e la scala 20. - La scala negativa non è supportata per i tipi
NUMBER
.
Object Types
Non supportate
TIMESTAMP
Supportato dalle seguenti limitazioni:
- Se sono presenti più colonne con precisione diversa, verrà eseguita la massima precisione.
TIMESTAMP WITH TIME ZONE
Il tipo di dati Oracle utilizzerà solo l'indicatore orario.
Per informazioni dettagliate sulle limitazioni del formato NLS per l'esportazione di
TIMESTAMP
in Parquet, vedere DBMS_CLOUD Package Oracle Data Type to Parquet Mapping.
Esporta dati come XML nello storage degli oggetti cloud
Mostra i passi per esportare i dati delle tabelle dall'Autonomous Database allo storage degli oggetti cloud come dati XML specificando una query.
Questo metodo di esportazione supporta tutte le aree di memorizzazione degli oggetti cloud supportate da Autonomous Database. È inoltre possibile utilizzare i nomi delle risorse Amazon (ARN) per accedere ad AWS Simple Storage Service (S3), un principal del servizio Azure per accedere all'archiviazione BLOB di Azure o un account del servizio Google per accedere alle risorse di Google Cloud Platform (GCP).
Note per l'esportazione con DBMS_CLOUD.EXPORT_DATA
:
-
Il parametro
query
fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery. -
Specificare il parametro
format
con l'opzionecompression
per comprimere i file di output. -
Quando non sono più necessari i file esportati, utilizzare la procedura
DBMS_CLOUD.DELETE_OBJECT
o i comandi nativi dello storage degli oggetti cloud per eliminare i file.
Denominazione dei file per l'output di testo (CSV, JSON, Parquet o XML)
Descrive la denominazione dei file di output utilizzando l'output del file di testo DBMS_CLOUD.EXPORT_DATA
con CSV, JSON, Parquet o XML.
DBMS_CLOUD.EXPORT_DATA
esegue la query specificata con il parametro query
e invia i risultati ai file di testo nel bucket dell'area di memorizzazione degli oggetti cloud o in una directory. Il formato di output dipende dal parametro format
type
specificato (uno dei seguenti parametri: CSV, JSON, Parquet o XML).
Per velocizzare la procedura e generare l'output il più rapidamente possibile, DBMS_CLOUD.EXPORT_DATA
ne divide il lavoro. Ciò significa che, a seconda delle risorse di sistema, quando si esegue DBMS_CLOUD.EXPORT_DATA
, la procedura crea più file di output nel bucket dell'area di memorizzazione degli oggetti cloud o nella directory.
Il formato per ogni file generato è:
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
-
FileNamePrefix: (facoltativo) se si fornisce un file FileNamePrefix,
DBMS_CLOUD.EXPORT_DATA
utilizza il prefisso del nome file per generare i nomi dei file per i risultati. Il valore FileNamePrefix viene specificato utilizzando il testo fornito dopo il nome del bucket o della directory nel valore del parametrofile_uri_list
.Non è possibile fornire più valori per FileNamePrefix nel file
file_uri_list
. -
client_info_modulo_azione: se il prefisso del nome file non viene fornito con il parametro
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
utilizza la combinazione di client_info, modulo e azione dell'applicazione come prefisso del nome file (quando queste informazioni sono disponibili). La procedura ottiene questi nomi dalle informazioni dell'applicazione per la sessione di database che esegue la query. Vedere DBMS_APPLICATION_INFO in Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 23ai PL/SQL Packages and Types Reference per informazioni su client_info, nome modulo e nome azione.Se il prefisso del nome file non viene fornito con
file_uri_list
e gli attributi della sessione del database non sono disponibili,DBMS_CLOUD.EXPORT_DATA
utilizza il prefisso del nome file "data
". -
sequenceNum: il numero di sequenza associato alla query
DBMS_CLOUD.EXPORT_DATA
. A seconda della query, del servizio di database e del numero di ECPU (OCPU, se il database utilizza le OCPU) sono disponibili una o più sequenceNum. Inoltre, a seconda delle dimensioni dei risultati, sono disponibili uno o più file di output per ogni sequenceNum. -
indicatore orario: indicatore orario al caricamento del file.
-
format_extension: il valore predefinito dipende dal valore
format
type
:- Formato CSV:
.csv
- Formato JSON:
.json
- Formato PARQUET
.parquet
- Formato XML:
.xml
Per ulteriori informazioni, vedere la descrizione dell'opzione
format
fileextension
in DBMS_CLOUD Opzioni formato pacchetto per EXPORT_DATA. - Formato CSV:
-
compression_extension: quando si include il parametro
format
con l'opzionecompression
con il valoregzip
, si tratta del valore"gz"
.Se
format
type
èparquet
, è supportato anche il valorecompression
snappy
, che è l'impostazione predefinita.
Ad esempio, il prefisso del nome file nella seguente procedura DBMS_CLOUD.EXPORT_DATA
è specificato nel parametro file_uri_list
, come dept_export
. L'esempio genera l'output nell'area di memorizzazione degli oggetti fornita nel formato specificato.
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 si specifica un prefisso di nome file, i file di output generati includono il prefisso di nome file, simile al seguente:
dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json
Il numero di file di output generati dipende dalla dimensione dei risultati, dal servizio di database e dal numero di ECPU (OCPU, se il database utilizza le OCPU) nell'istanza di Autonomous Database.
Nell'esempio seguente il parametro file_uri_list
non include un prefisso di nome file e viene fornito il parametro compression
con il valore 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 un prefisso di nome file non si trova nel parametro file_uri_list
, DBMS_CLOUD.EXPORT_DATA
utilizza un prefisso di nome file nel formato: client_info_module_action. Per questo esempio, i file di output generati includono il prefisso del nome file fornito da DBMS_CLOUD.EXPORT_DATA
e i file sono compressi con gzip e l'estensione file .gz
viene aggiunta, come indicato di seguito.
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 le informazioni sulla sessione client_info_module_action non sono disponibili quando si esegue DBMS_CLOUD.EXPORT_DATA
, il prefisso del nome file viene impostato su data
. Ad esempio:
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz
Ad esempio, il prefisso del nome file nella seguente procedura DBMS_CLOUD.EXPORT_DATA
è specificato nel parametro file_uri_list
, come dept_export
. L'esempio genera l'output nella directory fornita nel formato specificato.
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 si specifica un prefisso di nome file, il file di output generato include il prefisso di nome file, simile al seguente:
sales_1_20230705T124523275915Z.csv
Note per la denominazione dei file con DBMS_CLOUD.EXPORT_DATA
:
-
DBMS_CLOUD.EXPORT_DATA
non crea bucket o directory. -
Il numero di file generati da
DBMS_CLOUD.EXPORT_DATA
è determinato dal numero di ECPU (OCPU, se il database utilizza OCPU), dal servizio di database e dalla dimensione dei dati dei risultati. -
Quando si fornisce un nome oggetto directory nel parametro
file_uri_list
, si applica quanto riportato di seguito.-
La directory specificata deve esistere ed è necessario disporre dell'accesso
WRITE
alla directory. -
Il nome della directory fa distinzione tra maiuscole e minuscole quando è racchiuso tra virgolette.
-
Non è necessario fornire il parametro del nome della credenziale.
-
-
Per l'output CSV, JSON o XML, per impostazione predefinita quando un file generato contiene 10 MB di dati, viene creato un nuovo file di output. Tuttavia, se hai meno di 10 MB di dati dei risultati, potresti avere più file di output, a seconda del servizio di database e del numero di ECPU (OCPU se il tuo database utilizza le OCPU) per l'istanza di Autonomous Database.
La dimensione predefinita del chunk del file di output è 10 MB per CSV, JSON o XML. È possibile modificare questo valore con l'opzione
maxfilesize
del parametroformat
. Per ulteriori informazioni, vedere DBMS_CLOUD Opzioni formato pacchetto per EXPORT_DATA. -
Per l'output Parquet, ogni file generato è inferiore a 128 MB ed è possibile generare più file di output. Tuttavia, se hai meno di 128 MB di dati dei risultati, potresti avere più file di output a seconda del servizio di database e del numero di ECPU (OCPU se il tuo database utilizza OCPU) per l'istanza di Autonomous Database.
L'opzione
maxfilesize
del parametroformat
non si applica ai file Parquet.