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.
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.
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.
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.
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.
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.
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 , ?DfRangePartitionUpbound e ?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> | Sì | 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 |
Sì | / |
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> | Sì | connection |
Tabella | Tabella dei dati di destinazione. | <nome della tabella di destinazione> | Sì | / |
nome schema | Nome dello schema. | < nome dello schema > | Sì | schema |
nome tabella | Nome della tabella. | < nome della tabella > | Sì | 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 |
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per