Pacchetto DBMS_CLOUD_PIPELINE

Il pacchetto DBMS_CLOUD_PIPELINE consente di creare pipeline di dati per il caricamento e l'esportazione dei dati nel cloud. Questo package supporta il caricamento incrementale continuo dei dati dei file nell'area di memorizzazione degli oggetti nel database. DBMS_CLOUD_PIPELINE supporta inoltre l'esportazione incrementale continua dei dati delle tabelle o dei risultati delle query dal database all'area di memorizzazione degli oggetti in base a una colonna con indicatore orario.

Riepilogo dei sottoprogrammi DBMS_CLOUD_PIPELINE

La tabella riportata di seguito riassume i sottoprogrammi inclusi nel pacchetto DBMS_CLOUD_PIPELINE.

Sottoprogramma Descrizione

Procedura CREATE_PIPELINE

Crea una nuova pipeline di dati.

Procedura DROP_PIPELINE

Elimina una pipeline di dati esistente.

Procedura RESET_PIPELINE

Reimposta lo stato di registrazione di una pipeline di dati. Utilizzare Reimposta pipeline per riavviare la pipeline dallo stato iniziale di caricamento o esportazione dei dati. Facoltativamente, la reimpostazione della pipeline può rimuovere i dati nel database o nell'area di memorizzazione degli oggetti, a seconda del tipo di pipeline.

Procedura RUN_PIPELINE_ONCE

Esegue un'esecuzione su richiesta della pipeline nella sessione in primo piano corrente anziché in un job pianificato.

Procedura SET_ATTRIBUTE

Imposta gli attributi della pipeline. Esistono due procedure sovraccaricate, una per impostare un singolo attributo e un'altra per impostare più attributi utilizzando un documento JSON di coppie nome/valore attributo.

Procedura START_PIPELINE

Avvia la pipeline dati. Quando viene avviata una pipeline, l'operazione della pipeline viene eseguita continuamente in un job pianificato in base all'"intervallo" configurato negli attributi della pipeline.

Procedura STOP_PIPELINE

Arresta la pipeline di dati. Quando una pipeline viene arrestata, non viene pianificato alcun job futuro per la pipeline.

Procedura CREATE_PIPELINE

La procedura crea una nuova pipeline di dati.

Sintassi

DBMS_CLOUD_PIPELINE.CREATE_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      pipeline_type        IN   VARCHAR2,
      attributes           IN   CLOB        DEFAULT NULL,
      description          IN   VARCHAR2    DEFAULT NULL
);

Parametri

Parametro Descrizione

pipeline_name

Specifica un nome per la pipeline. Il nome della pipeline deve seguire le regole di denominazione degli identificativi Oracle SQL. Per ulteriori informazioni, vedere Identificatori.

Questo parametro è obbligatorio.

pipeline_type

Specifica il tipo di pipeline.

Valori validi: LOAD, EXPORT

Questo parametro è obbligatorio.

attributes

Attributi della pipeline in formato JSON.

Valore predefinito: NULL

Per ulteriori informazioni, vedere DBMS_CLOUD_PIPELINE Attributes.

description

Descrizione per la pipeline.

Valore predefinito: NULL

Procedura DROP_PIPELINE

La procedura elimina una pipeline di dati esistente. Se una pipeline è stata avviata, deve essere arrestata prima di poter essere eliminata.

Sintassi

DBMS_CLOUD_PIPELINE.DROP_PIPELINE(
       pipeline_name        IN   VARCHAR2,
       force                IN   BOOLEAN DEFAULT FALSE
 );

Parametri

Parametro Descrizione

pipeline_name

Specifica un nome pipeline.

Questo parametro è obbligatorio.

force

Eliminare forzatamente una pipeline, anche se è in stato avviato.

Valori validi: TRUE, FALSE

Valore predefinito: FALSE

Nota per l'uso

  • Per eliminare una pipeline in stato avviato, impostare il parametro force su TRUE.

Procedura RESET_PIPELINE

Reimposta lo stato di registrazione di una pipeline di dati. Utilizzare Reimposta pipeline per riavviare la pipeline dallo stato iniziale di caricamento o esportazione dei dati. Facoltativamente, la reimpostazione della pipeline può rimuovere i dati nel database o nell'area di memorizzazione degli oggetti, a seconda del tipo di pipeline. Per reimpostarla, è necessario che una pipeline di dati sia in stato arrestato.

Sintassi

DBMS_CLOUD_PIPELINE.RESET_PIPELINE(
       pipeline_name        IN   VARCHAR2,
       purge_data           IN   BOOLEAN DEFAULT FALSE
 );

Parametri

Parametro Descrizione

pipeline_name

Specifica un nome per la pipeline.

Questo parametro è obbligatorio.

purge_data

I dati di rimozione sono validi per una pipeline di caricamento o di esportazione:

  • Per una pipeline di caricamento, quando TRUE, tronca i dati nella tabella del database.

  • Per una pipeline di esportazione, quando si utilizza TRUE, eliminare i file nella posizione dell'area di memorizzazione degli oggetti.

