Operazioni di massa per i file nel cloud
Il package PL/SQL DBMS_CLOUD
offre il supporto dell'esecuzione parallela per le attività di caricamento, download, copia e trasferimento di file in blocco, semplificando l'esperienza utente e offrendo prestazioni ottimali per le operazioni dei file in blocco.
Il pacchetto DBMS_CLOUD
supporta il caricamento e lo scaricamento di file nei seguenti servizi cloud:
-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage o Azure Data Lake Storage
-
Amazon S3
-
Compatibile con Amazon S3, incluso lo storage cloud a caldo Wasabi
-
Google Cloud Storage
Per ulteriori informazioni, vedere DBMS_CLOUD Formati URI file pacchetto.
- Informazioni sulle operazioni dei file in blocco
DBMS_CLOUD
Le operazioni dei file in blocco supportano il download e il caricamento di file su Autonomous Database, incluso il supporto per la copia, lo spostamento e l'eliminazione di file tra le aree di memorizzazione degli oggetti nel cloud, all'interno dello stesso provider dell'area di memorizzazione degli oggetti o tra i provider dell'area di memorizzazione degli oggetti. - Copia di massa dei file nello storage degli oggetti cloud
Utilizzare la proceduraDBMS_CLOUD.BULK_COPY
per copiare in blocco i file da un bucket o una cartella dell'area di memorizzazione degli oggetti a un altro bucket o cartella. - Spostamento di massa dei file nello storage degli oggetti cloud
Utilizzare la proceduraDBMS_CLOUD.BULK_MOVE
per spostare in blocco i file da una posizione dello storage degli oggetti cloud a un'altra. - Download di massa dei file dallo storage degli oggetti cloud
Utilizzare la proceduraDBMS_CLOUD.BULK_DOWNLOAD
per eseguire il download di massa dei file dalla posizione dell'area di memorizzazione degli oggetti cloud all'oggetto directory in un Autonomous Database. - Caricamento di massa di file nello storage degli oggetti cloud
Utilizzare la proceduraDBMS_CLOUD.BULK_UPLOAD
per eseguire il caricamento di massa di file da un oggetto directory nel database in una posizione dell'area di memorizzazione degli oggetti cloud. - Eliminazione di massa di file dallo storage degli oggetti cloud
Utilizzare la proceduraDBMS_CLOUD.BULK_DELETE
per eliminare in blocco i file dallo storage degli oggetti cloud. - Monitorare e risolvere i problemi relativi ai caricamenti di file in blocco
Tutte le operazioni di caricamento datiDBMS_CLOUD
vengono registrate nelle vistedba_load_operations
euser_load_operations
. - Note per operazioni file in blocco
Fornisce note per le credenziali utilizzate con operazioni file in blocco.
Argomento padre: sposta file
Informazioni sulle operazioni file di massa
DBMS_CLOUD
supportano il download e il caricamento di file su Autonomous Database, incluso il supporto per la copia, lo spostamento e l'eliminazione di file nelle aree di memorizzazione degli oggetti cloud, all'interno dello stesso provider dell'area di memorizzazione degli oggetti o tra i provider dell'area di memorizzazione degli oggetti.
Le operazioni dei file in blocco supportano il parallelismo e forniscono prestazioni ottimali per il caricamento, il download, la copia e lo spostamento dei file. Il parallelismo per le operazioni dei file in blocco viene gestito specificando una priorità per un'operazione. Le priorità supportate sono le seguenti:
HIGH
: utilizzare il conteggio di calcolo della CPU dell'istanza di Autonomous Database per determinare il numero di file paralleli elaborati.MEDIUM
: utilizzare il limite di concorrenza per il servizio Medio per determinare il parallelismo.LOW
: elabora i file in ordine seriale (nessuna concorrenza).
L'esecuzione di operazioni in blocco con una priorità più elevata utilizza un maggior numero di risorse di database e operazioni completate più velocemente quando il parallelismo può accelerare l'operazione. Una priorità inferiore consuma meno risorse del database e il completamento delle operazioni richiede più tempo quando il parallelismo può accelerare l'operazione. Quando le operazioni in blocco coinvolgono un numero limitato di file che contengono pochi dati, la specifica di una priorità più elevata potrebbe non modificare le prestazioni.
Per aumentare il parallelismo per le operazioni dei file in blocco, utilizzare la priorità HIGH
e aumentare il numero di CPU assegnate all'istanza di Autonomous Database. Il numero massimo di operazioni file concorrenti supportate è limitato a 64 per le operazioni file bulk.
La priorità predefinita è MEDIUM
, che specifica che le operazioni dei file in blocco utilizzano il limite di concorrenza definito per il gruppo di consumer MEDIUM. Per ulteriori informazioni, vedere Gestione di concorrenza e priorità in Autonomous Database.
Per informazioni dettagliate sull'utilizzo del parametro format
per specificare priority
con operazioni file bulk, vedere DBMS_CLOUD per la gestione dei file in blocco.
Argomento padre: Operazioni di massa per i file nel cloud
Copia di massa dei file nello storage degli oggetti cloud
Utilizzare la procedura DBMS_CLOUD.BULK_COPY
per copiare in blocco i file da un bucket o una cartella dell'area di memorizzazione degli oggetti in un altro bucket o cartella.
Ad esempio, utilizza DBMS_CLOUD.BULK_COPY
per copiare i file da Amazon S3 a Oracle Cloud Infrastructure Object Storage.
BEGIN
DBMS_CLOUD.BULK_COPY
(
source_credential_name => 'AWS_CRED',
source_location_uri => 'https://bucketname.s3-us-west-2.amazonaws.com/',
target_credential_name => 'OCI_CRED',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Argomento padre: Operazioni di massa per i file nel cloud
Spostamento di massa dei file nello storage degli oggetti cloud
DBMS_CLOUD.BULK_MOVE
per eseguire lo spostamento in blocco dei file da una posizione di storage degli oggetti cloud a un'altra.
Il primo passo per spostare i file è copiarli nella posizione di destinazione. Una volta copiati correttamente, i file vengono eliminati dalla posizione di origine.
I file vengono rinominati anziché copiati se Object Store consente di rinominare le operazioni tra le posizioni di origine e di destinazione.
Ad esempio, utilizza DBMS_CLOUD.BULK_MOVE
per spostare i file da Amazon S3 a Oracle Cloud Infrastructure Object Storage.
BEGIN
DBMS_CLOUD.BULK_MOVE
(
source_credential_name => 'AWS_CRED',
source_location_uri => 'https://bucketname.s3-us-west-2.amazonaws.com/',
target_credential_name => 'OCI_CRED',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Argomento padre: Operazioni di massa per i file nel cloud
Scaricamento di massa dei file dallo storage degli oggetti cloud
Utilizzare la procedura DBMS_CLOUD.BULK_DOWNLOAD
per eseguire il download in blocco dei file dalla posizione dell'area di memorizzazione degli oggetti cloud all'oggetto directory in un Autonomous Database.
Argomento padre: Operazioni di massa per i file nel cloud
Caricamento di massa dei file nello storage degli oggetti cloud
Utilizzare la procedura DBMS_CLOUD.BULK_UPLOAD
per caricare in blocco i file da un oggetto directory nel database in una posizione dell'area di memorizzazione degli oggetti cloud.
Argomento padre: Operazioni di massa per i file nel cloud
Elimina file in blocco da storage degli oggetti cloud
Utilizzare la procedura DBMS_CLOUD.BULK_DELETE
per eliminare in blocco i file dallo storage degli oggetti cloud.
Argomento padre: Operazioni di massa per i file nel cloud
Monitoraggio e risoluzione dei problemi relativi ai caricamenti di file in blocco
Tutte le operazioni di caricamento dati DBMS_CLOUD
vengono registrate nelle viste dba_load_operations
e user_load_operations
.
È possibile utilizzare le viste riportate di seguito per monitorare e risolvere i problemi relativi ai caricamenti di file in blocco.
-
dba_load_operations
: mostra tutte le operazioni di caricamento. -
user_load_operations
: mostra le operazioni di caricamento nello schema.
Eseguire una query su queste viste per visualizzare informazioni sulle operazioni dei file in blocco in corso e completate. Ad esempio, l'istruzione SELECT
seguente con un predicato di clausola WHERE
in TYPE
mostra le operazioni DOWNLOAD
:
SELECT owner_name, type, status, start_time, update_time, status_table, rows_loaded
FROM user_load_operations WHERE type = 'DOWNLOAD';
OWNER_NAME TYPE STATUS START_TIME UPDATE_TIME STATUS_TABLE ROWS_LOADED
---------- -------- --------- ------------------------ ------------------------ ------------ -----------
"ADMIN" DOWNLOAD COMPLETED 2022-10-17T20:42:19.498Z 2022-10-17T20:42:21.054Z DWN$2_STATUS 4
"ADMIN" DOWNLOAD FAILED 2022-10-17T20:40:54.348Z 2022-10-17T20:40:55.679Z DWN$1_STATUS
La colonna STATUS_TABLE
mostra il nome della tabella su cui è possibile eseguire una query per esaminare le informazioni di log dettagliate per l'operazione di scaricamento di massa. Ad esempio:
DESCRIBE DWN$2_STATUS
Name Null? Type
------------- -------- ---------------------------
ID NOT NULL NUMBER
NAME VARCHAR2(4000)
BYTES NUMBER
CHECKSUM VARCHAR2(128)
LAST_MODIFIED TIMESTAMP(6) WITH TIME ZONE
STATUS VARCHAR2(30)
ERROR_CODE NUMBER
ERROR_MESSAGE VARCHAR2(4000)
START_TIME TIMESTAMP(6) WITH TIME ZONE
END_TIME TIMESTAMP(6) WITH TIME ZONE
SID NUMBER
SERIAL# NUMBER
ROWS_LOADED NUMBER
SELECT id, name, bytes, status, error_message, start_time, end_time FROM DWN$2_STATUS;
ID NAME BYTES STATUS ERROR_MESSAGE START_TIME END_TIME
-- ---------- ----- --------- ------------- ------------------------ ------------------------
1 trees.txt 58 COMPLETED 2022-10-17T20:42:19.998Z 2022-10-17T20:42:20.421Z
2 trees1.txt 58 COMPLETED 2022-10-17T20:42:20.425Z 2022-10-17T20:42:20.533Z
3 trees2.txt 58 COMPLETED 2022-10-17T20:42:20.535Z 2022-10-17T20:42:20.894Z
4 trees3.txt 58 COMPLETED 2022-10-17T20:42:20.896Z 2022-10-17T20:42:21.043Z
La tabella di stato mostra ogni nome di file e il relativo stato per l'operazione in blocco.
Il numero e il messaggio di errore rilevanti vengono registrati nella tabella di stato se un'operazione su un file specifico non riesce.
Per le operazioni completate, il tempo necessario per ciascuna operazione può essere calcolato utilizzando l'ora riportata START_TIME
e END_TIME
.
La colonna STATUS
dell'operazione file può avere uno dei seguenti valori:
Stato file | descrizione; |
---|---|
|
Operazione file completata. |
|
Operazione file non riuscita. È possibile riprovare due volte. |
|
L'operazione sul file non è stata ancora avviata. |
|
L'operazione sul file è attualmente in corso. |
|
L'operazione sul file è stata ignorata. |
Se un'operazione di file non riesce dopo due nuovi tentativi, l'operazione in blocco viene contrassegnata come non riuscita e viene generato un errore. Ad esempio:
ORA-20003: Operation failed, please query table DOWNLOAD$2_STATUS for error details
Quando si utilizza un'operazione file bulk DBMS_CLOUD
, sono disponibili opzioni di parametro format
che controllano le tabelle di stato:
-
logretention
: specifica un valore intero che determina la durata in giorni della conservazione della tabella di stato. Il valore predefinito è 2 giorni. -
logprefix
: specifica un valore stringa che determina il prefisso del nome della tabella dello stato dell'operazione in blocco.Ogni operazione in blocco ha il proprio valore predefinito per l'opzione
logprefix
:Procedura Valore predefinito per logprefix
DBMS_CLOUD.BULK_COPY
COPYOBJ
DBMS_CLOUD.BULK_DELETE
DELETE
DBMS_CLOUD.BULK_DOWNLOAD
DOWNLOAD
DBMS_CLOUD.BULK_MOVE
MOVE
DBMS_CLOUD.BULK_UPLOAD
UPLOAD
Per informazioni sulla cancellazione della tabella user_load_operations
, vedere DELETE_ALL_OPERATIONS Procedura.
Argomento padre: Operazioni di massa per i file nel cloud
Note per operazioni file di massa
Fornisce note per le credenziali utilizzate con le operazioni dei file in blocco.
-
È possibile specificare i principal come parametro
credential_name
,source_credential_name
otarget_credential_name
per accedere in modo sicuro alle risorse cloud senza memorizzare le credenziali utente. I principal supportati sono i seguenti:- Principi delle risorse di Oracle Cloud Infrastructure
- Nomi delle risorse AWS Amazon (ARN)
- Principal di servizio di Azure
- Account servizio Google
Per ulteriori informazioni, vedere Configura criteri e ruoli per accedere alle risorse.
-
credential_name
,source_credential_name
otarget_credential_name
possono essereNULL
per l'URI del bucket pubblico, preautenticato o prefirmato.
Argomento padre: Operazioni di massa per i file nel cloud