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, il che semplifica l'esperienza utente e offre prestazioni ottimali per le operazioni di file in blocco.
Il pacchetto DBMS_CLOUD
supporta il caricamento e lo scaricamento dei file nei servizi cloud riportati di seguito.
-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage o Azure Data Lake Storage
-
Amazon S3
-
Compatibile con Amazon S3, incluso Wasabi Hot Cloud Storage
-
Archiviazione Google Cloud
Per ulteriori informazioni, vedere DBMS_CLOUD Package File URI Formats.
- Informazioni sulle operazioni dei file di massa
DBMS_CLOUD
Le operazioni dei file di massa supportano il download e il caricamento di file su Autonomous Database, incluso il supporto per la copia, lo spostamento e l'eliminazione dei file negli storage degli oggetti 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 in 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 dei file nello storage degli oggetti cloud
Utilizzare la proceduraDBMS_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. - Eliminazione di massa dei 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 di massa
Tutte le operazioni di caricamento datiDBMS_CLOUD
vengono registrate nelle vistedba_load_operations
euser_load_operations
. - Note per operazioni file di massa
Fornisce note per le credenziali utilizzate con operazioni di file di massa.
Argomento padre: Sposta file
Informazioni sulle operazioni dei file bulk
DBMS_CLOUD
supportano il download e il caricamento di file su Autonomous Database, incluso il supporto per la copia, lo spostamento e l'eliminazione dei file negli storage degli oggetti cloud, nello stesso provider dell'area di memorizzazione degli oggetti o tra provider dell'area di memorizzazione degli oggetti.
Le operazioni di file di massa 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 di massa viene gestito specificando una priorità per un'operazione. Le priorità sostenute sono:
HIGH
: utilizzare il conteggio di computazione CPU dell'istanza di Autonomous Database per determinare il numero di file paralleli elaborati.MEDIUM
: utilizzare il limite di concorrenza per il servizio Medium per determinare il parallelismo.LOW
: Elabora i file in ordine seriale (nessuna concorrenza).
L'esecuzione di operazioni di massa con priorità più elevata utilizza più risorse del database e il completamento delle operazioni più rapido quando il parallelismo può accelerare l'operazione. Una priorità inferiore utilizza meno risorse del database e il completamento delle operazioni richiede più tempo quando il parallelismo può accelerare l'operazione. Quando le operazioni di massa comportano un numero limitato di file che contengono pochi dati, l'impostazione di una priorità più alta potrebbe non modificare le prestazioni.
Per aumentare il parallelismo per le operazioni con file di massa, utilizzare la priorità HIGH
e aumentare il numero di CPU assegnate all'istanza di Autonomous Database. Il numero massimo di operazioni di file concorrenti supportate è limitato a 64 per le operazioni di file bulk.
La priorità predefinita è MEDIUM
, che specifica che le operazioni di file bulk utilizzano il limite di concorrenza definito per il gruppo di consumer MEDIUM. Per ulteriori informazioni, consulta la sezione Gestire l'accesso concorrente e le priorità in Autonomous Database.
Vedere DBMS_CLOUD for Bulk File Management per i dettagli sull'uso del parametro format
per specificare priority
con le operazioni di file bulk.
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, utilizzare 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 spostare in blocco i file da una posizione di storage degli oggetti cloud a un'altra.
Il primo passo per spostare i file consiste nel copiarli nella posizione di destinazione. Una volta copiati, i file vengono eliminati dalla posizione di origine.
I file vengono rinominati anziché copiati se l'area di memorizzazione degli oggetti consente di rinominare le operazioni tra le posizioni di origine e di destinazione.
Ad esempio, utilizzare 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
Download di massa dei file dallo storage degli oggetti cloud
Utilizzare la procedura DBMS_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.
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
Eliminazione di massa dei file dallo 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
Monitorare e risolvere i problemi relativi ai caricamenti di file di massa
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 di file di massa in corso e completate. Ad esempio, l'istruzione SELECT
seguente con un predicato 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 file e il relativo stato per l'operazione in blocco.
Il numero di errore e il messaggio 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 e riuscita. |
|
Operazione file non riuscita. È possibile tentare un nuovo tentativo per due volte. |
|
L'operazione file non è stata ancora avviata. |
|
L'operazione sul file è attualmente in corso. |
|
Operazione file saltata. |
Se un'operazione di file non riesce dopo due nuovi tentativi, l'operazione di massa 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 di 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 di 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 bulk 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 Procedure.
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 di file bulk.
-
È possibile specificare i principal come parametro
credential_name
,source_credential_name
otarget_credential_name
per accedere alle risorse cloud in modo sicuro senza memorizzare le credenziali utente. I principal supportati sono:- Principali delle risorse di Oracle Cloud Infrastructure
- Nomi delle risorse AWS Amazon (ARN)
- Principal di servizio di Azure
- Account di servizio Google
Per ulteriori informazioni, vedere Configurare criteri e ruoli per accedere alle risorse.
-
credential_name
,source_credential_name
otarget_credential_name
possono essereNULL
per l'URI bucket pubblico, preautenticato o prefirmato.
Argomento padre: Operazioni di massa per i file nel cloud