Valori validi: TRUE, FALSE

Valore predefinito: FALSE

Note sull'uso

  • Per reimpostarla, è necessario che una pipeline di dati sia in stato arrestato. Per ulteriori informazioni, vedere STOP_PIPELINE Procedure.

  • Per una pipeline di caricamento, la reimpostazione della pipeline comporta la cancellazione del record dei file caricati dalla pipeline. Quando si chiama START_PIPELINE o RUN_PIPELINE_ONCE dopo la reimpostazione di una pipeline di caricamento, la pipeline ripete il caricamento dei dati e include tutti i file presenti nella posizione dell'area di memorizzazione degli oggetti.

    Quando purge_data è impostato su TRUE, DBMS_CLOUD_PIPELINE.RESET_PIPELINE esegue le operazioni riportate di seguito.

    • Tronca i dati nella tabella di database della pipeline specificata con l'attributo table_name.

    • Elimina la tabella di stato della pipeline e la tabella dei file errati e degli errori della pipeline (se esistenti).

  • Per una pipeline di esportazione, la reimpostazione della pipeline cancella gli ultimi dati registrati nella tabella del database. Quando si chiama START_PIPELINE o RUN_PIPELINE_ONCE dopo aver reimpostato una pipeline di esportazione, la pipeline ripete l'esportazione dei dati dalla tabella o dalla query.

    Se purge_data è impostato su TRUE, DBMS_CLOUD_PIPELINE.RESET_PIPELINE elimina i file esistenti nella posizione dell'area di memorizzazione degli oggetti specificata con l'attributo location.

Procedura RUN_PIPELINE_ONCE

Questa procedura esegue un'esecuzione su richiesta della pipeline nella sessione in primo piano corrente, invece di un'esecuzione in un job pianificato. Utilizzare DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE per eseguire il test di una pipeline prima di avviare la pipeline come job continuo.

Sintassi

DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE(
       pipeline_name  IN  VARCHAR2
);

Parametri

Parametro Descrizione

pipeline_name

Specifica un nome per l'esecuzione della pipeline.

Questo parametro è obbligatorio.

Note sull'uso

  • Dopo aver eseguito un test di una pipeline, è possibile reimpostare lo stato della pipeline utilizzando DBMS_CLOUD_PIPELINE.RESET_PIPELINE. Ciò consente di reimpostare lo stato della pipeline prima di avviare la pipeline in un job pianificato.

  • Se una pipeline è in stato avviato, non può essere eseguita nella sessione in primo piano.

Procedura SET_ATTRIBUTE

Questa procedura imposta gli attributi della pipeline. Esistono due procedure sovraccaricate, una per impostare un singolo attributo e un'altra per impostare più attributi utilizzando un documento JSON di coppie nome/valore attributo.

Sintassi

PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
      pipeline_name        IN   VARCHAR2,
      attribute_name       IN   VARCHAR2,
      attribute_value      IN   CLOB
);
 
PROCEDURE DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE(
      pipeline_name        IN   VARCHAR2,
      attributes           IN   CLOB
);

Parametri

Parametro Descrizione

pipeline_name

Specifica un nome per la pipeline di impostazione degli attributi.

Questo parametro è obbligatorio.

attribute_name

Specifica il nome attributo per l'attributo da impostare.

Per ulteriori informazioni, vedere DBMS_CLOUD_PIPELINE Attributes.

attribute_value

Specifica il valore dell'attributo pipeline da impostare.

Per ulteriori informazioni, vedere DBMS_CLOUD_PIPELINE Attributes.

attributes

Specifica un documento JSON contenente i nomi e i valori degli attributi.

Per ulteriori informazioni, vedere DBMS_CLOUD_PIPELINE Attributes.

Nota per l'uso

  • Quando si utilizza DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE per impostare più attributi con il parametro attributes, tutti gli attributi esistenti vengono eliminati e sovrascritti con gli attributi specificati dal documento JSON.

Procedura START_PIPELINE

La procedura avvia la pipeline di dati. Quando viene avviata una pipeline, l'operazione della pipeline viene eseguita in modo continuo in un job pianificato in base all'indirizzo interval configurato con gli attributi della pipeline.

Sintassi

DBMS_CLOUD_PIPELINE.START_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      start_date           IN   TIMESTAMP WITH TIME ZONE DEFAULT NULL
);

Parametri

Parametro Descrizione

pipeline_name

Specifica un nome per la pipeline.

Questo parametro è obbligatorio.

start_date

Specifica la data di inizio per il job pipeline.

Valore predefinito: NULL

Note sull'uso

  • Per impostazione predefinita, un job pipeline viene avviato immediatamente non appena la pipeline viene avviata. Per avviare un job pipeline in un secondo momento, specificare una data o un indicatore orario valido utilizzando il parametro start_date.

  • Per informazioni sulla pipeline interval e su altri attributi pipeline, vedere DBMS_CLOUD_PIPELINE Attributes.

