DBMS_CLOUD per la gestione dei file di massa

Prerequisiti

Come sviluppatore, puoi utilizzare le procedure DBMS_CLOUD con i database AI autonomi distribuiti su Oracle Public Cloud, Multicloud o Exadata Cloud@Customer.

A seconda della scelta di distribuzione, è necessario soddisfare i seguenti prerequisiti per utilizzare le procedure DBMS_CLOUD con i provider di servizi Amazon S3, Azure Blob Storage e Google Cloud Storage.

Riepilogo dei programmi secondari DBMS_CLOUD per la gestione dei file di massa

Sottoprogrammi per le operazioni di file bulk all'interno del package DBMS_CLOUD.

Sottoprogramma Descrizione
Procedura BULK_COPY Questa procedura copia i file da un bucket di storage degli oggetti cloud a un altro.
Procedura BULK_DELETE La procedura elimina i file dal bucket o dalla cartella dello storage degli oggetti cloud.
Procedura BULK_DOWNLOAD Questa procedura consente di scaricare i file dal bucket dell'area di memorizzazione degli oggetti cloud in una directory in Autonomous AI Database.
Procedura BULK_MOVE Questa procedura sposta i file da un bucket di storage degli oggetti cloud a un altro.
Procedura BULK_UPLOAD Questa procedura carica i file da una directory in Autonomous AI Database nello storage degli oggetti cloud.

Procedura BULK_COPY

Questa procedura copia in blocco i file da un bucket di storage degli oggetti cloud a un altro. Il form sovraccarico consente di utilizzare il parametro operation_id.

È possibile filtrare l'elenco dei file da eliminare utilizzando un pattern di espressione regolare compatibile con l'operatore REGEXP_LIKE.

Il bucket o la cartella di origine e di destinazione possono trovarsi nello stesso provider dell'area di memorizzazione degli oggetti cloud o in un provider diverso.

Quando l'origine e la destinazione si trovano in aree di memorizzazione oggetti distinte o hanno account diversi con lo stesso provider cloud, è possibile assegnare nomi di credenziali separati per le posizioni di origine e destinazione.

Per impostazione predefinita, il nome della credenziale di origine viene utilizzato anche dalla posizione di destinazione.

Sintassi

DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_COPY (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

Parametri

Parametro Descrizione
source_credential_name

Nome della credenziale per accedere allo storage degli oggetti cloud.

Se non si specifica un valore source_credential_name, credential_name viene impostato su NULL.

source_location_uri

Specifica l'URI che punta al bucket o alla posizione della cartella di storage degli oggetti di origine.

Questo parametro è obbligatorio.

URI file di origine cloud

È possibile utilizzare i caratteri jolly e le espressioni regolari nei nomi file negli URI dei file di origine cloud.

Le espressioni regolari possono essere utilizzate solo se il parametro regexuri format è impostato su TRUE.

I caratteri "*" e "?" sono considerati caratteri jolly quando il parametro regexuri è impostato su FALSE. Se il parametro regexuri è impostato su TRUE, i caratteri "*" e "?" fanno parte del pattern di espressione regolare specificato.

I pattern di espressione regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza dei pattern è identica a quella eseguita dalla funzione REGEXP_LIKE.

Esempio di utilizzo di espressioni regolari:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

Esempio con caratteri jolly:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere Formati URI di storage degli oggetti cloud.

Per ulteriori informazioni sulla condizione REGEXP_LIKE, vedere REGEXP_LIKE Condition in Oracle Database 19c SQL Language Reference o Oracle Database 26ai SQL Language Reference.

target_location_uri

Specifica l'URI per il bucket o la cartella di storage degli oggetti di destinazione, in cui è necessario copiare i file.

Questo parametro è obbligatorio.

Specifica l'URI che punta al bucket o alla posizione della cartella di storage degli oggetti di origine.

Questo parametro è obbligatorio.

Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Per ulteriori informazioni, vedere Formati URI di storage degli oggetti di DBMS_CLOUD Package File Cloud.

target_credential_name

Nome della credenziale per accedere alla posizione di storage degli oggetti cloud di destinazione.

Se non si specifica un valore target_credential_name, target_location_uri viene impostato sul valore source_credential_name.

regex_filter

Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore REGEXP_LIKE.

Se non si specifica un valore regex_filter, regex_filter viene impostato su NULL.

Per ulteriori informazioni, vedere Condizione REGEXP_LIKE.

format

Specifica le opzioni di configurazione aggiuntive per l'operazione file. Queste opzioni sono specificate come stringa JSON.

Di seguito sono riportate le opzioni di formato supportate.

  • logretention: accetta un valore intero che determina la durata in giorni per la quale la tabella di stato viene conservata per un'operazione in blocco.

    Il valore predefinito è 2 giorni.

  • logprefix: accetta un valore stringa che determina la stringa del prefisso del nome della tabella dello stato dell'operazione in blocco.

    Il tipo di operazione è il valore predefinito. Per BULK_COPY, il valore predefinito logprefix è COPYOBJ.

  • priority: accetta un valore stringa che determina il numero di operazioni di file eseguite contemporaneamente.

    Un'operazione con priorità più alta consuma più risorse del database e dovrebbe essere eseguita più velocemente.

    Accetta i seguenti valori:

    • HIGH: determina il numero di file paralleli gestiti utilizzando il conteggio ECPU del database (conteggio OCPU se il database utilizza le OCPU).

    • MEDIUM: determina il numero di processi simultanei che utilizzano il limite di concorrenza per il servizio Medium. Il valore predefinito è 4.

    • LOW: elaborare i file in ordine seriale.

    Il valore predefinito è MEDIUM.

    Il numero massimo di operazioni file concorrenti è limitato a 64.

Se non si specifica un valore format, format viene impostato su NULL.

operation_id Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista USER_LOAD_OPERATIONS.

Nota: viene restituito un errore quando l'URI di origine e di destinazione punta allo stesso bucket o cartella di storage degli oggetti.

Esempio

BEGIN
DBMS_CLOUD.BULK_COPY (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     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;
/

Procedura BULK_DELETE

Questa procedura elimina in blocco i file dallo storage degli oggetti cloud. Il form sovraccarico consente di utilizzare il parametro operation_id. È possibile filtrare la lista dei file da eliminare utilizzando un pattern di espressione regolare compatibile con l'operatore REGEXP_LIKE.

Sintassi

DBMS_CLOUD.BULK_DELETE(
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_DELETE (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parametri

Parametro Descrizione
credential_name

Nome della credenziale per accedere allo storage degli oggetti cloud.

Se non si specifica un valore credential_name, credential_name viene impostato su NULL.

location_uri

Specifica l'URI che punta a una posizione di storage degli oggetti in Autonomous AI Database.

Questo parametro è obbligatorio.

URI file di origine cloud

È possibile utilizzare i caratteri jolly e le espressioni regolari nei nomi file negli URI dei file di origine cloud.

Le espressioni regolari possono essere utilizzate solo se il parametro regexuri format è impostato su TRUE.

I caratteri "*" e "?" sono considerati caratteri jolly quando il parametro regexuri è impostato su FALSE. Se il parametro regexuri è impostato su TRUE, i caratteri "*" e "?" fanno parte del pattern di espressione regolare specificato.

I pattern di espressione regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza dei pattern è identica a quella eseguita dalla funzione REGEXP_LIKE.

Ad esempio:

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere Formati URI di storage degli oggetti cloud.

Per ulteriori informazioni sulla condizione REGEXP_LIKE, vedere REGEXP_LIKE Condition in Oracle Database 19c SQL Language Reference o Oracle Database 26ai SQL Language Reference.

Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Per ulteriori informazioni, vedere Formati URI di storage degli oggetti di DBMS_CLOUD Package File Cloud.

regex_filter

Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore REGEXP_LIKE.

Se non si specifica un valore regex_filter, regex_filter viene impostato su NULL.

Per ulteriori informazioni, vedere Condizione REGEXP_LIKE.

format

Specifica le opzioni di configurazione aggiuntive per l'operazione file. Queste opzioni sono specificate come stringa JSON.

Di seguito sono riportate le opzioni di formato supportate.

  • logretention: accetta un valore intero che determina la durata in giorni per la quale la tabella di stato viene conservata per un'operazione bulk.

    Il valore predefinito è 2 giorni.

  • logprefix: accetta un valore stringa che determina la stringa del prefisso del nome della tabella dello stato dell'operazione in blocco.

    Il tipo di operazione è il valore predefinito. Per BULK_DELETE, il valore predefinito logprefix è DELETE.

  • priority: accetta un valore stringa che determina il numero di operazioni di file eseguite contemporaneamente.

    Un'operazione con priorità più alta consuma più risorse del database e viene completata prima.

    Accetta i seguenti valori:

    • HIGH: determina il numero di file paralleli gestiti utilizzando il conteggio ECPU del database (conteggio OCPU se il database utilizza le OCPU).

    • MEDIUM: determina il numero di processi simultanei che utilizzano il limite di concorrenza per il servizio Medium. Il valore predefinito è 4.

    • LOW: elaborare i file in ordine seriale.

    Il valore predefinito è MEDIUM.

    Il numero massimo di operazioni file concorrenti è limitato a 64.

Se non si specifica un valore format, format viene impostato su NULL.

operation_id Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista USER_LOAD_OPERATIONS.

Esempio

BEGIN
DBMS_CLOUD.BULK_DELETE (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/

Procedura BULK_DOWNLOAD

Questa procedura consente di scaricare i file in una directory di Autonomous AI Database dallo storage degli oggetti cloud. Il form sovraccarico consente di utilizzare il parametro operation_id. È possibile filtrare l'elenco dei file da scaricare utilizzando un pattern di espressione regolare compatibile con l'operatore REGEXP_LIKE.

Sintassi

DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parametri

Parametro Descrizione
credential_name

Nome della credenziale per accedere allo storage degli oggetti cloud.

Se non si specifica un valore credential_name, credential_name viene impostato su NULL.

location_uri

Specifica l'URI che punta a una posizione di storage degli oggetti in Autonomous AI Database.

Questo parametro è obbligatorio.

URI file di origine cloud

È possibile utilizzare i caratteri jolly e le espressioni regolari nei nomi file negli URI dei file di origine cloud.

Le espressioni regolari possono essere utilizzate solo se il parametro regexuri format è impostato su TRUE.

I caratteri "*" e "?" sono considerati caratteri jolly quando il parametro regexuri è impostato su FALSE. Se il parametro regexuri è impostato su TRUE, i caratteri "*" e "?" fanno parte del pattern di espressione regolare specificato.

I pattern di espressione regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza dei pattern è identica a quella eseguita dalla funzione REGEXP_LIKE.

Ad esempio:

location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere Formati URI di storage degli oggetti cloud.

Per ulteriori informazioni sulla condizione REGEXP_LIKE, vedere REGEXP_LIKE Condition in Oracle Database 19c SQL Language Reference o Oracle Database 26ai SQL Language Reference.

directory_name

Il nome della directory nell'Autonomous AI Database da cui si desidera scaricare i file.

Questo parametro è obbligatorio.

regex_filter

Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore REGEXP_LIKE.

Se non si specifica un valore regex_filter, regex_filter viene impostato su NULL.

Per ulteriori informazioni, vedere Condizione REGEXP_LIKE.

format

Specifica le opzioni di configurazione aggiuntive per l'operazione file. Queste opzioni sono specificate come stringa JSON.

Di seguito sono riportate le opzioni di formato supportate.

  • logretention: accetta un valore intero che determina la durata in giorni per la quale la tabella di stato viene conservata per un'operazione in blocco.

    Il valore predefinito è 2 giorni.

  • logprefix: accetta un valore stringa che determina la stringa del prefisso del nome della tabella dello stato dell'operazione di massa. Per BULK_DOWNLOAD, il valore predefinito logprefix è DOWNLOAD.

    Il tipo di operazione è il valore predefinito.

  • priority: accetta un valore stringa che determina il numero di operazioni di file eseguite contemporaneamente.

    Un'operazione con priorità più alta consuma più risorse del database e viene completata prima.

    Accetta i seguenti valori:

    • HIGH: determina il numero di file paralleli gestiti utilizzando il conteggio ECPU del database (conteggio OCPU se il database utilizza le OCPU).

    • MEDIUM: determina il numero di processi simultanei che utilizzano il limite di concorrenza per il servizio Medium. Il valore predefinito è 4.

    • LOW: elaborare i file in ordine seriale.

    Il valore predefinito è MEDIUM.

    Il numero massimo di operazioni file concorrenti è limitato a 64.

Se non si specifica un valore format, format viene impostato su NULL.

operation_id Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista USER_LOAD_OPERATIONS.

Esempio

BEGIN
DBMS_CLOUD.BULK_DOWNLOAD (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
 );
END;
/

Procedura BULK_MOVE

Questa procedura sposta in blocco i file da un bucket o una cartella di storage degli oggetti cloud a un'altra. Il form sovraccarico consente di utilizzare il parametro operation_id.

È possibile filtrare la lista dei file da eliminare utilizzando un pattern di espressione regolare compatibile con l'operatore REGEXP_LIKE.

Il bucket o la cartella di origine e di destinazione possono trovarsi nello stesso provider dell'area di memorizzazione degli oggetti cloud o in un provider diverso.

Quando l'origine e la destinazione si trovano in aree di memorizzazione oggetti distinte o hanno account diversi con lo stesso provider cloud, è possibile assegnare nomi di credenziali separati per le posizioni di origine e destinazione.

Per impostazione predefinita, il nome della credenziale di origine viene utilizzato anche dalla posizione di destinazione quando non viene fornito il nome della credenziale di destinazione.

Il primo passo per spostare i file consiste nel copiarli nella posizione di destinazione, quindi nell'eliminazione dei file di origine, una volta copiati correttamente.

L'oggetto viene rinominato anziché spostato se l'area di memorizzazione degli oggetti consente di rinominare le operazioni tra le posizioni di origine e di destinazione.

Sintassi

DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_MOVE (
      source_credential_name  IN  VARCHAR2 DEFAULT NULL,
      source_location_uri     IN  VARCHAR2,
      target_location_uri     IN  VARCHAR2,
      target_credential_name  IN  VARCHAR2 DEFAULT NULL,
      regex_filter            IN  VARCHAR2 DEFAULT NULL,
      format                  IN  CLOB     DEFAULT NULL,
      operation_id            OUT NUMBER
);

Parametri

Parametro Descrizione
source_credential_name

Nome della credenziale per accedere allo storage degli oggetti cloud di origine.

Se non si specifica un valore source_credential_name, credential_name viene impostato su NULL.

source_location_uri

Specifica l'URI che punta al bucket o alla posizione della cartella di storage degli oggetti di origine.

Questo parametro è obbligatorio.

URI file di origine cloud

È possibile utilizzare i caratteri jolly e le espressioni regolari nei nomi file negli URI dei file di origine cloud.

Le espressioni regolari possono essere utilizzate solo se il parametro regexuri format è impostato su TRUE.

I caratteri "*" e "?" sono considerati caratteri jolly quando il parametro regexuri è impostato su FALSE. Se il parametro regexuri è impostato su TRUE, i caratteri "*" e "?" fanno parte del pattern di espressione regolare specificato.

I pattern di espressione regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza dei pattern è identica a quella eseguita dalla funzione REGEXP_LIKE.

Esempio di utilizzo di espressioni regolari:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

Esempio con caratteri jolly:

source_location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere Formati URI di storage degli oggetti cloud.

Per ulteriori informazioni sulla condizione REGEXP_LIKE, vedere REGEXP_LIKE Condition in Oracle Database 19c SQL Language Reference o Oracle Database 26ai SQL Language Reference.

target_location_uri

Specifica l'URI per il bucket o la cartella di storage degli oggetti di destinazione, in cui è necessario spostare i file.

Questo parametro è obbligatorio.

Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere Formati URI di storage degli oggetti cloud.

target_credential_name

Nome della credenziale per accedere alla posizione di storage degli oggetti cloud di destinazione.

Se non si specifica un valore target_credential_name, target_location_uri viene impostato sul valore source_credential_name.

regex_filter

Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore REGEXP_LIKE.

Se non si specifica un valore regex_filter, regex_filter viene impostato su NULL.

Per ulteriori informazioni, vedere Condizione REGEXP_LIKE.

format

Specifica le opzioni di configurazione aggiuntive per l'operazione file. Queste opzioni sono specificate come stringa JSON.

Di seguito sono riportate le opzioni di formato supportate.

  • logretention: accetta un valore intero che determina la durata in giorni per la quale la tabella di stato viene conservata per un'operazione in blocco.

    Il valore predefinito è 2 giorni.

  • logprefix: accetta un valore stringa che determina la stringa del prefisso del nome della tabella dello stato dell'operazione di massa.

    Il tipo di operazione è il valore predefinito. Per BULK_MOVE, il valore predefinito logprefix è MOVE.

  • priority: accetta un valore stringa che determina il numero di operazioni di file eseguite contemporaneamente.

    Un'operazione con priorità più alta consuma più risorse del database e viene completata prima.

    Accetta i seguenti valori:

    • HIGH: determina il numero di file paralleli gestiti utilizzando il conteggio ECPU del database (conteggio OCPU se il database utilizza le OCPU).

    • MEDIUM: determina il numero di processi simultanei che utilizzano il limite di concorrenza per il servizio Medium. Il valore predefinito è 4.

    • LOW: elaborare i file in ordine seriale.

    Il valore predefinito è MEDIUM.

    Il numero massimo di operazioni file concorrenti è limitato a 64.

Se non si specifica un valore format, format viene impostato su NULL.

operation_id Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista USER_LOAD_OPERATIONS.

Esempio

BEGIN
DBMS_CLOUD.BULK_MOVE (
     source_credential_name => 'OCI_CRED',
     source_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
     target_location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
     format                 => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/

Nota: viene restituito un errore quando l'URI di origine e di destinazione punta allo stesso bucket o cartella di storage degli oggetti.

Procedura BULK_UPLOAD

Questa procedura copia i file nello storage degli oggetti cloud da una directory di Autonomous AI Database. Il form sovraccarico consente di utilizzare il parametro operation_id.

Sintassi

DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL
);
DBMS_CLOUD.BULK_UPLOAD (
     credential_name  IN  VARCHAR2 DEFAULT NULL,
     location_uri     IN  VARCHAR2,
     directory_name   IN  VARCHAR2,
     regex_filter     IN  VARCHAR2 DEFAULT NULL,
     format           IN  CLOB     DEFAULT NULL,
     operation_id     OUT NUMBER
);

Parametri

Parametro Descrizione
credential_name

Nome della credenziale per accedere allo storage degli oggetti cloud.

Se non si specifica un valore credential_name, credential_name viene impostato su NULL.

location_uri

Specifica l'URI che punta a una posizione di storage degli oggetti per caricare i file.

Questo parametro è obbligatorio.

Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Per ulteriori informazioni, vedere Formati URI di storage degli oggetti di DBMS_CLOUD Package File Cloud.

directory_name

Il nome della directory nell'Autonomous AI Database da cui si caricano i file.

Questo parametro è obbligatorio.

Directory

È possibile specificare una directory e uno o più nomi di file oppure utilizzare un elenco separato da virgole di directory e nomi di file. Il formato per specificare una directory è:'MY_DIR:filename.ext'. Per impostazione predefinita, il nome della directory MY_DIR è un oggetto di database e non fa distinzione tra maiuscole e minuscole. Nel nome del file viene fatta distinzione tra maiuscole e minuscole.

Le espressioni regolari non sono supportate quando si specificano i nomi dei file in una directory. È possibile utilizzare solo caratteri jolly per specificare i nomi dei file in una directory. Il carattere "*" può essere utilizzato come caratteri jolly per più caratteri, mentre il carattere "?" può essere utilizzato come caratteri jolly per un singolo carattere. Ad esempio:'MY_DIR:*" o 'MY_DIR:test?'

Per specificare più directory, utilizzare un elenco separato da virgole: ad esempio:'MY_DIR1:*, MY_DIR2:test?'

Usare le virgolette doppie per specificare un nome di directory con distinzione tra maiuscole e minuscole. Ad esempio:'"my_dir1":*, "my_dir2":Test?'

Per includere una virgoletta, utilizzare due virgolette. Ad esempio:'MY_DIR:''filename.ext'. Specifica che filename inizia con un' virgoletta (').

regex_filter

Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore REGEXP_LIKE.

Se non si specifica un valore regex_filter, regex_filter viene impostato su NULL.

Per ulteriori informazioni, vedere Condizione REGEXP_LIKE.

format

Specifica le opzioni di configurazione aggiuntive per l'operazione file. Queste opzioni sono specificate come stringa JSON.

Di seguito sono riportate le opzioni di formato supportate.

  • logretention: accetta un valore intero che determina la durata in giorni per la quale la tabella di stato viene conservata per un'operazione in blocco.

    Il valore predefinito è 2 giorni.

  • logprefix: accetta un valore stringa che determina la stringa del prefisso del nome della tabella dello stato dell'operazione in blocco.

    Il tipo di operazione è il valore predefinito. Per BULK_UPLOAD, il valore predefinito logprefix è UPLOAD.

  • priority: accetta un valore stringa che determina il numero di operazioni di file eseguite contemporaneamente.

    Un'operazione con priorità più alta consuma più risorse del database e viene completata prima.

    Accetta i seguenti valori:

    • HIGH: determina il numero di file paralleli gestiti utilizzando il conteggio ECPU del database (conteggio OCPU se il database utilizza le OCPU).

    • MEDIUM: determina il numero di processi simultanei che utilizzano il limite di concorrenza per il servizio Medium. Il valore predefinito è 4.

    • LOW: elaborare i file in ordine seriale.

    Il valore predefinito è MEDIUM.

    Il numero massimo di operazioni file concorrenti è limitato a 64.

Se non si specifica un valore format, format viene impostato su NULL.

operation_id Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista USER_LOAD_OPERATIONS.

Esempio

BEGIN
DBMS_CLOUD.BULK_UPLOAD (
     credential_name => 'OCI_CRED',
     location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
     directory_name  => 'BULK_TEST',
     format          => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
 );
END;
/

Contenuto correlato

Operazioni di massa per i file nel cloud