Condividi tramite


Configurare il database Oracle in un'attività di copia

Questo articolo illustra come usare l'attività di copia nella pipeline di dati per copiare dati da e nel database Oracle.

Configurazione supportata

Per la configurazione di ogni scheda nell'attività di copia, passare rispettivamente alle sezioni seguenti.

Generali

Fare riferimento alle indicazioni generali sulle impostazioni per configurare la scheda Impostazioni generali .

Origine

Le proprietà seguenti sono supportate per il database Oracle nella scheda Origine di un'attività di copia.

Screenshot che mostra la scheda di origine e l'elenco delle proprietà.

Sono necessarie le proprietà seguenti:

  • Connessione: selezionare una connessione al database Oracle dall'elenco delle connessioni. Se non esiste alcuna connessione, creare una nuova connessione al database Oracle selezionando Altro nella parte inferiore dell'elenco di connessioni.
  • Usare query: selezionare da tabella o query.
    • Se si seleziona Tabella:

      • Tabella: specificare il nome della tabella nel database Oracle per leggere i dati. Selezionare la tabella dall'elenco a discesa oppure selezionare Invio manualmente per immettere lo schema e il nome della tabella.

        Screenshot che mostra Usa query - Tabella.

    • Se si seleziona Query:

      • Query: specificare la query SQL personalizzata per leggere i dati. Ad esempio: SELECT * FROM MyTable.

        Quando si abilita il caricamento partizionato, è necessario associare tutti i parametri di partizione predefiniti corrispondenti nella query. Per esempi, vedere la sezione Copia parallela dal database Oracle.

        Screenshot che mostra l'opzione Usa query - Query.

In Avanzate è possibile specificare i campi seguenti:

  • Opzione di partizione: specifica le opzioni di partizionamento dei dati usate per caricare i dati dal database Oracle. Quando un'opzione di partizione è abilitata (ovvero non Nessuno), il grado di parallelismo per caricare simultaneamente i dati da un database Oracle è controllato dal grado di parallelismo di copia nella scheda delle impostazioni dell'attività di copia.

    Se si seleziona Nessuno, si sceglie di non usare la partizione.

    Se si seleziona Partizioni fisiche della tabella:

    • Nomi di partizione: specificare l'elenco di partizioni fisiche che devono essere copiate.

      Se si usa una query per recuperare i dati di origine, associare ?DfTabularPartitionName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela dal database Oracle.

      Screenshot che mostra la configurazione quando si seleziona Partizioni fisiche della tabella.

    Se si seleziona Intervallo dinamico:

    • Nome colonna partizione: specificare il nome della colonna di origine nel tipo integer che verrà usato dal partizionamento dell'intervallo per la copia parallela. Se non specificato, la chiave primaria della tabella viene rilevata automaticamente e usata come colonna di partizione.

      Se si usa una query per recuperare i dati di origine, associare ?DfRangePartitionColumnName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela dal database Oracle.

    • Limite superiore della partizione: specificare il valore massimo della colonna della partizione per copiare i dati.

      Se si usa una query per recuperare i dati di origine, associare ?DfRangePartitionUpbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Copia parallela dal database Oracle.

    • Limite inferiore della partizione: specificare il valore minimo della colonna di partizione per copiare i dati.

      Se si usa una query per recuperare i dati di origine, associare ?DfRangePartitionLowbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Copia parallela dal database Oracle.

      Screenshot che mostra la configurazione quando si seleziona Intervallo dinamico.

  • Timeout query (minuti): specificare il timeout per l'esecuzione del comando di query, il valore predefinito è 120 minuti. Se per questa proprietà è impostato un parametro, i valori consentiti sono timepan, ad esempio "02:00:00" (120 minuti).

  • Colonne aggiuntive: aggiungere altre colonne di dati per archiviare il percorso relativo o il valore statico dei file di origine. L'espressione è supportata per quest'ultima.

Destinazione

Le proprietà seguenti sono supportate per il database Oracle nella scheda Destinazione di un'attività di copia.

Screenshot che mostra la scheda di destinazione.

Sono necessarie le proprietà seguenti:

  • Connessione: selezionare una connessione al database Oracle dall'elenco delle connessioni. Se la connessione non esiste, creare una nuova connessione al database Oracle selezionando Altro nella parte inferiore dell'elenco di connessioni.
  • Tabella: selezionare la tabella nel database dall'elenco a discesa. In alternativa, selezionare Immettere manualmente per immettere lo schema e il nome della tabella.