Procedura STOP_PIPELINE

La procedura arresta la pipeline di dati. Quando una pipeline viene arrestata, non viene pianificato alcun job futuro per la pipeline.

Sintassi

DBMS_CLOUD_PIPELINE.STOP_PIPELINE(
      pipeline_name        IN   VARCHAR2,
      force                IN   BOOLEAN  DEFAULT  FALSE
);

Parametri

Parametro Descrizione

pipeline_name

Specifica un nome per la pipeline.

Questo parametro è obbligatorio.

force

Se il parametro force viene passato come TRUE, interromperà qualsiasi job in esecuzione per la pipeline.

Valori validi: TRUE, FALSE

Valore predefinito: FALSE

Attributi DBMS_CLOUD_PIPELINE

Gli attributi consentono di controllare e configurare il funzionamento di una pipeline di dati.

Attributi

Nota

Come indicato nella colonna Tipo di pipeline, a seconda del tipo di pipeline LOAD o EXPORT, una pipeline supporta un set di attributi diverso.
Nome attributo Descrizione Tipo di pipeline Modificabile dopo l'avvio della pipeline
credential_name

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

È possibile utilizzare 'OCI$RESOURCE_PRINCIPAL' come credential_name quando il principal risorsa è abilitato. Sono supportate anche le credenziali specificate con le seguenti: Nomi delle risorse Amazon, Principal del servizio Azure o Account del servizio Google. Per ulteriori informazioni, vedere Configurare criteri e ruoli per accedere alle risorse.

Valore predefinito: NULL.

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

LOAD, EXPORT
field_list

Identifica i campi nei file di origine e i relativi tipi di dati. La sintassi di questo argomento è la stessa della clausola field_list nelle normali tabelle esterne Oracle. Per ulteriori informazioni su field_list, vedere Oracle® Database Utilities.

Valore predefinito: NULL

Il valore predefinito specifica i campi e i relativi tipi di dati sono determinati dalle colonne della tabella specificata nell'attributo table_name.

LOAD
format

Opzioni che descrivono il formato per il tipo di pipeline.

Datapump format non supportato per una pipeline di esportazione.

Questo attributo è obbligatorio per entrambe le pipeline LOAD e EXPORT.

LOAD, EXPORT
interval

Intervallo di tempo in minuti tra le esecuzioni consecutive del job pipeline pianificato.

Valore predefinito: 15 minuti

LOAD, EXPORT
key_column

Colonna indicatore orario o data nel file table o query specificato per l'esportazione continua dei dati più recenti nell'area di memorizzazione degli oggetti. L'indicatore orario o la data dell'ultima esecuzione viene tracciato dalla pipeline di esportazione e confrontato con il valore in key_column per identificare i nuovi dati da esportare nell'area di memorizzazione degli oggetti.

Valore predefinito: NULL

Se non si specifica key_column per una pipeline di esportazione, l'intero contenuto di table o query viene caricato nell'area di memorizzazione degli oggetti in ogni esecuzione del job della pipeline.

EXPORT N
location

Specifica un URI che punta a una posizione di storage degli oggetti.

Il formato dell'URI dipende dal servizio di storage degli oggetti cloud. Per ulteriori informazioni, vedere DBMS_CLOUD Formati URI.

Questo attributo è obbligatorio per entrambe le pipeline LOAD e EXPORT.

LOAD, EXPORT N
priority

Specifica un valore stringa che determina il numero di operazioni parallele eseguite per la pipeline.

  • In una pipeline di caricamento, determina il numero di file caricati in parallelo.

  • In una pipeline di esportazione, determina il grado di parallelismo per il recupero dei dati dal database.

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

Valori validi:

  • HIGH: determina il numero di file paralleli gestiti utilizzando il conteggio ECPU del database (conteggio OCIPU 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: esegue il job di pipeline in ordine seriale.

Valore predefinito: MEDIUM

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

LOAD, EXPORT
query

Specifica un'istruzione SELECT in modo che vengano esportati solo i dati richiesti. La query determina il contenuto dei file esportati come file di testo (CSV, JSON, Parquet o XML) o file di dump.

Ad esempio:

SELECT warehouse_id, quantity FROM inventories

Valore predefinito: NULL

Per una pipeline di esportazione, table_name o query è obbligatorio.

EXPORT N
table_name

Specifica il nome della tabella di destinazione per il caricamento o l'esportazione dei dati.

Per una pipeline di caricamento table_name è obbligatorio.

Per una pipeline di esportazione, table_name o query è obbligatorio.

LOAD, EXPORT N
table_owner

Nome dello schema in cui risiede la tabella di destinazione per il caricamento o l'esportazione dei dati.

Valore predefinito: NULL

Con un valore NULL, la tabella di destinazione si trova nello stesso schema dell'utente che esegue la procedura.

LOAD, EXPORT N