In Avanzate è possibile specificare i campi seguenti:

  • Script di pre-copia: specificare una query SQL per l'attività di copia da eseguire prima di scrivere dati nel database Oracle in ogni esecuzione. È possibile usare questa proprietà per pulire i dati precaricati.
  • Timeout del batch di scrittura: tempo di attesa per il completamento dell'operazione di inserimento batch prima del timeout. Il valore consentito è timespan. Ad esempio "00:30:00" (30 minuti).
  • Dimensioni batch di scrittura: specificare il numero di righe da inserire nella tabella di database Oracle per batch. Il valore consentito è integer (numero di righe). Il valore predefinito è 10.000.
  • Numero massimo di connessioni simultanee: limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee.

Mapping

Per La configurazione della scheda Mapping , passare a Configurare i mapping nella scheda Mapping.

Impostazione

Per la configurazione della scheda Impostazioni , vedere Configurare le altre impostazioni nella scheda Impostazioni.

Copia parallela dal database Oracle

Il connettore di database Oracle offre il partizionamento dei dati predefinito per copiare i dati dal database Oracle in parallelo. È possibile trovare le opzioni di partizionamento dei dati nella tabella Origine dell'attività di copia.

Quando si abilita la copia partizionata, il servizio esegue query parallele sull'origine del database Oracle per caricare i dati in base alle partizioni. Il grado parallelo è controllato dall'impostazione Degree of copy parallelism nella scheda delle impostazioni dell'attività di copia. Ad esempio, se si imposta Grado di parallelismo di copia su quattro, il servizio genera simultaneamente ed esegue quattro query in base all'opzione e alle impostazioni di partizione specificate e ogni query recupera una parte di dati dal database Oracle.

È consigliabile abilitare la copia parallela con il partizionamento dei dati, soprattutto quando si caricano grandi quantità di dati dal database Oracle. Di seguito sono riportate le configurazioni consigliate per i diversi scenari: Quando si copiano dati in un archivio dati basato su file, è consigliabile scrivere in una cartella come file multipli (specificare solo il nome della cartella); in tal caso, le prestazioni risultano migliori rispetto alla scrittura in un singolo file.

Scenario Impostazioni consigliate
Caricamento completo da una tabella di grandi dimensioni, con partizioni fisiche. Opzione di partizione: partizioni fisiche della tabella.

Durante l'esecuzione, il servizio rileva automaticamente le partizioni fisiche e copia i dati in base alle partizioni.
Caricamento completo da una tabella di grandi dimensioni, senza partizioni fisiche, mentre con una colonna integer per il partizionamento dei dati. Opzioni di partizione: partizione a intervalli dinamici.
Colonna di partizione: specificare la colonna usata per il partizionamento dei dati. Se non è specificato, viene usata la colonna della chiave primaria.
Caricare una grande quantità di dati usando una query personalizzata, con partizioni fisiche. Opzioni di partizione: partizioni fisiche della tabella.
Query: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause>.

Nome partizione: specificare i nomi della partizione da cui copiare i dati. Se non specificato, il servizio rileva automaticamente le partizioni fisiche nella tabella specificata nei dati del database Oracle.
Durante l'esecuzione, il servizio sostituisce ?DfTabularPartitionName con il nome effettivo della partizione e invia al database Oracle.
Caricare una grande quantità di dati usando una query personalizzata, senza partizioni fisiche, mentre con una colonna integer per il partizionamento dei dati. Opzioni di partizione: partizione a intervalli dinamici.
Query: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause>.
Colonna di partizione: specificare la colonna usata per il partizionamento dei dati. È possibile partizionare la colonna con il tipo di dati Integer.
Limite superiore della partizione e limite inferiore della partizione: specificare se si desidera filtrare in base alla colonna di partizione per recuperare i dati solo tra l'intervallo inferiore e quello superiore.

Durante l'esecuzione, il servizio sostituisce ?DfRangePartitionColumnName, ?DfRangePartitionUpbounde ?DfRangePartitionLowbound con il nome di colonna e gli intervalli di valori effettivi per ogni partizione e invia al database Oracle.
Ad esempio, se la colonna di partizione "ID" è impostata con il limite inferiore su 1 e il limite superiore come 80, con copia parallela impostata su 4, il servizio recupera i dati per 4 partizioni. Gli ID sono compresi tra [1,20], [21, 40], [41, 60], e [61, 80], rispettivamente.

Suggerimento

Quando si copiano dati da una tabella non partizionata, è possibile usare l'opzione di partizione "Intervallo dinamico" per eseguire il partizionamento su una colonna integer. Se i dati di origine non hanno tale tipo di colonna, è possibile sfruttare ORA_HASH funzione nella query di origine per generare una colonna e usarla come colonna di partizione.

Riepilogo tabella

Le tabelle seguenti contengono altre informazioni sull'attività di copia nel database Oracle.

Informazioni sull'origine

Nome Descrizione Valore Richiesto Proprietà script JSON
Connessione Connessione all'archivio dati di origine. <connessione al database Oracle> connection
Usare la query Modalità di lettura dei dati dal database Oracle. Applicare la tabella per leggere i dati dalla tabella specificata o applicare Query per leggere i dati usando query SQL. Tabella
Query
/
Per tabella
nome schema Nome dello schema. < nome dello schema > No schema
nome tabella Nome della tabella. < nome della tabella > No table
Per query
Query Usare la query SQL personalizzata per leggere i dati. Un esempio è SELECT * FROM MyTable.
Quando si abilita il caricamento partizionato, è necessario associare tutti i parametri di partizione predefiniti corrispondenti nella query. Per esempi, vedere la sezione Copia parallela dal database Oracle.
< Query SQL > No oracleReaderQuery
Opzione di partizione Opzioni di partizionamento dei dati usate per caricare dati dal database Oracle. Nessuno (impostazione predefinita)
Partizioni fisiche della tabella
Intervallo dinamico
No /
Per le partizioni fisiche della tabella
Nomi delle partizioni Elenco di partizioni fisiche da copiare. Se si usa una query per recuperare i dati di origine, associare ?DfTabularPartitionName nella clausola WHERE. < nomi di partizione > No partitionNames
Per Intervallo dinamico
Nome colonna partizione Specifica il nome della colonna di origine nel tipo Integer che verrà usata dal partizionamento dell'intervallo per la copia parallela. Se non specificato, la chiave primaria della tabella viene rilevata automaticamente e usata come colonna di partizione.
Se si usa una query per recuperare i dati di origine, associare ?DfRangePartitionColumnName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela dal database Oracle.
< nomi delle colonne di partizione > No partitionColumnName
Limite superiore della partizione Specificare il valore massimo della colonna della partizione per copiare i dati. Se si usa una query per recuperare i dati di origine, eseguire l'hook ?DfRangePartitionUpbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Copia parallela dal database Oracle. < limite superiore della partizione > No partitionUpperBound
Limite inferiore della partizione Specificare il valore minimo della colonna di partizione per copiare i dati. Se si usa una query per recuperare i dati di origine, eseguire l'hook ?DfRangePartitionLowbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Copia parallela dal database Oracle. < limite inferiore della partizione > No partitionLowerBound
Timeout query Il timeout per l'esecuzione del comando di query, il valore predefinito è 120 minuti. timespan No queryTimeout
Colonne aggiuntive Aggiungere altre colonne di dati per archiviare il percorso relativo o il valore statico dei file di origine. L'espressione è supportata per quest'ultima. • Name
•Valore
No additionalColumns:
•nome
•valore

Informazioni sulla destinazione

Nome Descrizione Valore Richiesto Proprietà script JSON
Connessione Connessione all'archivio dati di destinazione. <connessione al database Oracle> connection
Tabella Tabella dei dati di destinazione. <nome della tabella di destinazione> /
nome schema Nome dello schema. < nome dello schema > schema
nome tabella Nome della tabella. < nome della tabella > table
Script di pre-copia Query SQL per l'attività di copia da eseguire prima di scrivere dati nel database Oracle in ogni esecuzione. È possibile usare questa proprietà per pulire i dati precaricati. < script di pre-copia > No preCopyScript
Timeout del batch di scrittura Tempo di attesa per l'operazione di inserimento batch da completare prima del timeout. timespan No writeBatchTimeout
Dimensioni batch di scrittura Numero di righe da inserire nella tabella SQL per batch. integer
(il valore predefinito è 10.000)
No writeBatchSize
Numero massimo di connessioni simultanee Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. < numero massimo di connessioni simultanee > No maxConcurrentConnections